@commercetools-frontend/application-shell 20.10.5 → 20.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{application-entry-point-83ea80e3.cjs.prod.js → application-entry-point-52f79266.cjs.prod.js} +52 -52
- package/dist/{application-entry-point-b7c5325e.esm.js → application-entry-point-a7199847.esm.js} +3 -3
- package/dist/{application-entry-point-4b134bcb.cjs.dev.js → application-entry-point-ae4c00f2.cjs.dev.js} +55 -55
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +15 -41
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +15 -41
- package/dist/commercetools-frontend-application-shell.esm.js +2 -2
- package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +0 -5
- package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +13 -13
- package/dist/declarations/src/components/quick-access/butler-command/butler-command.d.ts +0 -11
- package/dist/declarations/src/types/generated/ctp.d.ts +3619 -3336
- package/dist/declarations/src/types/generated/mc.d.ts +189 -195
- package/dist/declarations/src/types/generated/proxy.d.ts +28 -28
- package/dist/declarations/src/types/generated/settings.d.ts +1425 -2504
- package/dist/declarations/src/version.d.ts +1 -1
- package/dist/{index-577c7a43.esm.js → index-1d2a788a.esm.js} +57 -45
- package/dist/{index-8605a9e1.cjs.prod.js → index-b2a644f6.cjs.prod.js} +230 -217
- package/dist/{index-82a5ea23.cjs.dev.js → index-fd0e0765.cjs.dev.js} +338 -326
- package/dist/{project-expired-5603cf9b.cjs.prod.js → project-expired-6f5d474a.cjs.prod.js} +7 -7
- package/dist/{project-expired-4a4db9c8.cjs.dev.js → project-expired-8a630330.cjs.dev.js} +7 -7
- package/dist/{project-expired-55c51196.esm.js → project-expired-b312aef3.esm.js} +3 -3
- package/dist/{project-not-found-f325728d.cjs.prod.js → project-not-found-19312707.cjs.prod.js} +7 -7
- package/dist/{project-not-found-efa7e5a7.esm.js → project-not-found-1c1a349f.esm.js} +3 -3
- package/dist/{project-not-found-33567915.cjs.dev.js → project-not-found-7bdc583e.cjs.dev.js} +7 -7
- package/dist/{project-not-initialized-68192fda.cjs.prod.js → project-not-initialized-10a1ce69.cjs.prod.js} +7 -7
- package/dist/{project-not-initialized-d396896e.cjs.dev.js → project-not-initialized-2f2ee69f.cjs.dev.js} +7 -7
- package/dist/{project-not-initialized-36c1617d.esm.js → project-not-initialized-8179abd1.esm.js} +3 -3
- package/dist/{project-suspended-69502d1e.esm.js → project-suspended-3e5b8d4f.esm.js} +3 -3
- package/dist/{project-suspended-e43ce7c2.cjs.prod.js → project-suspended-da1d5c10.cjs.prod.js} +7 -7
- package/dist/{project-suspended-61a15b65.cjs.dev.js → project-suspended-f541ad12.cjs.dev.js} +7 -7
- package/dist/{quick-access-1f9e885b.esm.js → quick-access-52ee94fa.esm.js} +9 -15
- package/dist/{quick-access-2e6398f7.cjs.prod.js → quick-access-592bdd5b.cjs.prod.js} +87 -87
- package/dist/{quick-access-57979158.cjs.dev.js → quick-access-8e4582e8.cjs.dev.js} +104 -110
- package/dist/{service-page-project-switcher-013404f5.esm.js → service-page-project-switcher-283ce683.esm.js} +1 -1
- package/dist/{service-page-project-switcher-ef90ae95.cjs.dev.js → service-page-project-switcher-8ccd2f3c.cjs.dev.js} +2 -2
- package/dist/{service-page-project-switcher-8efe2817.cjs.prod.js → service-page-project-switcher-c5ba651f.cjs.prod.js} +2 -2
- package/package.json +15 -17
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +25 -29
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +19 -23
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var applicationEntryPoint = require('./application-entry-point-
|
|
3
|
+
var applicationEntryPoint = require('./application-entry-point-ae4c00f2.cjs.dev.js');
|
|
4
4
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
5
5
|
var _styled = require('@emotion/styled/base');
|
|
6
6
|
var _pt = require('prop-types');
|
|
@@ -180,7 +180,7 @@ var createApolloContextForProxyForwardTo = function createApolloContextForProxyF
|
|
|
180
180
|
var getSelectedDataLocaleForProject = function getSelectedDataLocaleForProject(projectLocales) {
|
|
181
181
|
var cachedDataLocale = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.SELECTED_DATA_LOCALE); // Make sure the cached locale is listed in the selected project
|
|
182
182
|
|
|
183
|
-
var isCachedDataLocaleIncludedInProjectLanguages = _includesInstanceProperty__default[
|
|
183
|
+
var isCachedDataLocaleIncludedInProjectLanguages = _includesInstanceProperty__default["default"](projectLocales).call(projectLocales, cachedDataLocale || '');
|
|
184
184
|
|
|
185
185
|
if (cachedDataLocale && isCachedDataLocaleIncludedInProjectLanguages) return cachedDataLocale; // Pick the first locale from the list
|
|
186
186
|
|
|
@@ -210,14 +210,14 @@ var ProjectDataLocale = function ProjectDataLocale(props) {
|
|
|
210
210
|
};
|
|
211
211
|
|
|
212
212
|
ProjectDataLocale.propTypes = {
|
|
213
|
-
locales: _pt__default[
|
|
214
|
-
children: _pt__default[
|
|
213
|
+
locales: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired,
|
|
214
|
+
children: _pt__default["default"].func.isRequired
|
|
215
215
|
};
|
|
216
216
|
ProjectDataLocale.displayName = 'ProjectDataLocale';
|
|
217
217
|
|
|
218
|
-
function ownKeys$f(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
218
|
+
function ownKeys$f(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
219
219
|
|
|
220
|
-
function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default[
|
|
220
|
+
function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$f(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context4; _forEachInstanceProperty__default["default"](_context4 = ownKeys$f(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
221
221
|
|
|
222
222
|
var isPlainTrackingListValue = function isPlainTrackingListValue(value) {
|
|
223
223
|
return typeof value === 'string';
|
|
@@ -233,7 +233,7 @@ var isHtmlElement = function isHtmlElement(node) {
|
|
|
233
233
|
|
|
234
234
|
var getDataAttribute = function getDataAttribute(node, key) {
|
|
235
235
|
if (isHtmlElement(node)) {
|
|
236
|
-
var camelKey = camelcase__default[
|
|
236
|
+
var camelKey = camelcase__default["default"](key.replace(/^data-/, ''));
|
|
237
237
|
return node.dataset[camelKey];
|
|
238
238
|
}
|
|
239
239
|
|
|
@@ -268,7 +268,7 @@ var logTracking = function logTracking(_ref) {
|
|
|
268
268
|
},
|
|
269
269
|
isIgnored = _ref2.isIgnored;
|
|
270
270
|
|
|
271
|
-
var groupName = _concatInstanceProperty__default[
|
|
271
|
+
var groupName = _concatInstanceProperty__default["default"](_context = _concatInstanceProperty__default["default"](_context2 = "%cGTM ".concat(isIgnored ? '%cignoring' : '%cperforming', " %ctracking %c")).call(_context2, category, " %c")).call(_context, label || '');
|
|
272
272
|
|
|
273
273
|
applicationEntryPoint.logger.groupCollapsed(groupName, 'color: gray; font-weight: bold;', "color: ".concat(isIgnored ? 'orangered' : 'seagreen', "; font-weight: lighter;"), 'color: gray; font-weight: lighter;', 'color: goldenrod; font-style: normal;', 'color: cornflowerblue; font-style: normal;');
|
|
274
274
|
if (action) applicationEntryPoint.logger.log('%caction', 'color: cadetblue;', action);
|
|
@@ -347,7 +347,7 @@ var getHierarchy = function getHierarchy(node) {
|
|
|
347
347
|
parent = parent.parentNode;
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
_reverseInstanceProperty__default[
|
|
350
|
+
_reverseInstanceProperty__default["default"](hierarchy).call(hierarchy);
|
|
351
351
|
|
|
352
352
|
return hierarchy.join('-');
|
|
353
353
|
};
|
|
@@ -383,7 +383,7 @@ var eventHandler = function eventHandler(name, trackingEventList) {
|
|
|
383
383
|
if (!trackEvent) return;
|
|
384
384
|
if (trackEvent !== name) return;
|
|
385
385
|
|
|
386
|
-
var hierarchyKey = _reverseInstanceProperty__default[
|
|
386
|
+
var hierarchyKey = _reverseInstanceProperty__default["default"](hierarchy).call(hierarchy).join('-'); // The event map also serves as an allow list. This is really not intuitive
|
|
387
387
|
// by looking at the name.
|
|
388
388
|
// Since we don't want to have all caught events to be sent automatically
|
|
389
389
|
// but only certain events that we are interesting in actually tracking
|
|
@@ -427,7 +427,7 @@ var eventHandler = function eventHandler(name, trackingEventList) {
|
|
|
427
427
|
|
|
428
428
|
var events = ['click', 'change', 'drop'];
|
|
429
429
|
var boot = function boot(trackingEventList) {
|
|
430
|
-
_forEachInstanceProperty__default[
|
|
430
|
+
_forEachInstanceProperty__default["default"](events).call(events, function (event) {
|
|
431
431
|
var handler = eventHandler(event, trackingEventList);
|
|
432
432
|
window.addEventListener(event, handler, true);
|
|
433
433
|
});
|
|
@@ -488,7 +488,7 @@ var mapMetricToLabel = function mapMetricToLabel(metricName) {
|
|
|
488
488
|
};
|
|
489
489
|
|
|
490
490
|
var trackPerformance = function trackPerformance() {
|
|
491
|
-
new Perfume__default[
|
|
491
|
+
new Perfume__default["default"]({
|
|
492
492
|
analyticsTracker: function analyticsTracker(_ref) {
|
|
493
493
|
var metricName = _ref.metricName,
|
|
494
494
|
data = _ref.data;
|
|
@@ -615,8 +615,8 @@ var ConfigureIntlProvider = function ConfigureIntlProvider(props) {
|
|
|
615
615
|
};
|
|
616
616
|
|
|
617
617
|
ConfigureIntlProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
618
|
-
locale: _pt__default[
|
|
619
|
-
children: _pt__default[
|
|
618
|
+
locale: _pt__default["default"].string,
|
|
619
|
+
children: _pt__default["default"].node.isRequired
|
|
620
620
|
} : {};
|
|
621
621
|
ConfigureIntlProvider.displayName = 'ConfigureIntlProvider';
|
|
622
622
|
|
|
@@ -628,16 +628,16 @@ var buildOidcScope = function buildOidcScope(options) {
|
|
|
628
628
|
if (options.projectKey) {
|
|
629
629
|
var _context, _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
|
|
630
630
|
|
|
631
|
-
claims.push(_concatInstanceProperty__default[
|
|
632
|
-
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default[
|
|
631
|
+
claims.push(_concatInstanceProperty__default["default"](_context = "".concat(applicationEntryPoint.OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
|
|
632
|
+
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context2 = (_options$oAuthScopes$ = (_options$oAuthScopes = options.oAuthScopes) === null || _options$oAuthScopes === void 0 ? void 0 : _options$oAuthScopes.view) !== null && _options$oAuthScopes$ !== void 0 ? _options$oAuthScopes$ : []).call(_context2, function (scope) {
|
|
633
633
|
var _context3;
|
|
634
634
|
|
|
635
|
-
return _concatInstanceProperty__default[
|
|
635
|
+
return _concatInstanceProperty__default["default"](_context3 = "".concat(applicationEntryPoint.OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
|
|
636
636
|
})));
|
|
637
|
-
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default[
|
|
637
|
+
claims.push.apply(claims, _toConsumableArray(_mapInstanceProperty__default["default"](_context4 = (_options$oAuthScopes$2 = (_options$oAuthScopes2 = options.oAuthScopes) === null || _options$oAuthScopes2 === void 0 ? void 0 : _options$oAuthScopes2.manage) !== null && _options$oAuthScopes$2 !== void 0 ? _options$oAuthScopes$2 : []).call(_context4, function (scope) {
|
|
638
638
|
var _context5;
|
|
639
639
|
|
|
640
|
-
return _concatInstanceProperty__default[
|
|
640
|
+
return _concatInstanceProperty__default["default"](_context5 = "".concat(applicationEntryPoint.OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
|
|
641
641
|
})));
|
|
642
642
|
}
|
|
643
643
|
|
|
@@ -646,18 +646,18 @@ var buildOidcScope = function buildOidcScope(options) {
|
|
|
646
646
|
if (teamId) {
|
|
647
647
|
var _context6;
|
|
648
648
|
|
|
649
|
-
claims.push(_concatInstanceProperty__default[
|
|
649
|
+
claims.push(_concatInstanceProperty__default["default"](_context6 = "".concat(applicationEntryPoint.OIDC_CLAIMS.TEAM_ID, ":")).call(_context6, teamId));
|
|
650
650
|
}
|
|
651
651
|
|
|
652
|
-
return _concatInstanceProperty__default[
|
|
652
|
+
return _concatInstanceProperty__default["default"](_context7 = [// This is required as per OIDC spec.
|
|
653
653
|
applicationEntryPoint.OIDC_CLAIMS.OPEN_ID]).call(_context7, claims).join(' ');
|
|
654
654
|
};
|
|
655
655
|
|
|
656
656
|
var withoutProjectKeyClaim = function withoutProjectKeyClaim(scope) {
|
|
657
657
|
var _context;
|
|
658
658
|
|
|
659
|
-
return _filterInstanceProperty__default[
|
|
660
|
-
return !_startsWithInstanceProperty__default[
|
|
659
|
+
return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, function (claim) {
|
|
660
|
+
return !_startsWithInstanceProperty__default["default"](claim).call(claim, applicationEntryPoint.OIDC_CLAIMS.PROJECT_KEY);
|
|
661
661
|
}).join(' ');
|
|
662
662
|
};
|
|
663
663
|
|
|
@@ -809,9 +809,9 @@ var AmILoggedIn = function AmILoggedIn(props) {
|
|
|
809
809
|
|
|
810
810
|
AmILoggedIn.displayName = 'AmILoggedIn';
|
|
811
811
|
|
|
812
|
-
function ownKeys$e(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
812
|
+
function ownKeys$e(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
813
813
|
|
|
814
|
-
function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
814
|
+
function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$e(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$e(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
815
815
|
|
|
816
816
|
var redirectTo$1 = function redirectTo(targetUrl) {
|
|
817
817
|
applicationEntryPoint.location.replace(targetUrl);
|
|
@@ -827,7 +827,7 @@ var Redirector = function Redirector(props) {
|
|
|
827
827
|
|
|
828
828
|
var searchQuery = _objectSpread$e(_objectSpread$e({}, (_props$queryParams = props.queryParams) !== null && _props$queryParams !== void 0 ? _props$queryParams : {}), (_enhancedLocation$que = enhancedLocation.query) !== null && _enhancedLocation$que !== void 0 ? _enhancedLocation$que : {});
|
|
829
829
|
|
|
830
|
-
var targetUrlObject = new _URL__default[
|
|
830
|
+
var targetUrlObject = new _URL__default["default"](originUrl);
|
|
831
831
|
targetUrlObject.pathname = props.to || targetUrlObject.pathname;
|
|
832
832
|
targetUrlObject.search = "?".concat(qss.encode(searchQuery));
|
|
833
833
|
var targetUrl = targetUrlObject.toString();
|
|
@@ -838,20 +838,20 @@ var Redirector = function Redirector(props) {
|
|
|
838
838
|
};
|
|
839
839
|
|
|
840
840
|
Redirector.propTypes = {
|
|
841
|
-
to: _pt__default[
|
|
842
|
-
origin: _pt__default[
|
|
843
|
-
queryParams: _pt__default[
|
|
844
|
-
redirectTo: _pt__default[
|
|
845
|
-
client_id: _pt__default[
|
|
846
|
-
response_type: _pt__default[
|
|
847
|
-
scope: _pt__default[
|
|
848
|
-
state: _pt__default[
|
|
849
|
-
nonce: _pt__default[
|
|
841
|
+
to: _pt__default["default"].string.isRequired,
|
|
842
|
+
origin: _pt__default["default"].string,
|
|
843
|
+
queryParams: _pt__default["default"].shape({
|
|
844
|
+
redirectTo: _pt__default["default"].string,
|
|
845
|
+
client_id: _pt__default["default"].string,
|
|
846
|
+
response_type: _pt__default["default"].string,
|
|
847
|
+
scope: _pt__default["default"].string,
|
|
848
|
+
state: _pt__default["default"].string,
|
|
849
|
+
nonce: _pt__default["default"].string
|
|
850
850
|
})
|
|
851
851
|
};
|
|
852
852
|
Redirector.displayName = 'Redirector';
|
|
853
853
|
|
|
854
|
-
var Divider = _styled__default[
|
|
854
|
+
var Divider = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
|
|
855
855
|
target: "e57nw7s0"
|
|
856
856
|
} : {
|
|
857
857
|
target: "e57nw7s0",
|
|
@@ -870,29 +870,29 @@ var AuthCallbackErrorPage = function AuthCallbackErrorPage(props) {
|
|
|
870
870
|
locale: locale,
|
|
871
871
|
messages: messages,
|
|
872
872
|
children: jsxRuntime.jsx(applicationComponents.PublicPageLayout, {
|
|
873
|
-
children: jsxRuntime.jsx(Card__default[
|
|
874
|
-
children: jsxRuntime.jsxs(Spacings__default[
|
|
873
|
+
children: jsxRuntime.jsx(Card__default["default"], {
|
|
874
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
|
|
875
875
|
scale: "l",
|
|
876
|
-
children: [jsxRuntime.jsx(Spacings__default[
|
|
876
|
+
children: [jsxRuntime.jsx(Spacings__default["default"].Inline, {
|
|
877
877
|
justifyContent: "center",
|
|
878
878
|
children: jsxRuntime.jsx("img", {
|
|
879
|
-
src: FailedAuthenticationSVG__default[
|
|
879
|
+
src: FailedAuthenticationSVG__default["default"],
|
|
880
880
|
alt: "Failed authentication"
|
|
881
881
|
})
|
|
882
|
-
}), jsxRuntime.jsx(Text__default[
|
|
882
|
+
}), jsxRuntime.jsx(Text__default["default"].Headline, {
|
|
883
883
|
as: "h2",
|
|
884
884
|
children: 'Authentication error'
|
|
885
885
|
}), jsxRuntime.jsx(notifications.ContentNotification, {
|
|
886
886
|
type: "error",
|
|
887
|
-
children: jsxRuntime.jsx(Spacings__default[
|
|
887
|
+
children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
|
|
888
888
|
scale: "m",
|
|
889
|
-
children: jsxRuntime.jsx(Text__default[
|
|
889
|
+
children: jsxRuntime.jsx(Text__default["default"].Body, {
|
|
890
890
|
children: props.message
|
|
891
891
|
})
|
|
892
892
|
})
|
|
893
|
-
}), jsxRuntime.jsxs(Spacings__default[
|
|
893
|
+
}), jsxRuntime.jsxs(Spacings__default["default"].Stack, {
|
|
894
894
|
scale: "m",
|
|
895
|
-
children: [jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(FlatButton__default[
|
|
895
|
+
children: [jsxRuntime.jsx(Divider, {}), jsxRuntime.jsx(FlatButton__default["default"], {
|
|
896
896
|
label: "Try log in again",
|
|
897
897
|
icon: jsxRuntime.jsx(icons.AngleLeftIcon, {}),
|
|
898
898
|
onClick: function onClick() {
|
|
@@ -922,7 +922,7 @@ var OidcCallback = function OidcCallback(props) {
|
|
|
922
922
|
|
|
923
923
|
try {
|
|
924
924
|
if (sessionToken) {
|
|
925
|
-
decodedSessionToken = jwtDecode__default[
|
|
925
|
+
decodedSessionToken = jwtDecode__default["default"](sessionToken);
|
|
926
926
|
} else {
|
|
927
927
|
errorMessage = 'Invalid client session (missing sessionToken)';
|
|
928
928
|
}
|
|
@@ -957,7 +957,7 @@ var OidcCallback = function OidcCallback(props) {
|
|
|
957
957
|
|
|
958
958
|
if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
|
|
959
959
|
try {
|
|
960
|
-
var redirectToUrl = new _URL__default[
|
|
960
|
+
var redirectToUrl = new _URL__default["default"](sessionState.query.redirectTo);
|
|
961
961
|
return jsxRuntime.jsx(Redirector, {
|
|
962
962
|
to: redirectToUrl.pathname
|
|
963
963
|
});
|
|
@@ -973,9 +973,9 @@ var OidcCallback = function OidcCallback(props) {
|
|
|
973
973
|
|
|
974
974
|
OidcCallback.displayName = 'OidcCallback';
|
|
975
975
|
|
|
976
|
-
function ownKeys$d(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
976
|
+
function ownKeys$d(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
977
977
|
|
|
978
|
-
function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
978
|
+
function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$d(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$d(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
979
979
|
|
|
980
980
|
var Authenticated = function Authenticated(props) {
|
|
981
981
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2;
|
|
@@ -1049,9 +1049,9 @@ var trackingEventList = {
|
|
|
1049
1049
|
'Navigation-Support-links': 'Navigation-Support-links'
|
|
1050
1050
|
};
|
|
1051
1051
|
|
|
1052
|
-
function ownKeys$c(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
1052
|
+
function ownKeys$c(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1053
1053
|
|
|
1054
|
-
function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
1054
|
+
function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$c(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$c(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
1055
1055
|
// Expose a Context with the tracking functions.
|
|
1056
1056
|
// This context can be used by consumers to access the values by either:
|
|
1057
1057
|
// 1. using `<GtmContext.Consumer>`
|
|
@@ -1078,8 +1078,8 @@ var GtmBooter = function GtmBooter(props) {
|
|
|
1078
1078
|
};
|
|
1079
1079
|
|
|
1080
1080
|
GtmBooter.propTypes = {
|
|
1081
|
-
trackingEventList: _pt__default[
|
|
1082
|
-
children: _pt__default[
|
|
1081
|
+
trackingEventList: _pt__default["default"].objectOf(_pt__default["default"].oneOfType([_pt__default["default"].string, _pt__default["default"].objectOf(_pt__default["default"].string)])).isRequired,
|
|
1082
|
+
children: _pt__default["default"].node.isRequired
|
|
1083
1083
|
};
|
|
1084
1084
|
GtmBooter.displayName = 'GtmBooter';
|
|
1085
1085
|
|
|
@@ -1087,9 +1087,9 @@ var ApplicationLoader = function ApplicationLoader(props) {
|
|
|
1087
1087
|
return jsxRuntime.jsxs("div", {
|
|
1088
1088
|
css: /*#__PURE__*/react$2.css("display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;height:100vh;padding:", designSystem.customProperties.spacingL, ";>*+*{margin:", designSystem.customProperties.spacingL, " 0 0;}" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationLoader;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLWxvYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV1kiLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBMb2FkaW5nU3Bpbm5lciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IENUTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2N0LWxvZ28uc3ZnJztcblxudHlwZSBQcm9wcyA9IHtcbiAgc2hvd0xvZ28/OiBib29sZWFuO1xufTtcblxuY29uc3QgQXBwbGljYXRpb25Mb2FkZXIgPSAocHJvcHM6IFByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ0x9O1xuXG4gICAgICA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ0x9IDAgMDtcbiAgICAgIH1cbiAgICBgfVxuICAgIGRhdGEtdGVzdGlkPVwiYXBwbGljYXRpb24tbG9hZGVyXCJcbiAgPlxuICAgIDxMb2FkaW5nU3Bpbm5lciAvPlxuICAgIHtwcm9wcy5zaG93TG9nbyA9PT0gdHJ1ZSA/IChcbiAgICAgIDxpbWcgYWx0PVwiY29tbWVyY2V0b29scyBsb2dvXCIgc3JjPXtDVExvZ29TVkd9IC8+XG4gICAgKSA6IG51bGx9XG4gIDwvZGl2PlxuKTtcbkFwcGxpY2F0aW9uTG9hZGVyLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uTG9hZGVyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25Mb2FkZXI7XG4iXX0= */"),
|
|
1089
1089
|
"data-testid": "application-loader",
|
|
1090
|
-
children: [jsxRuntime.jsx(LoadingSpinner__default[
|
|
1090
|
+
children: [jsxRuntime.jsx(LoadingSpinner__default["default"], {}), props.showLogo === true ? jsxRuntime.jsx("img", {
|
|
1091
1091
|
alt: "commercetools logo",
|
|
1092
|
-
src: CTLogoSVG__default[
|
|
1092
|
+
src: CTLogoSVG__default["default"]
|
|
1093
1093
|
}) : null]
|
|
1094
1094
|
});
|
|
1095
1095
|
};
|
|
@@ -1107,14 +1107,14 @@ var messages$5 = reactIntl.defineMessages({
|
|
|
1107
1107
|
}
|
|
1108
1108
|
});
|
|
1109
1109
|
|
|
1110
|
-
function ownKeys$b(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
1110
|
+
function ownKeys$b(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1111
1111
|
|
|
1112
|
-
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
1112
|
+
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$b(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$b(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
1113
1113
|
|
|
1114
1114
|
var ErrorApologizer = function ErrorApologizer() {
|
|
1115
1115
|
var intl = reactIntl.useIntl();
|
|
1116
1116
|
return jsxRuntime.jsx(applicationComponents.MaintenancePageLayout, {
|
|
1117
|
-
imageSrc: UnexpectedErrorSVG__default[
|
|
1117
|
+
imageSrc: UnexpectedErrorSVG__default["default"],
|
|
1118
1118
|
title: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$b({}, messages$5.title)),
|
|
1119
1119
|
label: intl.formatMessage(messages$5.title),
|
|
1120
1120
|
paragraph1: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$b({}, messages$5.notifiedTeam))
|
|
@@ -1123,9 +1123,9 @@ var ErrorApologizer = function ErrorApologizer() {
|
|
|
1123
1123
|
|
|
1124
1124
|
ErrorApologizer.displayName = 'ErrorApologizer';
|
|
1125
1125
|
|
|
1126
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default[
|
|
1126
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
1127
1127
|
|
|
1128
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default[
|
|
1128
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
1129
1129
|
|
|
1130
1130
|
var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
1131
1131
|
_inherits(ErrorBoundary, _Component);
|
|
@@ -1143,7 +1143,7 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
1143
1143
|
args[_key] = arguments[_key];
|
|
1144
1144
|
}
|
|
1145
1145
|
|
|
1146
|
-
_this = _super.call.apply(_super, _concatInstanceProperty__default[
|
|
1146
|
+
_this = _super.call.apply(_super, _concatInstanceProperty__default["default"](_context = [this]).call(_context, args));
|
|
1147
1147
|
_this.state = {
|
|
1148
1148
|
hasError: false
|
|
1149
1149
|
};
|
|
@@ -1184,7 +1184,9 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
1184
1184
|
}
|
|
1185
1185
|
}], [{
|
|
1186
1186
|
key: "getDerivedStateFromError",
|
|
1187
|
-
value: function
|
|
1187
|
+
value: function
|
|
1188
|
+
/* error */
|
|
1189
|
+
getDerivedStateFromError() {
|
|
1188
1190
|
// Update state so the next render will show the fallback UI.
|
|
1189
1191
|
return {
|
|
1190
1192
|
hasError: true
|
|
@@ -1196,8 +1198,8 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
1196
1198
|
}(react.Component);
|
|
1197
1199
|
|
|
1198
1200
|
ErrorBoundary.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1199
|
-
pathname: _pt__default[
|
|
1200
|
-
children: _pt__default[
|
|
1201
|
+
pathname: _pt__default["default"].string,
|
|
1202
|
+
children: _pt__default["default"].node.isRequired
|
|
1201
1203
|
} : {};
|
|
1202
1204
|
|
|
1203
1205
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$6() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
@@ -1227,9 +1229,9 @@ var getBrowserLocale = function getBrowserLocale(win) {
|
|
|
1227
1229
|
return l10n.getSupportedLocale(browserLocale);
|
|
1228
1230
|
};
|
|
1229
1231
|
|
|
1230
|
-
function ownKeys$a(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
1232
|
+
function ownKeys$a(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1231
1233
|
|
|
1232
|
-
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default[
|
|
1234
|
+
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$a(Object(source), true)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$a(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
1233
1235
|
|
|
1234
1236
|
/**
|
|
1235
1237
|
* NOTE:
|
|
@@ -1263,7 +1265,7 @@ var getCoerceEnvironmentValue = function getCoerceEnvironmentValue(environmentVa
|
|
|
1263
1265
|
var shallowlyCoerceValues = function shallowlyCoerceValues(uncoercedEnvironmentValues) {
|
|
1264
1266
|
var _context;
|
|
1265
1267
|
|
|
1266
|
-
return _reduceInstanceProperty__default[
|
|
1268
|
+
return _reduceInstanceProperty__default["default"](_context = _Object$keys__default["default"](uncoercedEnvironmentValues)).call(_context, function (coercedEnvironmentValues, key) {
|
|
1267
1269
|
var uncoercedEnvironmentValue = uncoercedEnvironmentValues[key];
|
|
1268
1270
|
return _objectSpread$a(_objectSpread$a({}, coercedEnvironmentValues), {}, _defineProperty({}, key, getCoerceEnvironmentValue(uncoercedEnvironmentValue)));
|
|
1269
1271
|
}, {});
|
|
@@ -1337,13 +1339,13 @@ var ApplicationShellProvider = function ApplicationShellProvider(props) {
|
|
|
1337
1339
|
};
|
|
1338
1340
|
|
|
1339
1341
|
ApplicationShellProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1340
|
-
apolloClient: _pt__default[
|
|
1341
|
-
trackingEventList: _pt__default[
|
|
1342
|
-
children: _pt__default[
|
|
1342
|
+
apolloClient: _pt__default["default"].any,
|
|
1343
|
+
trackingEventList: _pt__default["default"].any,
|
|
1344
|
+
children: _pt__default["default"].func.isRequired
|
|
1343
1345
|
} : {};
|
|
1344
1346
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider'; // This is useful to inject a custom history object during tests
|
|
1345
1347
|
|
|
1346
|
-
ApplicationShellProvider.history = history__default[
|
|
1348
|
+
ApplicationShellProvider.history = history__default["default"];
|
|
1347
1349
|
|
|
1348
1350
|
var LoggedInUserQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchLoggedInUser" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "gravatarHash" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "firstName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "lastName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "language" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "numberFormat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "timeZone" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingId" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingGroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingSubgroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTeam" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTenant" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultProjectKey" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "businessRole" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "total" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }], loc: { start: 0, end: 516, source: { body: "query FetchLoggedInUser {\n user: me {\n id\n email\n gravatarHash\n firstName\n lastName\n language\n numberFormat\n timeZone\n launchdarklyTrackingId\n launchdarklyTrackingGroup\n launchdarklyTrackingSubgroup\n launchdarklyTrackingTeam\n launchdarklyTrackingTenant\n defaultProjectKey\n businessRole\n projects {\n total\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1349
1351
|
|
|
@@ -1368,7 +1370,7 @@ var FetchUser = function FetchUser(props) {
|
|
|
1368
1370
|
};
|
|
1369
1371
|
|
|
1370
1372
|
FetchUser.propTypes = {
|
|
1371
|
-
children: _pt__default[
|
|
1373
|
+
children: _pt__default["default"].func.isRequired
|
|
1372
1374
|
};
|
|
1373
1375
|
FetchUser.displayName = 'FetchUser';
|
|
1374
1376
|
|
|
@@ -1377,7 +1379,7 @@ var pushDependencyVersionCounter = function pushDependencyVersionCounter(_ref) {
|
|
|
1377
1379
|
return sdk.actions.post({
|
|
1378
1380
|
uri: '/metrics/counters',
|
|
1379
1381
|
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.MC_METRICS,
|
|
1380
|
-
payload: _JSON$stringify__default[
|
|
1382
|
+
payload: _JSON$stringify__default["default"](payload)
|
|
1381
1383
|
});
|
|
1382
1384
|
};
|
|
1383
1385
|
|
|
@@ -1446,15 +1448,15 @@ var FetchProject = function FetchProject(props) {
|
|
|
1446
1448
|
};
|
|
1447
1449
|
|
|
1448
1450
|
FetchProject.propTypes = {
|
|
1449
|
-
projectKey: _pt__default[
|
|
1450
|
-
skip: _pt__default[
|
|
1451
|
-
children: _pt__default[
|
|
1451
|
+
projectKey: _pt__default["default"].string.isRequired,
|
|
1452
|
+
skip: _pt__default["default"].bool,
|
|
1453
|
+
children: _pt__default["default"].func.isRequired
|
|
1452
1454
|
};
|
|
1453
1455
|
FetchProject.displayName = 'FetchProject';
|
|
1454
1456
|
|
|
1455
|
-
function ownKeys$9(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
1457
|
+
function ownKeys$9(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1456
1458
|
|
|
1457
|
-
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; _forEachInstanceProperty__default[
|
|
1459
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context6; _forEachInstanceProperty__default["default"](_context6 = ownKeys$9(Object(source), true)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context7; _forEachInstanceProperty__default["default"](_context7 = ownKeys$9(Object(source))).call(_context7, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
1458
1460
|
var FetchApplicationsMenu = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchApplicationsMenu" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "applicationsMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "navBar" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "shouldRenderDivider" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "menuVisibility" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "dataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "actionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "menuVisibility" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "actionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "dataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "appBar" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 849, source: { body: "query FetchApplicationsMenu {\n applicationsMenu {\n navBar {\n shouldRenderDivider\n key\n uriPath\n icon\n labelAllLocales {\n locale\n value\n }\n featureToggle\n menuVisibility\n permissions\n dataFences {\n group\n name\n type\n }\n actionRights {\n group\n name\n }\n submenu {\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n featureToggle\n menuVisibility\n permissions\n actionRights {\n group\n name\n }\n dataFences {\n group\n name\n type\n }\n }\n }\n appBar {\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n featureToggle\n permissions\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1459
1461
|
var supportedLocales = ['en', 'de', 'es', 'fr-FR', 'zh-CN', 'ja'];
|
|
1460
1462
|
var defaultApiUrl$1 = window.location.origin;
|
|
@@ -1466,8 +1468,8 @@ var mapLabelAllLocalesWithDefaults = function mapLabelAllLocalesWithDefaults(lab
|
|
|
1466
1468
|
// Map all supported locales with the given localized labels.
|
|
1467
1469
|
// If a locale is not defined in the config, we use the `default` label as the value.
|
|
1468
1470
|
// This is only needed for development as we're trying to map two different schemas.
|
|
1469
|
-
mappedLabelAllLocales = _mapInstanceProperty__default[
|
|
1470
|
-
var existingField = _findInstanceProperty__default[
|
|
1471
|
+
mappedLabelAllLocales = _mapInstanceProperty__default["default"](supportedLocales).call(supportedLocales, function (supportedLocale) {
|
|
1472
|
+
var existingField = _findInstanceProperty__default["default"](labelAllLocales).call(labelAllLocales, function (field) {
|
|
1471
1473
|
return field.locale === supportedLocale;
|
|
1472
1474
|
});
|
|
1473
1475
|
|
|
@@ -1480,7 +1482,7 @@ var mapLabelAllLocalesWithDefaults = function mapLabelAllLocalesWithDefaults(lab
|
|
|
1480
1482
|
} // Add the `__typename`.
|
|
1481
1483
|
|
|
1482
1484
|
|
|
1483
|
-
return _mapInstanceProperty__default[
|
|
1485
|
+
return _mapInstanceProperty__default["default"](mappedLabelAllLocales).call(mappedLabelAllLocales, function (field) {
|
|
1484
1486
|
return _objectSpread$9({
|
|
1485
1487
|
__typename: 'LocalizedField'
|
|
1486
1488
|
}, field);
|
|
@@ -1518,12 +1520,12 @@ var mapApplicationMenuConfigToGraqhQLQueryResult = function mapApplicationMenuCo
|
|
|
1518
1520
|
actionRights: (_menuLinks$actionRigh = menuLinks.actionRights) !== null && _menuLinks$actionRigh !== void 0 ? _menuLinks$actionRigh : null,
|
|
1519
1521
|
// @ts-ignore: not defined in schema, as it's only used internally.
|
|
1520
1522
|
dataFences: (_menuLinks$dataFences = menuLinks.dataFences) !== null && _menuLinks$dataFences !== void 0 ? _menuLinks$dataFences : null,
|
|
1521
|
-
submenu: _mapInstanceProperty__default[
|
|
1523
|
+
submenu: _mapInstanceProperty__default["default"](_context = menuLinks.submenuLinks).call(_context, function (submenuLink) {
|
|
1522
1524
|
var _context2, _context3, _submenuLink$featureT, _submenuLink$menuVisi, _submenuLink$actionRi, _submenuLink$dataFenc;
|
|
1523
1525
|
|
|
1524
1526
|
return {
|
|
1525
1527
|
__typename: 'BaseMenu',
|
|
1526
|
-
key: _concatInstanceProperty__default[
|
|
1528
|
+
key: _concatInstanceProperty__default["default"](_context2 = "".concat(entryPointUriPath, "-")).call(_context2, submenuLink.uriPath),
|
|
1527
1529
|
// The `uriPath` of each submenu link is supposed to be defined relative
|
|
1528
1530
|
// to the entry point URI path.
|
|
1529
1531
|
// However, when rendering the link, we need to provide the full uri path.
|
|
@@ -1531,7 +1533,7 @@ var mapApplicationMenuConfigToGraqhQLQueryResult = function mapApplicationMenuCo
|
|
|
1531
1533
|
// treated the same as the entry point uri path. In this case, the return value
|
|
1532
1534
|
// should not contain any unnecessary trailing slash and therefore we return the
|
|
1533
1535
|
// main value `entryPointUriPath`.
|
|
1534
|
-
uriPath: submenuLink.uriPath === '/' ? entryPointUriPath : _concatInstanceProperty__default[
|
|
1536
|
+
uriPath: submenuLink.uriPath === '/' ? entryPointUriPath : _concatInstanceProperty__default["default"](_context3 = "".concat(entryPointUriPath, "/")).call(_context3, submenuLink.uriPath),
|
|
1535
1537
|
labelAllLocales: mapLabelAllLocalesWithDefaults(submenuLink.labelAllLocales, submenuLink.defaultLabel),
|
|
1536
1538
|
permissions: submenuLink.permissions,
|
|
1537
1539
|
// @ts-ignore: not defined in schema, as it's only used internally.
|
|
@@ -1545,7 +1547,7 @@ var mapApplicationMenuConfigToGraqhQLQueryResult = function mapApplicationMenuCo
|
|
|
1545
1547
|
};
|
|
1546
1548
|
})
|
|
1547
1549
|
}] : [],
|
|
1548
|
-
appBar: _mapInstanceProperty__default[
|
|
1550
|
+
appBar: _mapInstanceProperty__default["default"](accountLinks).call(accountLinks, function (menuLink) {
|
|
1549
1551
|
var _menuLink$featureTogg;
|
|
1550
1552
|
|
|
1551
1553
|
return {
|
|
@@ -1574,7 +1576,7 @@ var mapLegacyMenuJsonToGraphQLQueryResult = function mapLegacyMenuJsonToGraphQLQ
|
|
|
1574
1576
|
applicationsMenu: {
|
|
1575
1577
|
__typename: 'ApplicationsMenu',
|
|
1576
1578
|
// @ts-ignore: to suppress `featureToggle` error.
|
|
1577
|
-
navBar: menuKey === 'navBar' ? _mapInstanceProperty__default[
|
|
1579
|
+
navBar: menuKey === 'navBar' ? _mapInstanceProperty__default["default"](menuJson).call(menuJson, function (data) {
|
|
1578
1580
|
var _menuLink$featureTogg2, _menuLink$menuVisibil, _menuLink$actionRight, _menuLink$dataFences, _context4;
|
|
1579
1581
|
|
|
1580
1582
|
var menuLink = data;
|
|
@@ -1595,12 +1597,12 @@ var mapLegacyMenuJsonToGraphQLQueryResult = function mapLegacyMenuJsonToGraphQLQ
|
|
|
1595
1597
|
actionRights: (_menuLink$actionRight = menuLink.actionRights) !== null && _menuLink$actionRight !== void 0 ? _menuLink$actionRight : null,
|
|
1596
1598
|
// @ts-ignore: not defined in schema, as it's only used internally.
|
|
1597
1599
|
dataFences: (_menuLink$dataFences = menuLink.dataFences) !== null && _menuLink$dataFences !== void 0 ? _menuLink$dataFences : null,
|
|
1598
|
-
submenu: _mapInstanceProperty__default[
|
|
1600
|
+
submenu: _mapInstanceProperty__default["default"](_context4 = menuLink.submenu).call(_context4, function (submenuLink) {
|
|
1599
1601
|
var _context5, _submenuLink$featureT2, _submenuLink$menuVisi2, _submenuLink$actionRi2, _submenuLink$dataFenc2;
|
|
1600
1602
|
|
|
1601
1603
|
return {
|
|
1602
1604
|
__typename: 'BaseMenu',
|
|
1603
|
-
key: _concatInstanceProperty__default[
|
|
1605
|
+
key: _concatInstanceProperty__default["default"](_context5 = "".concat(menuLink.uriPath, "-")).call(_context5, submenuLink.uriPath),
|
|
1604
1606
|
uriPath: submenuLink.uriPath,
|
|
1605
1607
|
labelAllLocales: mapLabelAllLocalesWithDefaults(submenuLink.labelAllLocales),
|
|
1606
1608
|
permissions: submenuLink.permissions,
|
|
@@ -1617,7 +1619,7 @@ var mapLegacyMenuJsonToGraphQLQueryResult = function mapLegacyMenuJsonToGraphQLQ
|
|
|
1617
1619
|
};
|
|
1618
1620
|
}) : [],
|
|
1619
1621
|
// @ts-ignore: to suppress `featureToggle` error.
|
|
1620
|
-
appBar: menuKey === 'appBar' ? _mapInstanceProperty__default[
|
|
1622
|
+
appBar: menuKey === 'appBar' ? _mapInstanceProperty__default["default"](menuJson).call(menuJson, function (menuLink) {
|
|
1621
1623
|
var _menuLink$featureTogg3;
|
|
1622
1624
|
|
|
1623
1625
|
return {
|
|
@@ -1676,7 +1678,7 @@ function useApplicationsMenu(menuKey, config) {
|
|
|
1676
1678
|
});
|
|
1677
1679
|
} else if (!config.environment.servedByProxy && config.loadMenuConfig) {
|
|
1678
1680
|
config.loadMenuConfig().then(function (menuConfig) {
|
|
1679
|
-
var menuJson = _Array$isArray__default[
|
|
1681
|
+
var menuJson = _Array$isArray__default["default"](menuConfig) ? menuConfig : [menuConfig];
|
|
1680
1682
|
var applicationMenu = mapLegacyMenuJsonToGraphQLQueryResult(menuKey, menuJson);
|
|
1681
1683
|
apolloClient.writeQuery({
|
|
1682
1684
|
query: FetchApplicationsMenu,
|
|
@@ -1726,9 +1728,9 @@ var messages$4 = reactIntl.defineMessages({
|
|
|
1726
1728
|
}
|
|
1727
1729
|
});
|
|
1728
1730
|
|
|
1729
|
-
function ownKeys$8(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
1731
|
+
function ownKeys$8(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1730
1732
|
|
|
1731
|
-
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default[
|
|
1733
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$8(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context4; _forEachInstanceProperty__default["default"](_context4 = ownKeys$8(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
1732
1734
|
|
|
1733
1735
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
1734
1736
|
|
|
@@ -1747,9 +1749,9 @@ var UserAvatar = function UserAvatar(props) {
|
|
|
1747
1749
|
return jsxRuntime.jsx("div", {
|
|
1748
1750
|
onMouseOver: handleMouseOver,
|
|
1749
1751
|
onMouseOut: handleMouseOut,
|
|
1750
|
-
children: jsxRuntime.jsxs(Spacings__default[
|
|
1752
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
1751
1753
|
alignItems: "center",
|
|
1752
|
-
children: [jsxRuntime.jsx(Avatar__default[
|
|
1754
|
+
children: [jsxRuntime.jsx(Avatar__default["default"], {
|
|
1753
1755
|
gravatarHash: props.gravatarHash,
|
|
1754
1756
|
firstName: props.firstName,
|
|
1755
1757
|
lastName: props.lastName,
|
|
@@ -1776,7 +1778,7 @@ var stateReducer = function stateReducer(state, changes) {
|
|
|
1776
1778
|
switch (changes.type) {
|
|
1777
1779
|
// So in case the user wants to navigate with the tab button
|
|
1778
1780
|
// we need to make sure that the menu does not close
|
|
1779
|
-
case Downshift__default[
|
|
1781
|
+
case Downshift__default["default"].stateChangeTypes.blurButton:
|
|
1780
1782
|
return _objectSpread$8(_objectSpread$8({}, changes), {}, {
|
|
1781
1783
|
isOpen: (_ref3 = state.isOpen && getIsFocusedElementInMenu()) !== null && _ref3 !== void 0 ? _ref3 : false
|
|
1782
1784
|
});
|
|
@@ -1800,29 +1802,29 @@ var OptionalFeatureToggle = function OptionalFeatureToggle(props) {
|
|
|
1800
1802
|
};
|
|
1801
1803
|
|
|
1802
1804
|
OptionalFeatureToggle.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1803
|
-
featureToggle: _pt__default[
|
|
1804
|
-
children: _pt__default[
|
|
1805
|
+
featureToggle: _pt__default["default"].string,
|
|
1806
|
+
children: _pt__default["default"].node.isRequired
|
|
1805
1807
|
} : {};
|
|
1806
1808
|
|
|
1807
1809
|
var renderLabel = function renderLabel(menu, applicationLanguage) {
|
|
1808
1810
|
var _context;
|
|
1809
1811
|
|
|
1810
|
-
var localizedLabel = _findInstanceProperty__default[
|
|
1811
|
-
return _startsWithInstanceProperty__default[
|
|
1812
|
+
var localizedLabel = _findInstanceProperty__default["default"](_context = menu.labelAllLocales).call(_context, function (loc) {
|
|
1813
|
+
return _startsWithInstanceProperty__default["default"](applicationLanguage).call(applicationLanguage, loc.locale);
|
|
1812
1814
|
});
|
|
1813
1815
|
|
|
1814
1816
|
if (localizedLabel) return localizedLabel.value;
|
|
1815
1817
|
return constants.NO_VALUE_FALLBACK;
|
|
1816
1818
|
};
|
|
1817
1819
|
|
|
1818
|
-
var MenuItem$1 = _styled__default[
|
|
1820
|
+
var MenuItem$1 = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
|
|
1819
1821
|
target: "e1al5ftg0"
|
|
1820
1822
|
} : {
|
|
1821
1823
|
target: "e1al5ftg0",
|
|
1822
1824
|
label: "MenuItem"
|
|
1823
1825
|
})("width:100%;cursor:pointer;color:", designSystem.customProperties.colorSolid, ";:hover{background-color:", designSystem.customProperties.colorNeutral90, ";}", function (props) {
|
|
1824
|
-
return props.hasDivider === true ? /*#__PURE__*/react$2.css("border-bottom:1px solid ", designSystem.customProperties.colorNeutral, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuItem;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0hXIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnMsIERvd25zaGlmdFByb3BzIH0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25zTWVudSxcbiAgVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5LFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VJbnRsLCBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgRG93bnNoaWZ0IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgeyBUb2dnbGVGZWF0dXJlIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgeyBDYXJldERvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcblxudHlwZSBQcm9wcyA9IFBpY2s8XG4gIFRVc2VyLFxuICAnbGFuZ3VhZ2UnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsJyB8ICdncmF2YXRhckhhc2gnXG4+ICYge1xuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG59O1xudHlwZSBNZW51Qm9keVByb3BzID0gUHJvcHMgJiB7XG4gIGRvd25zaGlmdFByb3BzOiBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzPHt9Pjtcbn07XG50eXBlIE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzRGl2aWRlcj86IGJvb2xlYW47XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0ZWQ9e2lzTW91c2VPdmVyfVxuICAgICAgICAvPlxuICAgICAgICA8Q2FyZXREb3duSWNvblxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgY29sb3I9e2lzTW91c2VPdmVyID8gJ25ldXRyYWw2MCcgOiAnc29saWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG5jb25zdCBPcHRpb25hbEZlYXR1cmVUb2dnbGUgPSAocHJvcHM6IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb2dnbGVGZWF0dXJlIGZsYWc9e3Byb3BzLmZlYXR1cmVUb2dnbGV9Pntwcm9wcy5jaGlsZHJlbn08L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgcmVuZGVyTGFiZWwgPSAoXG4gIG1lbnU6IE1lbnVDb25maWcsXG4gIGFwcGxpY2F0aW9uTGFuZ3VhZ2U6IFByb3BzWydsYW5ndWFnZSddXG4pID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBtZW51LmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgYXBwbGljYXRpb25MYW5ndWFnZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIGxvY2FsaXplZExhYmVsLnZhbHVlO1xuICByZXR1cm4gTk9fVkFMVUVfRkFMTEJBQ0s7XG59O1xuXG5jb25zdCBNZW51SXRlbSA9IHN0eWxlZC5kaXY8TWVudUl0ZW1Qcm9wcz5gXG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsOTB9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWx9O1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcyA9ICgpID0+IGNzc2BcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51Qm9keSA9IChwcm9wczogTWVudUJvZHlQcm9wcykgPT4ge1xuICAvLyBGb2N1cyBvbiBhIG1lbnUgaXRlbSB3aGVuIGl0J3Mgb3BlbmVkIHRocm91Z2gga2V5Ym9hcmRcbiAgY29uc3QgbWVudUVsZW1lbnRSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1lbnVFbGVtZW50UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBlbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudCk7XG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgb25FcnJvcjogcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgICB9LFxuICAgIGVudmlyb25tZW50LFxuICAgIGxvYWRNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWcsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3JkZXI6IDFweCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5NDB9IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3c3fTtcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ1hzfTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJ4c1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpc0JvbGQ+XG4gICAgICAgICAgICAgICAge1twcm9wcy5maXJzdE5hbWUsIHByb3BzLmxhc3ROYW1lXS5qb2luKCcgJykudHJpbSgpfVxuICAgICAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSB0cnVuY2F0ZT57cHJvcHMuZW1haWx9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAge2FwcGxpY2F0aW9uc0FwcEJhck1lbnU/Lm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAgICAgdG89e2AvYWNjb3VudC8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwobWVudSwgcHJvcHMubGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByaXZhY3lQb2xpY3l9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvbi1TdXBwb3J0LWxpbmtzXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWV2ZW50PVwiY2xpY2tcIlxuICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJzdXBwb3J0X3RleHRsaW5rXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAvLyBOT1RFOiB3ZSB3YW50IHRvIHJlZGlyZWN0IHRvIGEgbmV3IHBhZ2Ugc28gdGhhdCB0aGVcbiAgICAgICAgICAvLyBzZXJ2ZXIgY2FuIHJlbW92ZSB0aGluZ3MgbGlrZSBjb29raWUgZm9yIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgICBocmVmPXtgL2xvZ291dD9yZWFzb249JHtMT0dPVVRfUkVBU09OUy5VU0VSfWB9XG4gICAgICAgICAgZGF0YS10ZXN0PVwibG9nb3V0LWJ1dHRvblwiXG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLmxvZ291dH0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICA8ZGl2IHRhYkluZGV4PXswfSBvbkZvY3VzPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKX0gLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlclNldHRpbmdzTWVudUJvZHkuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudUJvZHknO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51ID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLXRlc3Q9XCJ1c2VyLXNldHRpbmdzLW1lbnVcIj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgcm9sZT1cInVzZXItbWVudS10b2dnbGVcIlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgey4uLmRvd25zaGlmdFByb3BzLmdldFRvZ2dsZUJ1dHRvblByb3BzKHtcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzLmlzT3BlblxuICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzLmNsb3NlTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICAgIDogbWVzc2FnZXMub3Blbk1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VXNlckF2YXRhclxuICAgICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAge2Rvd25zaGlmdFByb3BzLmlzT3BlbiAmJiAoXG4gICAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51Qm9keVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcz17ZG93bnNoaWZ0UHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9Eb3duc2hpZnQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlclNldHRpbmdzTWVudS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51JztcblxuZXhwb3J0IGRlZmF1bHQgVXNlclNldHRpbmdzTWVudTtcblxuLy8gRm9yIHRlc3RpbmdcbmV4cG9ydCB7IFVzZXJBdmF0YXIsIFVzZXJTZXR0aW5nc01lbnVCb2R5IH07XG4iXX0= */") : '';
|
|
1825
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0gwQyIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgL2FjY291bnQvJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICAgICAge3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb24tU3VwcG9ydC1saW5rc1wiXG4gICAgICAgICAgZGF0YS10cmFjay1ldmVudD1cImNsaWNrXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwic3VwcG9ydF90ZXh0bGlua1wiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgLy8gTk9URTogd2Ugd2FudCB0byByZWRpcmVjdCB0byBhIG5ldyBwYWdlIHNvIHRoYXQgdGhlXG4gICAgICAgICAgLy8gc2VydmVyIGNhbiByZW1vdmUgdGhpbmdzIGxpa2UgY29va2llIGZvciBhY2Nlc3MgdG9rZW4uXG4gICAgICAgICAgaHJlZj17YC9sb2dvdXQ/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2dvdXR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHJvbGU9XCJ1c2VyLW1lbnUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */"));
|
|
1826
|
+
return props.hasDivider === true ? /*#__PURE__*/react$2.css("border-bottom:1px solid ", designSystem.customProperties.colorNeutral, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuItem;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0hXIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnMsIERvd25zaGlmdFByb3BzIH0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25zTWVudSxcbiAgVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5LFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VJbnRsLCBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgRG93bnNoaWZ0IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgeyBUb2dnbGVGZWF0dXJlIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgeyBDYXJldERvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcblxudHlwZSBQcm9wcyA9IFBpY2s8XG4gIFRVc2VyLFxuICAnbGFuZ3VhZ2UnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsJyB8ICdncmF2YXRhckhhc2gnXG4+ICYge1xuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG59O1xudHlwZSBNZW51Qm9keVByb3BzID0gUHJvcHMgJiB7XG4gIGRvd25zaGlmdFByb3BzOiBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzPHt9Pjtcbn07XG50eXBlIE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzRGl2aWRlcj86IGJvb2xlYW47XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0ZWQ9e2lzTW91c2VPdmVyfVxuICAgICAgICAvPlxuICAgICAgICA8Q2FyZXREb3duSWNvblxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgY29sb3I9e2lzTW91c2VPdmVyID8gJ25ldXRyYWw2MCcgOiAnc29saWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG5jb25zdCBPcHRpb25hbEZlYXR1cmVUb2dnbGUgPSAocHJvcHM6IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb2dnbGVGZWF0dXJlIGZsYWc9e3Byb3BzLmZlYXR1cmVUb2dnbGV9Pntwcm9wcy5jaGlsZHJlbn08L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgcmVuZGVyTGFiZWwgPSAoXG4gIG1lbnU6IE1lbnVDb25maWcsXG4gIGFwcGxpY2F0aW9uTGFuZ3VhZ2U6IFByb3BzWydsYW5ndWFnZSddXG4pID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBtZW51LmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgYXBwbGljYXRpb25MYW5ndWFnZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIGxvY2FsaXplZExhYmVsLnZhbHVlO1xuICByZXR1cm4gTk9fVkFMVUVfRkFMTEJBQ0s7XG59O1xuXG5jb25zdCBNZW51SXRlbSA9IHN0eWxlZC5kaXY8TWVudUl0ZW1Qcm9wcz5gXG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsOTB9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWx9O1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcyA9ICgpID0+IGNzc2BcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51Qm9keSA9IChwcm9wczogTWVudUJvZHlQcm9wcykgPT4ge1xuICAvLyBGb2N1cyBvbiBhIG1lbnUgaXRlbSB3aGVuIGl0J3Mgb3BlbmVkIHRocm91Z2gga2V5Ym9hcmRcbiAgY29uc3QgbWVudUVsZW1lbnRSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1lbnVFbGVtZW50UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBlbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudCk7XG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgb25FcnJvcjogcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgICB9LFxuICAgIGVudmlyb25tZW50LFxuICAgIGxvYWRNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWcsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3JkZXI6IDFweCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5NDB9IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3c3fTtcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ1hzfTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJ4c1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpc0JvbGQ+XG4gICAgICAgICAgICAgICAge1twcm9wcy5maXJzdE5hbWUsIHByb3BzLmxhc3ROYW1lXS5qb2luKCcgJykudHJpbSgpfVxuICAgICAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSB0cnVuY2F0ZT57cHJvcHMuZW1haWx9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAge2FwcGxpY2F0aW9uc0FwcEJhck1lbnU/Lm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgL2FjY291bnQvJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICAgICAge3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb24tU3VwcG9ydC1saW5rc1wiXG4gICAgICAgICAgZGF0YS10cmFjay1ldmVudD1cImNsaWNrXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwic3VwcG9ydF90ZXh0bGlua1wiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgLy8gTk9URTogd2Ugd2FudCB0byByZWRpcmVjdCB0byBhIG5ldyBwYWdlIHNvIHRoYXQgdGhlXG4gICAgICAgICAgLy8gc2VydmVyIGNhbiByZW1vdmUgdGhpbmdzIGxpa2UgY29va2llIGZvciBhY2Nlc3MgdG9rZW4uXG4gICAgICAgICAgaHJlZj17YC9sb2dvdXQ/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2dvdXR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHJvbGU9XCJ1c2VyLW1lbnUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */") : '';
|
|
1827
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0gwQyIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC9hY2NvdW50LyR7bWVudS51cmlQYXRofWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICAgICAgcmVmPXttZW51RWxlbWVudFJlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L09wdGlvbmFsRmVhdHVyZVRvZ2dsZT5cbiAgICAgICAgKSl9XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17YGh0dHBzOi8vY29tbWVyY2V0b29scy5jb20vcHJpdmFjeSNzdXBwbGllcnNgfVxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgcmVmPXshYXBwbGljYXRpb25zQXBwQmFyTWVudSA/IG1lbnVFbGVtZW50UmVmIDogdW5kZWZpbmVkfVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17U1VQUE9SVF9QT1JUQUxfVVJMfVxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJOYXZpZ2F0aW9uLVN1cHBvcnQtbGlua3NcIlxuICAgICAgICAgIGRhdGEtdHJhY2stZXZlbnQ9XCJjbGlja1wiXG4gICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cInN1cHBvcnRfdGV4dGxpbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuc3VwcG9ydH0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvbG9nb3V0P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPERvd25zaGlmdCBzdGF0ZVJlZHVjZXI9e3N0YXRlUmVkdWNlcn0+XG4gICAgICAgIHsoZG93bnNoaWZ0UHJvcHMpID0+IChcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICByb2xlPVwidXNlci1tZW51LXRvZ2dsZVwiXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */"));
|
|
1826
1828
|
|
|
1827
1829
|
var _ref2$3 = process.env.NODE_ENV === "production" ? {
|
|
1828
1830
|
name: "4zleql",
|
|
@@ -1830,7 +1832,7 @@ var _ref2$3 = process.env.NODE_ENV === "production" ? {
|
|
|
1830
1832
|
} : {
|
|
1831
1833
|
name: "1h437nn-getUserSettingsMenuItemLinkStyles",
|
|
1832
1834
|
styles: "display:block;label:getUserSettingsMenuItemLinkStyles;",
|
|
1833
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUltRCIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgL2FjY291bnQvJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICAgICAge3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb24tU3VwcG9ydC1saW5rc1wiXG4gICAgICAgICAgZGF0YS10cmFjay1ldmVudD1cImNsaWNrXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwic3VwcG9ydF90ZXh0bGlua1wiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgLy8gTk9URTogd2Ugd2FudCB0byByZWRpcmVjdCB0byBhIG5ldyBwYWdlIHNvIHRoYXQgdGhlXG4gICAgICAgICAgLy8gc2VydmVyIGNhbiByZW1vdmUgdGhpbmdzIGxpa2UgY29va2llIGZvciBhY2Nlc3MgdG9rZW4uXG4gICAgICAgICAgaHJlZj17YC9sb2dvdXQ/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2dvdXR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHJvbGU9XCJ1c2VyLW1lbnUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */",
|
|
1835
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUltRCIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC9hY2NvdW50LyR7bWVudS51cmlQYXRofWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICAgICAgcmVmPXttZW51RWxlbWVudFJlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L09wdGlvbmFsRmVhdHVyZVRvZ2dsZT5cbiAgICAgICAgKSl9XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17YGh0dHBzOi8vY29tbWVyY2V0b29scy5jb20vcHJpdmFjeSNzdXBwbGllcnNgfVxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgcmVmPXshYXBwbGljYXRpb25zQXBwQmFyTWVudSA/IG1lbnVFbGVtZW50UmVmIDogdW5kZWZpbmVkfVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17U1VQUE9SVF9QT1JUQUxfVVJMfVxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJOYXZpZ2F0aW9uLVN1cHBvcnQtbGlua3NcIlxuICAgICAgICAgIGRhdGEtdHJhY2stZXZlbnQ9XCJjbGlja1wiXG4gICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cInN1cHBvcnRfdGV4dGxpbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuc3VwcG9ydH0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvbG9nb3V0P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPERvd25zaGlmdCBzdGF0ZVJlZHVjZXI9e3N0YXRlUmVkdWNlcn0+XG4gICAgICAgIHsoZG93bnNoaWZ0UHJvcHMpID0+IChcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICByb2xlPVwidXNlci1tZW51LXRvZ2dsZVwiXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */",
|
|
1834
1836
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
1835
1837
|
};
|
|
1836
1838
|
|
|
@@ -1864,30 +1866,32 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1864
1866
|
props.downshiftProps.closeMenu();
|
|
1865
1867
|
}
|
|
1866
1868
|
},
|
|
1867
|
-
css: /*#__PURE__*/react$2.css("position:absolute;background:", designSystem.customProperties.colorSurface, ";border:1px ", designSystem.customProperties.colorPrimary40, " solid;border-radius:", designSystem.customProperties.borderRadius6, ";box-shadow:", designSystem.customProperties.shadow7, ";width:315px;right:14px;top:40px;padding:", designSystem.customProperties.spacingXs, ";overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:UserSettingsMenuBody;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUtjIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnMsIERvd25zaGlmdFByb3BzIH0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25zTWVudSxcbiAgVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5LFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VJbnRsLCBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgRG93bnNoaWZ0IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgeyBUb2dnbGVGZWF0dXJlIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgeyBDYXJldERvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcblxudHlwZSBQcm9wcyA9IFBpY2s8XG4gIFRVc2VyLFxuICAnbGFuZ3VhZ2UnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsJyB8ICdncmF2YXRhckhhc2gnXG4+ICYge1xuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG59O1xudHlwZSBNZW51Qm9keVByb3BzID0gUHJvcHMgJiB7XG4gIGRvd25zaGlmdFByb3BzOiBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzPHt9Pjtcbn07XG50eXBlIE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzRGl2aWRlcj86IGJvb2xlYW47XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0ZWQ9e2lzTW91c2VPdmVyfVxuICAgICAgICAvPlxuICAgICAgICA8Q2FyZXREb3duSWNvblxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgY29sb3I9e2lzTW91c2VPdmVyID8gJ25ldXRyYWw2MCcgOiAnc29saWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG5jb25zdCBPcHRpb25hbEZlYXR1cmVUb2dnbGUgPSAocHJvcHM6IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb2dnbGVGZWF0dXJlIGZsYWc9e3Byb3BzLmZlYXR1cmVUb2dnbGV9Pntwcm9wcy5jaGlsZHJlbn08L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgcmVuZGVyTGFiZWwgPSAoXG4gIG1lbnU6IE1lbnVDb25maWcsXG4gIGFwcGxpY2F0aW9uTGFuZ3VhZ2U6IFByb3BzWydsYW5ndWFnZSddXG4pID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBtZW51LmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgYXBwbGljYXRpb25MYW5ndWFnZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIGxvY2FsaXplZExhYmVsLnZhbHVlO1xuICByZXR1cm4gTk9fVkFMVUVfRkFMTEJBQ0s7XG59O1xuXG5jb25zdCBNZW51SXRlbSA9IHN0eWxlZC5kaXY8TWVudUl0ZW1Qcm9wcz5gXG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsOTB9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWx9O1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcyA9ICgpID0+IGNzc2BcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51Qm9keSA9IChwcm9wczogTWVudUJvZHlQcm9wcykgPT4ge1xuICAvLyBGb2N1cyBvbiBhIG1lbnUgaXRlbSB3aGVuIGl0J3Mgb3BlbmVkIHRocm91Z2gga2V5Ym9hcmRcbiAgY29uc3QgbWVudUVsZW1lbnRSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1lbnVFbGVtZW50UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBlbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudCk7XG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgb25FcnJvcjogcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgICB9LFxuICAgIGVudmlyb25tZW50LFxuICAgIGxvYWRNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWcsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3JkZXI6IDFweCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5NDB9IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3c3fTtcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ1hzfTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJ4c1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpc0JvbGQ+XG4gICAgICAgICAgICAgICAge1twcm9wcy5maXJzdE5hbWUsIHByb3BzLmxhc3ROYW1lXS5qb2luKCcgJykudHJpbSgpfVxuICAgICAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSB0cnVuY2F0ZT57cHJvcHMuZW1haWx9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAge2FwcGxpY2F0aW9uc0FwcEJhck1lbnU/Lm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAgICAgdG89e2AvYWNjb3VudC8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwobWVudSwgcHJvcHMubGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnByaXZhY3lQb2xpY3l9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvbi1TdXBwb3J0LWxpbmtzXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWV2ZW50PVwiY2xpY2tcIlxuICAgICAgICAgIGRhdGEtdHJhY2stbGFiZWw9XCJzdXBwb3J0X3RleHRsaW5rXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAvLyBOT1RFOiB3ZSB3YW50IHRvIHJlZGlyZWN0IHRvIGEgbmV3IHBhZ2Ugc28gdGhhdCB0aGVcbiAgICAgICAgICAvLyBzZXJ2ZXIgY2FuIHJlbW92ZSB0aGluZ3MgbGlrZSBjb29raWUgZm9yIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgICBocmVmPXtgL2xvZ291dD9yZWFzb249JHtMT0dPVVRfUkVBU09OUy5VU0VSfWB9XG4gICAgICAgICAgZGF0YS10ZXN0PVwibG9nb3V0LWJ1dHRvblwiXG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLmxvZ291dH0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICA8ZGl2IHRhYkluZGV4PXswfSBvbkZvY3VzPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKX0gLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlclNldHRpbmdzTWVudUJvZHkuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudUJvZHknO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51ID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLXRlc3Q9XCJ1c2VyLXNldHRpbmdzLW1lbnVcIj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgcm9sZT1cInVzZXItbWVudS10b2dnbGVcIlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgey4uLmRvd25zaGlmdFByb3BzLmdldFRvZ2dsZUJ1dHRvblByb3BzKHtcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzLmlzT3BlblxuICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzLmNsb3NlTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICAgIDogbWVzc2FnZXMub3Blbk1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VXNlckF2YXRhclxuICAgICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAge2Rvd25zaGlmdFByb3BzLmlzT3BlbiAmJiAoXG4gICAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51Qm9keVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcz17ZG93bnNoaWZ0UHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9Eb3duc2hpZnQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlclNldHRpbmdzTWVudS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51JztcblxuZXhwb3J0IGRlZmF1bHQgVXNlclNldHRpbmdzTWVudTtcblxuLy8gRm9yIHRlc3RpbmdcbmV4cG9ydCB7IFVzZXJBdmF0YXIsIFVzZXJTZXR0aW5nc01lbnVCb2R5IH07XG4iXX0= */"),
|
|
1869
|
+
css: /*#__PURE__*/react$2.css("position:absolute;background:", designSystem.customProperties.colorSurface, ";border:1px ", designSystem.customProperties.colorPrimary40, " solid;border-radius:", designSystem.customProperties.borderRadius6, ";box-shadow:", designSystem.customProperties.shadow7, ";width:315px;right:14px;top:40px;padding:", designSystem.customProperties.spacingXs, ";overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:UserSettingsMenuBody;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUtjIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnMsIERvd25zaGlmdFByb3BzIH0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25zTWVudSxcbiAgVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5LFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VJbnRsLCBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgRG93bnNoaWZ0IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgeyBUb2dnbGVGZWF0dXJlIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgeyBDYXJldERvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IHJlcG9ydEVycm9yVG9TZW50cnkgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9zZW50cnknO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcblxudHlwZSBQcm9wcyA9IFBpY2s8XG4gIFRVc2VyLFxuICAnbGFuZ3VhZ2UnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsJyB8ICdncmF2YXRhckhhc2gnXG4+ICYge1xuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG59O1xudHlwZSBNZW51Qm9keVByb3BzID0gUHJvcHMgJiB7XG4gIGRvd25zaGlmdFByb3BzOiBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzPHt9Pjtcbn07XG50eXBlIE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzRGl2aWRlcj86IGJvb2xlYW47XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0ZWQ9e2lzTW91c2VPdmVyfVxuICAgICAgICAvPlxuICAgICAgICA8Q2FyZXREb3duSWNvblxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgY29sb3I9e2lzTW91c2VPdmVyID8gJ25ldXRyYWw2MCcgOiAnc29saWQnfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG5jb25zdCBPcHRpb25hbEZlYXR1cmVUb2dnbGUgPSAocHJvcHM6IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZVByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb2dnbGVGZWF0dXJlIGZsYWc9e3Byb3BzLmZlYXR1cmVUb2dnbGV9Pntwcm9wcy5jaGlsZHJlbn08L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgcmVuZGVyTGFiZWwgPSAoXG4gIG1lbnU6IE1lbnVDb25maWcsXG4gIGFwcGxpY2F0aW9uTGFuZ3VhZ2U6IFByb3BzWydsYW5ndWFnZSddXG4pID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBtZW51LmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgYXBwbGljYXRpb25MYW5ndWFnZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIGxvY2FsaXplZExhYmVsLnZhbHVlO1xuICByZXR1cm4gTk9fVkFMVUVfRkFMTEJBQ0s7XG59O1xuXG5jb25zdCBNZW51SXRlbSA9IHN0eWxlZC5kaXY8TWVudUl0ZW1Qcm9wcz5gXG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsOTB9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWx9O1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcyA9ICgpID0+IGNzc2BcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5jb25zdCBVc2VyU2V0dGluZ3NNZW51Qm9keSA9IChwcm9wczogTWVudUJvZHlQcm9wcykgPT4ge1xuICAvLyBGb2N1cyBvbiBhIG1lbnUgaXRlbSB3aGVuIGl0J3Mgb3BlbmVkIHRocm91Z2gga2V5Ym9hcmRcbiAgY29uc3QgbWVudUVsZW1lbnRSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1lbnVFbGVtZW50UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBlbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudCk7XG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgb25FcnJvcjogcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgICB9LFxuICAgIGVudmlyb25tZW50LFxuICAgIGxvYWRNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWcsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3JkZXI6IDFweCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5NDB9IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3c3fTtcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZ1hzfTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJ4c1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpc0JvbGQ+XG4gICAgICAgICAgICAgICAge1twcm9wcy5maXJzdE5hbWUsIHByb3BzLmxhc3ROYW1lXS5qb2luKCcgJykudHJpbSgpfVxuICAgICAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSB0cnVuY2F0ZT57cHJvcHMuZW1haWx9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAge2FwcGxpY2F0aW9uc0FwcEJhck1lbnU/Lm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgL2FjY291bnQvJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICAgICAge3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb24tU3VwcG9ydC1saW5rc1wiXG4gICAgICAgICAgZGF0YS10cmFjay1ldmVudD1cImNsaWNrXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwic3VwcG9ydF90ZXh0bGlua1wiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgLy8gTk9URTogd2Ugd2FudCB0byByZWRpcmVjdCB0byBhIG5ldyBwYWdlIHNvIHRoYXQgdGhlXG4gICAgICAgICAgLy8gc2VydmVyIGNhbiByZW1vdmUgdGhpbmdzIGxpa2UgY29va2llIGZvciBhY2Nlc3MgdG9rZW4uXG4gICAgICAgICAgaHJlZj17YC9sb2dvdXQ/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2dvdXR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHJvbGU9XCJ1c2VyLW1lbnUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */"),
|
|
1868
1870
|
children: jsxRuntime.jsxs("div", _objectSpread$8(_objectSpread$8({}, props.downshiftProps.getMenuProps()), {}, {
|
|
1869
|
-
children: [jsxRuntime.jsx(Spacings__default[
|
|
1871
|
+
children: [jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
1870
1872
|
scale: "xs",
|
|
1871
|
-
children: jsxRuntime.jsxs(Spacings__default[
|
|
1873
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
1872
1874
|
scale: "xs",
|
|
1873
1875
|
alignItems: "center",
|
|
1874
|
-
children: [jsxRuntime.jsx(Avatar__default[
|
|
1876
|
+
children: [jsxRuntime.jsx(Avatar__default["default"], {
|
|
1875
1877
|
firstName: props.firstName,
|
|
1876
1878
|
lastName: props.lastName,
|
|
1877
1879
|
gravatarHash: props.gravatarHash
|
|
1878
1880
|
}), jsxRuntime.jsxs("div", {
|
|
1879
|
-
children: [jsxRuntime.jsx(Text__default[
|
|
1881
|
+
children: [jsxRuntime.jsx(Text__default["default"].Body, {
|
|
1880
1882
|
isBold: true,
|
|
1881
|
-
children: _trimInstanceProperty__default[
|
|
1882
|
-
}), jsxRuntime.jsx(Text__default[
|
|
1883
|
+
children: _trimInstanceProperty__default["default"](_context2 = [props.firstName, props.lastName].join(' ')).call(_context2)
|
|
1884
|
+
}), jsxRuntime.jsx(Text__default["default"].Body, {
|
|
1883
1885
|
truncate: true,
|
|
1884
1886
|
children: props.email
|
|
1885
1887
|
})]
|
|
1886
1888
|
})]
|
|
1887
1889
|
})
|
|
1888
|
-
}), applicationsAppBarMenu === null || applicationsAppBarMenu === void 0 ? void 0 : _mapInstanceProperty__default[
|
|
1890
|
+
}), applicationsAppBarMenu === null || applicationsAppBarMenu === void 0 ? void 0 : _mapInstanceProperty__default["default"](applicationsAppBarMenu).call(applicationsAppBarMenu, function (menu) {
|
|
1891
|
+
var _menu$featureToggle;
|
|
1892
|
+
|
|
1889
1893
|
return jsxRuntime.jsx(OptionalFeatureToggle, {
|
|
1890
|
-
featureToggle: menu.featureToggle,
|
|
1894
|
+
featureToggle: (_menu$featureToggle = menu.featureToggle) !== null && _menu$featureToggle !== void 0 ? _menu$featureToggle : undefined,
|
|
1891
1895
|
children: jsxRuntime.jsx(reactRouterDom.Link, {
|
|
1892
1896
|
css: getUserSettingsMenuItemLinkStyles(),
|
|
1893
1897
|
to: "/account/".concat(menu.uriPath),
|
|
@@ -1897,7 +1901,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1897
1901
|
"data-user-settings-menu": true,
|
|
1898
1902
|
ref: menuElementRef,
|
|
1899
1903
|
children: jsxRuntime.jsx(MenuItem$1, {
|
|
1900
|
-
children: jsxRuntime.jsx(Spacings__default[
|
|
1904
|
+
children: jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
1901
1905
|
scale: "s",
|
|
1902
1906
|
children: renderLabel(menu, props.language)
|
|
1903
1907
|
})
|
|
@@ -1917,7 +1921,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1917
1921
|
"data-user-settings-menu": true,
|
|
1918
1922
|
ref: !applicationsAppBarMenu ? menuElementRef : undefined,
|
|
1919
1923
|
children: jsxRuntime.jsx(MenuItem$1, {
|
|
1920
|
-
children: jsxRuntime.jsx(Spacings__default[
|
|
1924
|
+
children: jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
1921
1925
|
scale: "s",
|
|
1922
1926
|
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages$4.privacyPolicy))
|
|
1923
1927
|
})
|
|
@@ -1935,7 +1939,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1935
1939
|
},
|
|
1936
1940
|
"data-user-settings-menu": true,
|
|
1937
1941
|
children: jsxRuntime.jsx(MenuItem$1, {
|
|
1938
|
-
children: jsxRuntime.jsx(Spacings__default[
|
|
1942
|
+
children: jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
1939
1943
|
scale: "s",
|
|
1940
1944
|
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages$4.support))
|
|
1941
1945
|
})
|
|
@@ -1950,7 +1954,7 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1950
1954
|
"data-test": "logout-button",
|
|
1951
1955
|
"data-user-settings-menu": true,
|
|
1952
1956
|
children: [jsxRuntime.jsx(MenuItem$1, {
|
|
1953
|
-
children: jsxRuntime.jsx(Spacings__default[
|
|
1957
|
+
children: jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
1954
1958
|
scale: "s",
|
|
1955
1959
|
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages$4.logout))
|
|
1956
1960
|
})
|
|
@@ -1966,8 +1970,8 @@ var UserSettingsMenuBody = function UserSettingsMenuBody(props) {
|
|
|
1966
1970
|
};
|
|
1967
1971
|
|
|
1968
1972
|
UserSettingsMenuBody.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
1969
|
-
DEV_ONLY__loadAppbarMenuConfig: _pt__default[
|
|
1970
|
-
downshiftProps: _pt__default[
|
|
1973
|
+
DEV_ONLY__loadAppbarMenuConfig: _pt__default["default"].func,
|
|
1974
|
+
downshiftProps: _pt__default["default"].any.isRequired
|
|
1971
1975
|
} : {};
|
|
1972
1976
|
UserSettingsMenuBody.displayName = 'UserSettingsMenuBody';
|
|
1973
1977
|
|
|
@@ -1977,7 +1981,7 @@ var _ref$4 = process.env.NODE_ENV === "production" ? {
|
|
|
1977
1981
|
} : {
|
|
1978
1982
|
name: "pod1xb-UserSettingsMenu",
|
|
1979
1983
|
styles: "cursor:pointer;border:none;padding:0;display:flex;background:transparent;label:UserSettingsMenu;",
|
|
1980
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcVJzQiIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgL2FjY291bnQvJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICAgICAge3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb24tU3VwcG9ydC1saW5rc1wiXG4gICAgICAgICAgZGF0YS10cmFjay1ldmVudD1cImNsaWNrXCJcbiAgICAgICAgICBkYXRhLXRyYWNrLWxhYmVsPVwic3VwcG9ydF90ZXh0bGlua1wiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgLy8gTk9URTogd2Ugd2FudCB0byByZWRpcmVjdCB0byBhIG5ldyBwYWdlIHNvIHRoYXQgdGhlXG4gICAgICAgICAgLy8gc2VydmVyIGNhbiByZW1vdmUgdGhpbmdzIGxpa2UgY29va2llIGZvciBhY2Nlc3MgdG9rZW4uXG4gICAgICAgICAgaHJlZj17YC9sb2dvdXQ/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8U3BhY2luZ3MuSW5zZXQgc2NhbGU9XCJzXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2dvdXR9IC8+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLkluc2V0PlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHJvbGU9XCJ1c2VyLW1lbnUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */",
|
|
1984
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcVJzQiIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLCBEb3duc2hpZnRQcm9wcyB9IGZyb20gJ2Rvd25zaGlmdCc7XG5pbXBvcnQgdHlwZSB7IFRVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uc01lbnUsXG4gIFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IERvd25zaGlmdCBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hdmF0YXInO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgQ2FyZXREb3duSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIExPR09VVF9SRUFTT05TLFxuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyByZXBvcnRFcnJvclRvU2VudHJ5IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB1c2VBcHBsaWNhdGlvbnNNZW51IGZyb20gJy4uLy4uL2hvb2tzL3VzZS1hcHBsaWNhdGlvbnMtbWVudSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPiAmIHtcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPENhcmV0RG93bkljb25cbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIGNvbG9yPXtpc01vdXNlT3ZlciA/ICduZXV0cmFsNjAnIDogJ3NvbGlkJ31cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJBdmF0YXIuZGlzcGxheU5hbWUgPSAnVXNlckF2YXRhcic7XG5cbmZ1bmN0aW9uIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgnZGF0YS11c2VyLXNldHRpbmdzLW1lbnUnKVxuICApO1xufVxuXG5jb25zdCBzdGF0ZVJlZHVjZXI6IERvd25zaGlmdFByb3BzPHt9Plsnc3RhdGVSZWR1Y2VyJ10gPSAoc3RhdGUsIGNoYW5nZXMpID0+IHtcbiAgc3dpdGNoIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAvLyBTbyBpbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5hdmlnYXRlIHdpdGggdGhlIHRhYiBidXR0b25cbiAgICAvLyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZW51IGRvZXMgbm90IGNsb3NlXG4gICAgY2FzZSBEb3duc2hpZnQuc3RhdGVDaGFuZ2VUeXBlcy5ibHVyQnV0dG9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhbmdlcyxcbiAgICAgICAgaXNPcGVuOiAoc3RhdGUuaXNPcGVuICYmIGdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxufTtcblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9nZ2xlRmVhdHVyZSBmbGFnPXtwcm9wcy5mZWF0dXJlVG9nZ2xlfT57cHJvcHMuY2hpbGRyZW59PC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU29saWR9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgIG9uRXJyb3I6IHJlcG9ydEVycm9yVG9TZW50cnksXG4gICAgfSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2FkTWVudUNvbmZpZzogcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnLFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5rZXkgPT09ICdFc2MnIHx8XG4gICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWdldElzRm9jdXNlZEVsZW1lbnRJbk1lbnUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgYm9yZGVyOiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yUHJpbWFyeTQwfSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHtjdXN0b21Qcm9wZXJ0aWVzLmJvcmRlclJhZGl1czZ9O1xuICAgICAgICBib3gtc2hhZG93OiAke2N1c3RvbVByb3BlcnRpZXMuc2hhZG93N307XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYc307XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwieHNcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwieHNcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaXNCb2xkPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgdHJ1bmNhdGU+e3Byb3BzLmVtYWlsfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgIHthcHBsaWNhdGlvbnNBcHBCYXJNZW51Py5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC9hY2NvdW50LyR7bWVudS51cmlQYXRofWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICAgICAgcmVmPXttZW51RWxlbWVudFJlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5JbnNldCBzY2FsZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L09wdGlvbmFsRmVhdHVyZVRvZ2dsZT5cbiAgICAgICAgKSl9XG4gICAgICAgIDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17YGh0dHBzOi8vY29tbWVyY2V0b29scy5jb20vcHJpdmFjeSNzdXBwbGllcnNgfVxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgcmVmPXshYXBwbGljYXRpb25zQXBwQmFyTWVudSA/IG1lbnVFbGVtZW50UmVmIDogdW5kZWZpbmVkfVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YVxuICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgaHJlZj17U1VQUE9SVF9QT1JUQUxfVVJMfVxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJOYXZpZ2F0aW9uLVN1cHBvcnQtbGlua3NcIlxuICAgICAgICAgIGRhdGEtdHJhY2stZXZlbnQ9XCJjbGlja1wiXG4gICAgICAgICAgZGF0YS10cmFjay1sYWJlbD1cInN1cHBvcnRfdGV4dGxpbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuc3VwcG9ydH0gLz5cbiAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5zZXQ+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvbG9nb3V0P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPFNwYWNpbmdzLkluc2V0IHNjYWxlPVwic1wiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbnNldD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPERvd25zaGlmdCBzdGF0ZVJlZHVjZXI9e3N0YXRlUmVkdWNlcn0+XG4gICAgICAgIHsoZG93bnNoaWZ0UHJvcHMpID0+IChcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICByb2xlPVwidXNlci1tZW51LXRvZ2dsZVwiXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */",
|
|
1981
1985
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
|
|
1982
1986
|
};
|
|
1983
1987
|
|
|
@@ -1985,7 +1989,7 @@ var UserSettingsMenu = function UserSettingsMenu(props) {
|
|
|
1985
1989
|
var intl = reactIntl.useIntl();
|
|
1986
1990
|
return jsxRuntime.jsx("div", {
|
|
1987
1991
|
"data-test": "user-settings-menu",
|
|
1988
|
-
children: jsxRuntime.jsx(Downshift__default[
|
|
1992
|
+
children: jsxRuntime.jsx(Downshift__default["default"], {
|
|
1989
1993
|
stateReducer: stateReducer,
|
|
1990
1994
|
children: function children(downshiftProps) {
|
|
1991
1995
|
return jsxRuntime.jsxs("div", {
|
|
@@ -2010,7 +2014,7 @@ var UserSettingsMenu = function UserSettingsMenu(props) {
|
|
|
2010
2014
|
};
|
|
2011
2015
|
|
|
2012
2016
|
UserSettingsMenu.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2013
|
-
DEV_ONLY__loadAppbarMenuConfig: _pt__default[
|
|
2017
|
+
DEV_ONLY__loadAppbarMenuConfig: _pt__default["default"].func
|
|
2014
2018
|
} : {};
|
|
2015
2019
|
UserSettingsMenu.displayName = 'UserSettingsMenu';
|
|
2016
2020
|
|
|
@@ -2044,9 +2048,9 @@ var messages$3 = reactIntl.defineMessages({
|
|
|
2044
2048
|
|
|
2045
2049
|
var _excluded$1 = ["projectCount"];
|
|
2046
2050
|
|
|
2047
|
-
function ownKeys$7(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
2051
|
+
function ownKeys$7(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2048
2052
|
|
|
2049
|
-
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
2053
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
2050
2054
|
|
|
2051
2055
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2052
2056
|
var ProjectsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchUserProjects" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }], loc: { start: 0, end: 218, source: { body: "query FetchUserProjects {\n user: me {\n id\n projects {\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
@@ -2079,7 +2083,7 @@ var ProjectSwitcherValueContainer = function ProjectSwitcherValueContainer(_ref6
|
|
|
2079
2083
|
css: _ref5$1,
|
|
2080
2084
|
children: [jsxRuntime.jsx("div", {
|
|
2081
2085
|
css: _ref4$1,
|
|
2082
|
-
children: jsxRuntime.jsx(SelectInput__default[
|
|
2086
|
+
children: jsxRuntime.jsx(SelectInput__default["default"].ValueContainer, _objectSpread$7(_objectSpread$7({}, restProps), {}, {
|
|
2083
2087
|
children: restProps.children
|
|
2084
2088
|
}))
|
|
2085
2089
|
}), jsxRuntime.jsx("span", {
|
|
@@ -2110,7 +2114,7 @@ var _ref3$1 = process.env.NODE_ENV === "production" ? {
|
|
|
2110
2114
|
};
|
|
2111
2115
|
|
|
2112
2116
|
var ProjectSwitcherOption = function ProjectSwitcherOption(props) {
|
|
2113
|
-
return jsxRuntime.jsx(SelectInput__default[
|
|
2117
|
+
return jsxRuntime.jsx(SelectInput__default["default"].Option, _objectSpread$7(_objectSpread$7({}, props), {}, {
|
|
2114
2118
|
children: jsxRuntime.jsxs("div", {
|
|
2115
2119
|
css: _ref3$1,
|
|
2116
2120
|
children: [jsxRuntime.jsxs("div", {
|
|
@@ -2134,8 +2138,8 @@ var ProjectSwitcherOption = function ProjectSwitcherOption(props) {
|
|
|
2134
2138
|
})
|
|
2135
2139
|
}));
|
|
2136
2140
|
};
|
|
2137
|
-
var mapProjectsToOptions = memoize__default[
|
|
2138
|
-
return _mapInstanceProperty__default[
|
|
2141
|
+
var mapProjectsToOptions = memoize__default["default"](function (projects) {
|
|
2142
|
+
return _mapInstanceProperty__default["default"](projects).call(projects, function (project) {
|
|
2139
2143
|
return {
|
|
2140
2144
|
key: project.key,
|
|
2141
2145
|
name: project.name,
|
|
@@ -2178,7 +2182,7 @@ var ProjectSwitcher = function ProjectSwitcher(props) {
|
|
|
2178
2182
|
css: _ref$3,
|
|
2179
2183
|
"data-track-component": "ProjectSwitch",
|
|
2180
2184
|
"data-track-event": "click",
|
|
2181
|
-
children: jsxRuntime.jsx(SelectInput__default[
|
|
2185
|
+
children: jsxRuntime.jsx(SelectInput__default["default"], {
|
|
2182
2186
|
value: props.projectKey || '',
|
|
2183
2187
|
name: "project-switcher",
|
|
2184
2188
|
"aria-labelledby": "project-switcher",
|
|
@@ -2244,7 +2248,7 @@ var redirectToProject = function redirectToProject(key) {
|
|
|
2244
2248
|
|
|
2245
2249
|
var BackToProject = function BackToProject(props) {
|
|
2246
2250
|
var intl = reactIntl.useIntl();
|
|
2247
|
-
return jsxRuntime.jsx(FlatButton__default[
|
|
2251
|
+
return jsxRuntime.jsx(FlatButton__default["default"], {
|
|
2248
2252
|
onClick: function onClick() {
|
|
2249
2253
|
return redirectToProject(props.projectKey || '');
|
|
2250
2254
|
},
|
|
@@ -2341,7 +2345,7 @@ var getRadiusBySize = function getRadiusBySize(props) {
|
|
|
2341
2345
|
}
|
|
2342
2346
|
};
|
|
2343
2347
|
|
|
2344
|
-
var LoadingPlaceholder = _styled__default[
|
|
2348
|
+
var LoadingPlaceholder = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
|
|
2345
2349
|
target: "e4c5pm00"
|
|
2346
2350
|
} : {
|
|
2347
2351
|
target: "e4c5pm00",
|
|
@@ -2358,7 +2362,7 @@ var _ref$2 = process.env.NODE_ENV === "production" ? {
|
|
|
2358
2362
|
} : {
|
|
2359
2363
|
name: "p3e2aw-AppBar",
|
|
2360
2364
|
styles: "display:flex;flex:1;label:AppBar;",
|
|
2361
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+
|
|
2365
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID0gZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgIHByb3BzLnVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3cxfTtcbiAgICAgICAgbWluLWhlaWdodDogNDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExpbmsgdG89e2AvJHtwcmV2aW91c1Byb2plY3RLZXkgfHwgJyd9YH0+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nTX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBUaGlzIG5vZGUgaXMgdXNlZCBieSBhIHJlYWN0IHBvcnRhbCAqL31cbiAgICAgICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTE9DQUxFX1NXSVRDSEVSfSAvPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIHRoZSBgcHJvamVjdEtleWAgcGFyYW1cbiAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGZpbmUgYmVjYXNlIHRoZSB1c2VyIGhhcyBzdGlsbCB0aGUgcG9zc2liaWxpdHkgdG8gXCJzd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWw5MH0gc29saWQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLnVzZXIuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgZW1haWw9e3Byb3BzLnVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */",
|
|
2362
2366
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
|
|
2363
2367
|
};
|
|
2364
2368
|
|
|
@@ -2368,26 +2372,28 @@ var _ref2$1 = process.env.NODE_ENV === "production" ? {
|
|
|
2368
2372
|
} : {
|
|
2369
2373
|
name: "13ix1q4-AppBar",
|
|
2370
2374
|
styles: "display:block;float:left;width:28px;height:32px;margin-left:20px;label:AppBar;",
|
|
2371
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+
|
|
2375
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDa0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID0gZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgIHByb3BzLnVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3cxfTtcbiAgICAgICAgbWluLWhlaWdodDogNDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExpbmsgdG89e2AvJHtwcmV2aW91c1Byb2plY3RLZXkgfHwgJyd9YH0+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nTX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBUaGlzIG5vZGUgaXMgdXNlZCBieSBhIHJlYWN0IHBvcnRhbCAqL31cbiAgICAgICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTE9DQUxFX1NXSVRDSEVSfSAvPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIHRoZSBgcHJvamVjdEtleWAgcGFyYW1cbiAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGZpbmUgYmVjYXNlIHRoZSB1c2VyIGhhcyBzdGlsbCB0aGUgcG9zc2liaWxpdHkgdG8gXCJzd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWw5MH0gc29saWQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLnVzZXIuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgZW1haWw9e3Byb3BzLnVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */",
|
|
2372
2376
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
|
|
2373
2377
|
};
|
|
2374
2378
|
|
|
2375
2379
|
var AppBar = function AppBar(props) {
|
|
2376
|
-
var
|
|
2380
|
+
var _props$user$defaultPr, _props$user;
|
|
2381
|
+
|
|
2382
|
+
var previousProjectKey = getPreviousProjectKey((_props$user$defaultPr = (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.defaultProjectKey) !== null && _props$user$defaultPr !== void 0 ? _props$user$defaultPr : undefined);
|
|
2377
2383
|
return jsxRuntime.jsxs("div", {
|
|
2378
|
-
css: /*#__PURE__*/react$2.css("box-shadow:", designSystem.customProperties.shadow1, ";min-height:43px;position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCYyIsImZpbGUiOiJhcHAtYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5cbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IENPTlRBSU5FUlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFVzZXJTZXR0aW5nc01lbnUgZnJvbSAnLi4vdXNlci1zZXR0aW5ncy1tZW51JztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCB7IFJFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEIH0gZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlci9jb25zdGFudHMnO1xuXG50eXBlIFByb3BzID0ge1xuICB1c2VyOiBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeVsndXNlciddO1xuICBwcm9qZWN0S2V5RnJvbVVybD86IHN0cmluZztcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+
|
|
2384
|
+
css: /*#__PURE__*/react$2.css("box-shadow:", designSystem.customProperties.shadow1, ";min-height:43px;position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCYyIsImZpbGUiOiJhcHAtYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5cbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgTG9nb1NWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2xvZ28uc3ZnJztcbmltcG9ydCB7IENPTlRBSU5FUlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFVzZXJTZXR0aW5nc01lbnUgZnJvbSAnLi4vdXNlci1zZXR0aW5ncy1tZW51JztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCB7IFJFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEIH0gZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlci9jb25zdGFudHMnO1xuXG50eXBlIFByb3BzID0ge1xuICB1c2VyOiBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeVsndXNlciddO1xuICBwcm9qZWN0S2V5RnJvbVVybD86IHN0cmluZztcbiAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnYXBwQmFyJ10+O1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYm94LXNoYWRvdzogJHtjdXN0b21Qcm9wZXJ0aWVzLnNoYWRvdzF9O1xuICAgICAgICBtaW4taGVpZ2h0OiA0M3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYH1cbiAgICAgIGRhdGEtdGVzdD1cInRvcC1uYXZpZ2F0aW9uXCJcbiAgICA+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAgeyFwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPGltZyBzcmM9e0xvZ29TVkd9IHdpZHRoPVwiMTAwJVwiIGFsdD1cIkxvZ29cIiAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8TGluayB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleSB8fCAnJ31gfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e0xvZ29TVkd9IHdpZHRoPVwiMTAwJVwiIGFsdD1cIkxvZ29cIiAvPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBgfVxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdNfTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgey8qIFRoaXMgbm9kZSBpcyB1c2VkIGJ5IGEgcmVhY3QgcG9ydGFsICovfVxuICAgICAgICAgICAgPGRpdiBpZD17Q09OVEFJTkVSUy5MT0NBTEVfU1dJVENIRVJ9IC8+XG4gICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJyZWN0XCIgc2l6ZT1cInNcIiAvPjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBUaGUgYDxQcm9qZWN0U3dpdGNoZXI+YCBzaG91bGQgYmUgcmVuZGVyZWQgb25seSBpZiB0aGVcbiAgICAgICAgICAgICAgLy8gdXNlciBpcyBmZXRjaGVkIGFuZCB0aGUgdXNlciBoYXMgcHJvamVjdHMgd2hpbGUgdGhlIGFwcCBydW5zIGluIGFuIHByb2plY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgaWYgKHByb3BzLnVzZXIucHJvamVjdHMudG90YWwgPiAwICYmIHByb3BzLnByb2plY3RLZXlGcm9tVXJsKVxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgaWYgdGhlIGBwcm9qZWN0S2V5YCBwYXJhbVxuICAgICAgICAgICAgICAgICAgICAvLyBpcyBpbmNsdWRlZCBpbiB0aGUgbGlzdCBvZiBwcm9qZWN0cy4gSW4gc3VjaCBjYXNlXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBkcm9wZG93biB3aWxsIHN0aWxsIGJlIHJlbmRlcmVkIGJ1dCBubyBwcm9qZWN0IHdpbGwgYmUgc2VsZWN0ZWQuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgZmluZSBiZWNhc2UgdGhlIHVzZXIgaGFzIHN0aWxsIHRoZSBwb3NzaWJpbGl0eSB0byBcInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIGEgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleUZyb21VcmwgfHwgcHJldmlvdXNQcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIuZGVmYXVsdFByb2plY3RLZXkpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICByZXR1cm4gPEJhY2tUb1Byb2plY3QgcHJvamVjdEtleT17cHJldmlvdXNQcm9qZWN0S2V5fSAvPjtcbiAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yTmV1dHJhbDkwfSBzb2xpZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgICAgbGFuZ3VhZ2U9e3Byb3BzLnVzZXIubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLnVzZXIuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJsXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbkFwcEJhci5kaXNwbGF5TmFtZSA9ICdBcHBCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBCYXI7XG4iXX0= */"),
|
|
2379
2385
|
"data-test": "top-navigation",
|
|
2380
|
-
children: [jsxRuntime.jsxs(Spacings__default[
|
|
2386
|
+
children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
2381
2387
|
children: [jsxRuntime.jsx("div", {
|
|
2382
2388
|
css: _ref2$1,
|
|
2383
2389
|
children: !props.user ? jsxRuntime.jsx("img", {
|
|
2384
|
-
src: LogoSVG__default[
|
|
2390
|
+
src: LogoSVG__default["default"],
|
|
2385
2391
|
width: "100%",
|
|
2386
2392
|
alt: "Logo"
|
|
2387
2393
|
}) : jsxRuntime.jsx(reactRouterDom.Link, {
|
|
2388
2394
|
to: "/".concat(previousProjectKey || ''),
|
|
2389
2395
|
children: jsxRuntime.jsx("img", {
|
|
2390
|
-
src: LogoSVG__default[
|
|
2396
|
+
src: LogoSVG__default["default"],
|
|
2391
2397
|
width: "100%",
|
|
2392
2398
|
alt: "Logo"
|
|
2393
2399
|
})
|
|
@@ -2397,11 +2403,11 @@ var AppBar = function AppBar(props) {
|
|
|
2397
2403
|
css: _ref$2
|
|
2398
2404
|
})]
|
|
2399
2405
|
}), jsxRuntime.jsx("div", {
|
|
2400
|
-
css: /*#__PURE__*/react$2.css("float:right;font-weight:normal;font-size:1rem;margin-right:", designSystem.customProperties.spacingM, ";display:flex;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFZ0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+
|
|
2401
|
-
children: jsxRuntime.jsxs(Spacings__default[
|
|
2406
|
+
css: /*#__PURE__*/react$2.css("float:right;font-weight:normal;font-size:1rem;margin-right:", designSystem.customProperties.spacingM, ";display:flex;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFZ0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID0gZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgIHByb3BzLnVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3cxfTtcbiAgICAgICAgbWluLWhlaWdodDogNDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExpbmsgdG89e2AvJHtwcmV2aW91c1Byb2plY3RLZXkgfHwgJyd9YH0+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nTX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBUaGlzIG5vZGUgaXMgdXNlZCBieSBhIHJlYWN0IHBvcnRhbCAqL31cbiAgICAgICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTE9DQUxFX1NXSVRDSEVSfSAvPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIHRoZSBgcHJvamVjdEtleWAgcGFyYW1cbiAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGZpbmUgYmVjYXNlIHRoZSB1c2VyIGhhcyBzdGlsbCB0aGUgcG9zc2liaWxpdHkgdG8gXCJzd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWw5MH0gc29saWQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLnVzZXIuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgZW1haWw9e3Byb3BzLnVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */"),
|
|
2407
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
2402
2408
|
scale: "m",
|
|
2403
2409
|
alignItems: "center",
|
|
2404
|
-
children: [jsxRuntime.jsxs(Spacings__default[
|
|
2410
|
+
children: [jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
2405
2411
|
alignItems: "center",
|
|
2406
2412
|
children: [jsxRuntime.jsx("div", {
|
|
2407
2413
|
id: applicationEntryPoint.CONTAINERS.LOCALE_SWITCHER
|
|
@@ -2429,7 +2435,7 @@ var AppBar = function AppBar(props) {
|
|
|
2429
2435
|
});
|
|
2430
2436
|
}()]
|
|
2431
2437
|
}), jsxRuntime.jsx("div", {
|
|
2432
|
-
css: /*#__PURE__*/react$2.css("border-left:1px ", designSystem.customProperties.colorNeutral90, " solid;height:43px;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlHb0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+
|
|
2438
|
+
css: /*#__PURE__*/react$2.css("border-left:1px ", designSystem.customProperties.colorNeutral90, " solid;height:43px;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlHb0IiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IExvZ29TVkcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9sb2dvLnN2Zyc7XG5pbXBvcnQgeyBDT05UQUlORVJTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5pbXBvcnQgUHJvamVjdFN3aXRjaGVyIGZyb20gJy4uL3Byb2plY3Qtc3dpdGNoZXInO1xuaW1wb3J0IEJhY2tUb1Byb2plY3QgZnJvbSAnLi4vYmFjay10by1wcm9qZWN0JztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbn07XG5cbmNvbnN0IEFwcEJhciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID0gZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgIHByb3BzLnVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJveC1zaGFkb3c6ICR7Y3VzdG9tUHJvcGVydGllcy5zaGFkb3cxfTtcbiAgICAgICAgbWluLWhlaWdodDogNDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgYH1cbiAgICAgICAgPlxuICAgICAgICAgIHshcHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExpbmsgdG89e2AvJHtwcmV2aW91c1Byb2plY3RLZXkgfHwgJyd9YH0+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtMb2dvU1ZHfSB3aWR0aD1cIjEwMCVcIiBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nTX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBUaGlzIG5vZGUgaXMgdXNlZCBieSBhIHJlYWN0IHBvcnRhbCAqL31cbiAgICAgICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTE9DQUxFX1NXSVRDSEVSfSAvPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybClcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIHRoZSBgcHJvamVjdEtleWAgcGFyYW1cbiAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGZpbmUgYmVjYXNlIHRoZSB1c2VyIGhhcyBzdGlsbCB0aGUgcG9zc2liaWxpdHkgdG8gXCJzd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvck5ldXRyYWw5MH0gc29saWQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7cHJvcHMudXNlciA/IChcbiAgICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLnVzZXIuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgZW1haWw9e3Byb3BzLnVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */")
|
|
2433
2439
|
}), props.user ? jsxRuntime.jsx(UserSettingsMenu, {
|
|
2434
2440
|
language: props.user.language,
|
|
2435
2441
|
firstName: props.user.firstName,
|
|
@@ -2448,9 +2454,9 @@ var AppBar = function AppBar(props) {
|
|
|
2448
2454
|
|
|
2449
2455
|
AppBar.displayName = 'AppBar';
|
|
2450
2456
|
|
|
2451
|
-
function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
2457
|
+
function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2452
2458
|
|
|
2453
|
-
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default[
|
|
2459
|
+
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$6(Object(source), true)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$6(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
2454
2460
|
|
|
2455
2461
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2456
2462
|
|
|
@@ -2460,7 +2466,7 @@ var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
|
2460
2466
|
} : {
|
|
2461
2467
|
name: "v1qg5m-SingleValue",
|
|
2462
2468
|
styles: "flex:1;align-items:center;display:flex;label:SingleValue;",
|
|
2463
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2469
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JZIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */",
|
|
2464
2470
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
2465
2471
|
};
|
|
2466
2472
|
|
|
@@ -2470,17 +2476,16 @@ var _SingleValue = function SingleValue(props) {
|
|
|
2470
2476
|
children: [jsxRuntime.jsx(icons.WorldIcon, {
|
|
2471
2477
|
size: "big"
|
|
2472
2478
|
}), jsxRuntime.jsx("span", {
|
|
2473
|
-
css: /*#__PURE__*/react$2.css("margin-left:2px;flex:1;color:", designSystem.customProperties.colorAccent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2479
|
+
css: /*#__PURE__*/react$2.css("margin-left:2px;flex:1;color:", designSystem.customProperties.colorAccent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
|
|
2474
2480
|
children: props.children
|
|
2475
2481
|
}), jsxRuntime.jsx("span", {
|
|
2476
|
-
css: /*#__PURE__*/react$2.css("width:22px;height:22px;border-radius:100%;background:", designSystem.customProperties.colorAccent40, ";color:", designSystem.customProperties.colorSurface, ";font-size:0.9rem;display:flex;justify-content:center;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2482
|
+
css: /*#__PURE__*/react$2.css("width:22px;height:22px;border-radius:100%;background:", designSystem.customProperties.colorAccent40, ";color:", designSystem.customProperties.colorSurface, ";font-size:0.9rem;display:flex;justify-content:center;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
|
|
2477
2483
|
children: props.localeCount
|
|
2478
2484
|
})]
|
|
2479
2485
|
});
|
|
2480
2486
|
};
|
|
2481
2487
|
_SingleValue.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2482
|
-
|
|
2483
|
-
localeCount: _pt__default['default'].number.isRequired
|
|
2488
|
+
localeCount: _pt__default["default"].number.isRequired
|
|
2484
2489
|
} : {};
|
|
2485
2490
|
_SingleValue.displayName = 'SingleValue';
|
|
2486
2491
|
|
|
@@ -2492,14 +2497,14 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
|
|
|
2492
2497
|
setProjectDataLocale(event.target.value);
|
|
2493
2498
|
}, [setProjectDataLocale]);
|
|
2494
2499
|
return jsxRuntime.jsx("div", {
|
|
2495
|
-
css: /*#__PURE__*/react$2.css("position:relative;width:", designSystem.customProperties.constraint3, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:LocaleSwitcher;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2500
|
+
css: /*#__PURE__*/react$2.css("position:relative;width:", designSystem.customProperties.constraint3, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:LocaleSwitcher;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUVjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtaW5wdXQnO1xuaW1wb3J0IHsgV29ybGRJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHsgY3VzdG9tUHJvcGVydGllcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG50eXBlIEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMgPSBTaW5nbGVWYWx1ZVByb3BzPHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0+ICYge1xuICBsb2NhbGVDb3VudDogbnVtYmVyO1xufTtcbnR5cGUgUHJvcHMgPSB7XG4gIHByb2plY3REYXRhTG9jYWxlOiBzdHJpbmc7XG4gIHNldFByb2plY3REYXRhTG9jYWxlOiAobG9jYWxlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVZhbHVlID0gKHByb3BzOiBDdXN0b21TaW5nbGVWYWx1ZVByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgfVxuICA+XG4gICAgPFdvcmxkSWNvbiBzaXplPVwiYmlnXCIgLz5cbiAgICA8c3BhblxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnR9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yQWNjZW50NDB9O1xuICAgICAgICBjb2xvcjogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGB9XG4gICAgPlxuICAgICAge3Byb3BzLmxvY2FsZUNvdW50fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuU2luZ2xlVmFsdWUuZGlzcGxheU5hbWUgPSAnU2luZ2xlVmFsdWUnO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPFNlbGVjdElucHV0XG4gICAgICAgIHZhbHVlPXtwcm9wcy5wcm9qZWN0RGF0YUxvY2FsZX1cbiAgICAgICAgbmFtZT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxvY2FsZS1zd2l0Y2hlclwiXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWxlY3Rpb259XG4gICAgICAgIG9wdGlvbnM9e3Byb3BzLmF2YWlsYWJsZUxvY2FsZXMubWFwKChsb2NhbGUpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGxvY2FsZSxcbiAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICB9KSl9XG4gICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG4gICAgICAgICAgU2luZ2xlVmFsdWU6IChcbiAgICAgICAgICAgIHZhbHVlUHJvcHM6IFNpbmdsZVZhbHVlUHJvcHM8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgICAgICAgKSA9PiAoXG4gICAgICAgICAgICA8U2luZ2xlVmFsdWVcbiAgICAgICAgICAgICAgey4uLnZhbHVlUHJvcHN9XG4gICAgICAgICAgICAgIGxvY2FsZUNvdW50PXtwcm9wcy5hdmFpbGFibGVMb2NhbGVzLmxlbmd0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSxcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
|
|
2496
2501
|
"data-track-component": "LocaleSwitch",
|
|
2497
|
-
children: jsxRuntime.jsx(SelectInput__default[
|
|
2502
|
+
children: jsxRuntime.jsx(SelectInput__default["default"], {
|
|
2498
2503
|
value: props.projectDataLocale,
|
|
2499
2504
|
name: "locale-switcher",
|
|
2500
2505
|
"aria-labelledby": "locale-switcher",
|
|
2501
2506
|
onChange: handleSelection,
|
|
2502
|
-
options: _mapInstanceProperty__default[
|
|
2507
|
+
options: _mapInstanceProperty__default["default"](_context = props.availableLocales).call(_context, function (locale) {
|
|
2503
2508
|
return {
|
|
2504
2509
|
label: locale,
|
|
2505
2510
|
value: locale
|
|
@@ -2521,25 +2526,25 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
|
|
|
2521
2526
|
};
|
|
2522
2527
|
|
|
2523
2528
|
LocaleSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2524
|
-
projectDataLocale: _pt__default[
|
|
2525
|
-
setProjectDataLocale: _pt__default[
|
|
2526
|
-
availableLocales: _pt__default[
|
|
2529
|
+
projectDataLocale: _pt__default["default"].string.isRequired,
|
|
2530
|
+
setProjectDataLocale: _pt__default["default"].func.isRequired,
|
|
2531
|
+
availableLocales: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired
|
|
2527
2532
|
} : {};
|
|
2528
2533
|
|
|
2529
2534
|
var ProjectNotFound = /*#__PURE__*/react.lazy(function () {
|
|
2530
|
-
return Promise.resolve().then(function () { return require('./project-not-found-
|
|
2535
|
+
return Promise.resolve().then(function () { return require('./project-not-found-7bdc583e.cjs.dev.js'
|
|
2531
2536
|
/* webpackChunkName: "project-not-found" */
|
|
2532
2537
|
); });
|
|
2533
2538
|
});
|
|
2534
2539
|
|
|
2535
2540
|
var ProjectExpired = /*#__PURE__*/react.lazy(function () {
|
|
2536
|
-
return Promise.resolve().then(function () { return require('./project-expired-
|
|
2541
|
+
return Promise.resolve().then(function () { return require('./project-expired-8a630330.cjs.dev.js'
|
|
2537
2542
|
/* webpackChunkName: "project-expired" */
|
|
2538
2543
|
); });
|
|
2539
2544
|
});
|
|
2540
2545
|
|
|
2541
2546
|
var ProjectNotInitialized = /*#__PURE__*/react.lazy(function () {
|
|
2542
|
-
return Promise.resolve().then(function () { return require('./project-not-initialized-
|
|
2547
|
+
return Promise.resolve().then(function () { return require('./project-not-initialized-2f2ee69f.cjs.dev.js'
|
|
2543
2548
|
/* webpackChunkName: "project-not-initialized" */
|
|
2544
2549
|
); });
|
|
2545
2550
|
});
|
|
@@ -2566,19 +2571,19 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2566
2571
|
|
|
2567
2572
|
return jsxRuntime.jsx("div", {
|
|
2568
2573
|
css: /*#__PURE__*/react$2.css("align-self:center;margin-top:", designSystem.customProperties.spacingXl, ";max-width:", designSystem.customProperties.constraint10, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:RedirectToProjectCreate;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZGlyZWN0LXRvLXByb2plY3QtY3JlYXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQmMiLCJmaWxlIjoicmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENvbnRlbnROb3RpZmljYXRpb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ub3RpZmljYXRpb25zJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IENhcmQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY2FyZCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB1c2VBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuXG5leHBvcnQgY29uc3QgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgPSAoKSA9PiB7XG4gIGNvbnN0IHNlcnZlZEJ5UHJveHkgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoXG4gICAgKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQuc2VydmVkQnlQcm94eVxuICApO1xuICAvKipcbiAgICogTk9URTpcbiAgICogICBUaGlzIGxvb2tzIGEgYml0IHVudXN1YWw6IHJlZGlyZWN0aW5nIGluIHJlbmRlci5cbiAgICogICBIb3dldmVyLCB3aGVuIGRvaW5nIGl0IGluIGBjRE1gIHdlIGxvb3NlIHRpbWVcbiAgICogICB3ZSB3ZSBhY3R1YWxseSBkbyBuZXZlciB3YW50IHRvIHJlbmRlciBhbnl0aGluZyBvclxuICAgKiAgIGludGVyYWN0IHdpdGggYW55dGhpbmcgcmVuZGVyZWQuIEluc3RlYWQgd2Ugc2hvdWxkIHNob3VsZFxuICAgKiAgIHJlZGlyZWN0IGF3YXkuIFVzaW5nIGEgY29uc3RydWN0b3Igd291bGQgcmVzdWx0IGluIHRoZSBzYW1lLlxuICAgKiAgIEluIHR1cm4gdGhpcyBpbnRlbmRzIHdvIG1ha2UgZXhwbGljaXQgdGhhdCB3ZSBuZXZlciB3YW50IHRvXG4gICAqICAgcmVuZGVyIGFuZCBpbnN0ZWFkIGp1c3QgbmF2aWdhdGUgYXdheS5cbiAgICovXG4gIGlmIChzZXJ2ZWRCeVByb3h5ID09PSB0cnVlKSB7XG4gICAgbG9jYXRpb24ucmVwbGFjZSgnL2FjY291bnQvcHJvamVjdHMvbmV3Jyk7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJHtjdXN0b21Qcm9wZXJ0aWVzLnNwYWNpbmdYbH07XG4gICAgICAgIG1heC13aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQxMH07XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxDYXJkIHR5cGU9XCJmbGF0XCIgdGhlbWU9XCJkYXJrXCI+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgICA8VGV4dC5IZWFkbGluZSBhcz1cImgxXCI+UGxlYXNlIGNyZWF0ZSBhIHByb2plY3QhPC9UZXh0LkhlYWRsaW5lPlxuICAgICAgICAgIDxDb250ZW50Tm90aWZpY2F0aW9uIHR5cGU9XCJpbmZvXCI+XG4gICAgICAgICAgICBZb3UgYXJlIHJ1bm5pbmcgaW4gZGV2ZWxvcG1lbnQgbW9kZVxuICAgICAgICAgIDwvQ29udGVudE5vdGlmaWNhdGlvbj5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgVGhlIEN1c3RvbSBBcHBsaWNhdGlvbiBpcyBub3QgcnVubmluZyBiZWhpbmQgdGhlIE1lcmNoYW50IENlbnRlclxuICAgICAgICAgICAgUHJveHkuIFRoZXJlZm9yZSwgeW91IGFyZSBub3QgYmVpbmcgcmVkaXJlY3RlZCB0byB0aGUgYWNjb3VudFxuICAgICAgICAgICAgc2VjdGlvbiB0byBjcmVhdGUgYSBuZXcgcHJvamVjdC5cbiAgICAgICAgICA8L1RleHQuQm9keT5cbiAgICAgICAgICA8VGV4dC5Cb2R5PlxuICAgICAgICAgICAgSWYgeW91IGRvIG5lZWQgdG8gY3JlYXRlIGEgcHJvamVjdCwgd2UgcmVjb21tZW5kIHRvIGdvIHRvIHRoZVxuICAgICAgICAgICAgTWVyY2hhbnQgQ2VudGVyIHByb2R1Y3Rpb24gVVJMIGFuZCBjcmVhdGUgYSBwcm9qZWN0IHRoZXJlLiBBZnRlclxuICAgICAgICAgICAgdGhhdCwgeW91IGNhbiBhY2Nlc3MgeW91ciBuZXcgcHJvamVjdCBmcm9tIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuXG4gICAgICAgICAgPC9UZXh0LkJvZHk+XG4gICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICA8L0NhcmQ+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUuZGlzcGxheU5hbWUgPSAnUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZTtcbiJdfQ== */"),
|
|
2569
|
-
children: jsxRuntime.jsx(Card__default[
|
|
2574
|
+
children: jsxRuntime.jsx(Card__default["default"], {
|
|
2570
2575
|
type: "flat",
|
|
2571
2576
|
theme: "dark",
|
|
2572
|
-
children: jsxRuntime.jsxs(Spacings__default[
|
|
2573
|
-
children: [jsxRuntime.jsx(Text__default[
|
|
2577
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
|
|
2578
|
+
children: [jsxRuntime.jsx(Text__default["default"].Headline, {
|
|
2574
2579
|
as: "h1",
|
|
2575
2580
|
children: "Please create a project!"
|
|
2576
2581
|
}), jsxRuntime.jsx(notifications.ContentNotification, {
|
|
2577
2582
|
type: "info",
|
|
2578
2583
|
children: "You are running in development mode"
|
|
2579
|
-
}), jsxRuntime.jsx(Text__default[
|
|
2584
|
+
}), jsxRuntime.jsx(Text__default["default"].Body, {
|
|
2580
2585
|
children: "The Custom Application is not running behind the Merchant Center Proxy. Therefore, you are not being redirected to the account section to create a new project."
|
|
2581
|
-
}), jsxRuntime.jsx(Text__default[
|
|
2586
|
+
}), jsxRuntime.jsx(Text__default["default"].Body, {
|
|
2582
2587
|
children: "If you do need to create a project, we recommend to go to the Merchant Center production URL and create a project there. After that, you can access your new project from your local environment."
|
|
2583
2588
|
})]
|
|
2584
2589
|
})
|
|
@@ -2588,7 +2593,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2588
2593
|
RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
|
|
2589
2594
|
|
|
2590
2595
|
var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
|
|
2591
|
-
return Promise.resolve().then(function () { return require('./project-suspended-
|
|
2596
|
+
return Promise.resolve().then(function () { return require('./project-suspended-f541ad12.cjs.dev.js'
|
|
2592
2597
|
/* webpackChunkName: "project-suspended" */
|
|
2593
2598
|
); });
|
|
2594
2599
|
});
|
|
@@ -2605,7 +2610,7 @@ var minDaysToDisplayNotification = 14;
|
|
|
2605
2610
|
var maxDaysToDisplayNotification = 0;
|
|
2606
2611
|
|
|
2607
2612
|
var shouldShowNotificationForTrialExpired = function shouldShowNotificationForTrialExpired(daysLeft) {
|
|
2608
|
-
return !isNil__default[
|
|
2613
|
+
return !isNil__default["default"](daysLeft) && daysLeft <= minDaysToDisplayNotification && daysLeft >= maxDaysToDisplayNotification;
|
|
2609
2614
|
};
|
|
2610
2615
|
|
|
2611
2616
|
var ProjectContainer = function ProjectContainer(props) {
|
|
@@ -2690,6 +2695,8 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2690
2695
|
return jsxRuntime.jsx(ProjectDataLocale, {
|
|
2691
2696
|
locales: project.languages,
|
|
2692
2697
|
children: function children(_ref2) {
|
|
2698
|
+
var _project$expiry$daysL;
|
|
2699
|
+
|
|
2693
2700
|
var locale = _ref2.locale,
|
|
2694
2701
|
setProjectDataLocale = _ref2.setProjectDataLocale;
|
|
2695
2702
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
@@ -2698,7 +2705,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2698
2705
|
projectDataLocale: locale,
|
|
2699
2706
|
environment: props.environment,
|
|
2700
2707
|
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
2701
|
-
children: [shouldShowNotificationForTrialExpired(project.expiry.daysLeft) && jsxRuntime.jsx(reactNotifications.Notifier, {
|
|
2708
|
+
children: [shouldShowNotificationForTrialExpired((_project$expiry$daysL = project.expiry.daysLeft) !== null && _project$expiry$daysL !== void 0 ? _project$expiry$daysL : undefined) && jsxRuntime.jsx(reactNotifications.Notifier, {
|
|
2702
2709
|
kind: "warning",
|
|
2703
2710
|
domain: constants.DOMAINS.GLOBAL,
|
|
2704
2711
|
text: intl.formatMessage(messages$1.trialDaysLeft, {
|
|
@@ -2706,7 +2713,7 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2706
2713
|
})
|
|
2707
2714
|
}), localeSwitcherNode && // Render the `<LocaleSwitcher>` only if the project has more
|
|
2708
2715
|
// than one language.
|
|
2709
|
-
project.languages.length > 1 && /*#__PURE__*/ReactDOM__default[
|
|
2716
|
+
project.languages.length > 1 && /*#__PURE__*/ReactDOM__default["default"].createPortal(jsxRuntime.jsx(LocaleSwitcher // Be explicit on listing the props so that we can better assert it.
|
|
2710
2717
|
, {
|
|
2711
2718
|
projectDataLocale: locale,
|
|
2712
2719
|
setProjectDataLocale: setProjectDataLocale,
|
|
@@ -2727,19 +2734,19 @@ var ProjectContainer = function ProjectContainer(props) {
|
|
|
2727
2734
|
};
|
|
2728
2735
|
|
|
2729
2736
|
ProjectContainer.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2730
|
-
render: _pt__default[
|
|
2731
|
-
children: _pt__default[
|
|
2737
|
+
render: _pt__default["default"].func,
|
|
2738
|
+
children: _pt__default["default"].node
|
|
2732
2739
|
} : {};
|
|
2733
2740
|
ProjectContainer.displayName = 'ProjectContainer';
|
|
2734
2741
|
|
|
2735
|
-
function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
2742
|
+
function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2736
2743
|
|
|
2737
|
-
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
2744
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$5(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$5(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
2738
2745
|
var FetchAllMenuFeatureToggles = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchAllMenuFeatureToggles" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatureToggles" }, arguments: [], directives: [] }] } }], loc: { start: 0, end: 57, source: { body: "query FetchAllMenuFeatureToggles {\n allFeatureToggles\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
2739
2746
|
var defaultApiUrl = window.location.origin;
|
|
2740
2747
|
|
|
2741
2748
|
var getDefaultedFeatureToggles = function getDefaultedFeatureToggles(allFeatureToggles) {
|
|
2742
|
-
return _reduceInstanceProperty__default[
|
|
2749
|
+
return _reduceInstanceProperty__default["default"](allFeatureToggles).call(allFeatureToggles, function (previouslyDefaultedFeatureToggles, nextFeatureToggle) {
|
|
2743
2750
|
return _objectSpread$5(_objectSpread$5({}, previouslyDefaultedFeatureToggles), {}, _defineProperty({}, nextFeatureToggle, false));
|
|
2744
2751
|
}, {});
|
|
2745
2752
|
};
|
|
@@ -2792,9 +2799,9 @@ var useAllMenuFeatureToggles = function useAllMenuFeatureToggles() {
|
|
|
2792
2799
|
*/
|
|
2793
2800
|
var FLAGS = {};
|
|
2794
2801
|
|
|
2795
|
-
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
2802
|
+
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2796
2803
|
|
|
2797
|
-
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default[
|
|
2804
|
+
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context4; _forEachInstanceProperty__default["default"](_context4 = ownKeys$4(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
2798
2805
|
var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AllFeatures" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatures" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }] } }], loc: { start: 0, end: 72, source: { body: "query AllFeatures {\n allFeatures {\n name\n value\n reason\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
2799
2806
|
// This value is hard-coded here because we want to make sure that the
|
|
2800
2807
|
// app uses our account of LD. The value is meant to be public, so there
|
|
@@ -2817,7 +2824,7 @@ function getUserCustomFieldsForLaunchDarklyAdapter(user, projectKey) {
|
|
|
2817
2824
|
var parseFlags = function parseFlags(fetchedFlags) {
|
|
2818
2825
|
var _context;
|
|
2819
2826
|
|
|
2820
|
-
return _Object$fromEntries__default[
|
|
2827
|
+
return _Object$fromEntries__default["default"](_mapInstanceProperty__default["default"](_context = fetchedFlags.allFeatures).call(_context, function (fetchedFlag) {
|
|
2821
2828
|
return [fetchedFlag.name, {
|
|
2822
2829
|
value: fetchedFlag.value,
|
|
2823
2830
|
reason: fetchedFlag.reason
|
|
@@ -2832,13 +2839,13 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2832
2839
|
});
|
|
2833
2840
|
var allMenuFeatureToggles = useAllMenuFeatureToggles();
|
|
2834
2841
|
var flags = react.useMemo(function () {
|
|
2835
|
-
return _objectSpread$4(_objectSpread$4(_objectSpread$4({}, FLAGS), allMenuFeatureToggles.allFeatureToggles), _flagsInstanceProperty__default[
|
|
2836
|
-
}, [allMenuFeatureToggles.allFeatureToggles, _flagsInstanceProperty__default[
|
|
2842
|
+
return _objectSpread$4(_objectSpread$4(_objectSpread$4({}, FLAGS), allMenuFeatureToggles.allFeatureToggles), _flagsInstanceProperty__default["default"](props));
|
|
2843
|
+
}, [allMenuFeatureToggles.allFeatureToggles, _flagsInstanceProperty__default["default"](props)]);
|
|
2837
2844
|
react.useMemo(function () {
|
|
2838
2845
|
if (enableLongLivedFeatureFlags) {
|
|
2839
|
-
combineAdapters__default[
|
|
2846
|
+
combineAdapters__default["default"].combine([ldAdapter__default["default"], httpAdapter__default["default"]]);
|
|
2840
2847
|
} else {
|
|
2841
|
-
combineAdapters__default[
|
|
2848
|
+
combineAdapters__default["default"].combine([ldAdapter__default["default"]]);
|
|
2842
2849
|
}
|
|
2843
2850
|
}, [enableLongLivedFeatureFlags]);
|
|
2844
2851
|
var defaultFlags = react.useMemo(function () {
|
|
@@ -2869,9 +2876,9 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2869
2876
|
key: (_props$user3 = props.user) === null || _props$user3 === void 0 ? void 0 : _props$user3.id
|
|
2870
2877
|
},
|
|
2871
2878
|
execute: function () {
|
|
2872
|
-
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default[
|
|
2879
|
+
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
|
|
2873
2880
|
var response;
|
|
2874
|
-
return _regeneratorRuntime__default[
|
|
2881
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context2) {
|
|
2875
2882
|
while (1) {
|
|
2876
2883
|
switch (_context2.prev = _context2.next) {
|
|
2877
2884
|
case 0:
|
|
@@ -2925,7 +2932,7 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2925
2932
|
}
|
|
2926
2933
|
|
|
2927
2934
|
return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
|
|
2928
|
-
adapter: combineAdapters__default[
|
|
2935
|
+
adapter: combineAdapters__default["default"],
|
|
2929
2936
|
adapterArgs: adapterArgs,
|
|
2930
2937
|
defaultFlags: defaultFlags,
|
|
2931
2938
|
shouldDeferAdapterConfiguration: typeof props.shouldDeferAdapterConfiguration === 'boolean' ? props.shouldDeferAdapterConfiguration : !props.user || allMenuFeatureToggles.isLoading,
|
|
@@ -2933,12 +2940,12 @@ var SetupFlopFlipProvider = function SetupFlopFlipProvider(props) {
|
|
|
2933
2940
|
});
|
|
2934
2941
|
};
|
|
2935
2942
|
SetupFlopFlipProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
2936
|
-
projectKey: _pt__default[
|
|
2937
|
-
flags: _pt__default[
|
|
2938
|
-
defaultFlags: _pt__default[
|
|
2939
|
-
ldClientSideId: _pt__default[
|
|
2940
|
-
children: _pt__default[
|
|
2941
|
-
shouldDeferAdapterConfiguration: _pt__default[
|
|
2943
|
+
projectKey: _pt__default["default"].string,
|
|
2944
|
+
flags: _pt__default["default"].any,
|
|
2945
|
+
defaultFlags: _pt__default["default"].any,
|
|
2946
|
+
ldClientSideId: _pt__default["default"].string,
|
|
2947
|
+
children: _pt__default["default"].node.isRequired,
|
|
2948
|
+
shouldDeferAdapterConfiguration: _pt__default["default"].bool
|
|
2942
2949
|
} : {};
|
|
2943
2950
|
SetupFlopFlipProvider.displayName = 'SetupFlopFlipProvider';
|
|
2944
2951
|
|
|
@@ -2967,9 +2974,9 @@ var GtmApplicationTracker = function GtmApplicationTracker(props) {
|
|
|
2967
2974
|
};
|
|
2968
2975
|
|
|
2969
2976
|
GtmApplicationTracker.propTypes = {
|
|
2970
|
-
applicationName: _pt__default[
|
|
2971
|
-
projectKey: _pt__default[
|
|
2972
|
-
userBusinessRole: _pt__default[
|
|
2977
|
+
applicationName: _pt__default["default"].string.isRequired,
|
|
2978
|
+
projectKey: _pt__default["default"].string,
|
|
2979
|
+
userBusinessRole: _pt__default["default"].string
|
|
2973
2980
|
};
|
|
2974
2981
|
GtmApplicationTracker.displayName = 'GtmApplicationTracker';
|
|
2975
2982
|
|
|
@@ -2982,7 +2989,7 @@ var messages = reactIntl.defineMessages({
|
|
|
2982
2989
|
|
|
2983
2990
|
var useLoadingMenuLayoutEffect = function useLoadingMenuLayoutEffect() {
|
|
2984
2991
|
var cachedIsForcedMenuOpen = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
2985
|
-
var isForcedMenuOpen = isNil__default[
|
|
2992
|
+
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
2986
2993
|
react.useLayoutEffect(function () {
|
|
2987
2994
|
if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
|
|
2988
2995
|
if (!isForcedMenuOpen) document.body.classList.remove('body__menu-open');
|
|
@@ -2994,15 +3001,15 @@ function nonNullable(value) {
|
|
|
2994
3001
|
return value !== null && value !== undefined;
|
|
2995
3002
|
}
|
|
2996
3003
|
|
|
2997
|
-
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
3004
|
+
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2998
3005
|
|
|
2999
|
-
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context9; _forEachInstanceProperty__default[
|
|
3006
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context9; _forEachInstanceProperty__default["default"](_context9 = ownKeys$3(Object(source), true)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context10; _forEachInstanceProperty__default["default"](_context10 = ownKeys$3(Object(source))).call(_context10, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
3000
3007
|
var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "applications" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "where" }, value: { kind: "ObjectValue", fields: [{ kind: "ObjectField", name: { kind: "Name", value: "isActive" }, value: { kind: "BooleanValue", value: true } }] } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "navbarMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "menuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 1003, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n applications(where: { isActive: true }) {\n id\n navbarMenu {\n id\n key\n uriPath\n icon\n labelAllLocales {\n locale\n value\n }\n featureToggle\n permissions\n submenu {\n id\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n permissions\n featureToggle\n }\n }\n }\n installedApplications {\n application {\n id\n entryPointUriPath\n menuLinks {\n id\n icon\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
3001
3008
|
|
|
3002
3009
|
var getInitialState = function getInitialState(isForcedMenuOpen) {
|
|
3003
3010
|
return {
|
|
3004
3011
|
isExpanderVisible: true,
|
|
3005
|
-
isMenuOpen: isNil__default[
|
|
3012
|
+
isMenuOpen: isNil__default["default"](isForcedMenuOpen) ? false : isForcedMenuOpen
|
|
3006
3013
|
};
|
|
3007
3014
|
};
|
|
3008
3015
|
|
|
@@ -3067,7 +3074,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3067
3074
|
}),
|
|
3068
3075
|
projectExtensionsQuery = _useMcQuery.data;
|
|
3069
3076
|
|
|
3070
|
-
var legacyCustomAppsMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.applications ? _filterInstanceProperty__default[
|
|
3077
|
+
var legacyCustomAppsMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.applications ? _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = projectExtensionsQuery.projectExtension.applications).call(_context2, function (app) {
|
|
3071
3078
|
var _context3;
|
|
3072
3079
|
|
|
3073
3080
|
// Map the menu properties to match the one from the proxy schema.
|
|
@@ -3082,7 +3089,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3082
3089
|
icon: app.navbarMenu.icon,
|
|
3083
3090
|
featureToggle: app.navbarMenu.featureToggle,
|
|
3084
3091
|
permissions: app.navbarMenu.permissions,
|
|
3085
|
-
submenu: _mapInstanceProperty__default[
|
|
3092
|
+
submenu: _mapInstanceProperty__default["default"](_context3 = app.navbarMenu.submenu || []).call(_context3, function (menu) {
|
|
3086
3093
|
return {
|
|
3087
3094
|
key: menu.key,
|
|
3088
3095
|
uriPath: menu.uriPath,
|
|
@@ -3100,7 +3107,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3100
3107
|
shouldRenderDivider: false
|
|
3101
3108
|
};
|
|
3102
3109
|
})).call(_context, nonNullable) : [];
|
|
3103
|
-
var organizationCustomAppsMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default[
|
|
3110
|
+
var organizationCustomAppsMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = projectExtensionsQuery.projectExtension.installedApplications).call(_context5, function (installedApplication) {
|
|
3104
3111
|
var _context6;
|
|
3105
3112
|
|
|
3106
3113
|
var application = installedApplication.application; // Map the menu properties to match the one from the proxy schema.
|
|
@@ -3121,7 +3128,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3121
3128
|
actionRights: undefined,
|
|
3122
3129
|
dataFences: undefined,
|
|
3123
3130
|
shouldRenderDivider: false,
|
|
3124
|
-
submenu: _mapInstanceProperty__default[
|
|
3131
|
+
submenu: _mapInstanceProperty__default["default"](_context6 = application.menuLinks.submenuLinks || []).call(_context6, function (submenuLink) {
|
|
3125
3132
|
return {
|
|
3126
3133
|
key: submenuLink.id,
|
|
3127
3134
|
uriPath: submenuLink.uriPath,
|
|
@@ -3137,14 +3144,14 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3137
3144
|
};
|
|
3138
3145
|
})).call(_context4, nonNullable) : [];
|
|
3139
3146
|
var cachedIsForcedMenuOpen = window.localStorage.getItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
|
|
3140
|
-
var isForcedMenuOpen = isNil__default[
|
|
3147
|
+
var isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
|
|
3141
3148
|
|
|
3142
3149
|
var _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
|
|
3143
3150
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
3144
3151
|
state = _useReducer2[0],
|
|
3145
3152
|
dispatch = _useReducer2[1];
|
|
3146
3153
|
|
|
3147
|
-
var checkSize = react.useCallback(throttle__default[
|
|
3154
|
+
var checkSize = react.useCallback(throttle__default["default"](function () {
|
|
3148
3155
|
var shouldOpen = window.innerWidth > 1024;
|
|
3149
3156
|
var canExpandMenu = window.innerWidth > 918; // If the screen is small, we should always keep the menu closed,
|
|
3150
3157
|
// no matter the settings.
|
|
@@ -3160,7 +3167,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3160
3167
|
dispatch({
|
|
3161
3168
|
type: 'setIsExpanderVisible'
|
|
3162
3169
|
});
|
|
3163
|
-
} else if (isNil__default[
|
|
3170
|
+
} else if (isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
|
|
3164
3171
|
// User has no settings yet (this.props.isForcedMenuOpen === null)
|
|
3165
3172
|
// We check the viewport size and:
|
|
3166
3173
|
// - if screen is big, we open the menu
|
|
@@ -3169,7 +3176,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3169
3176
|
type: 'setIsMenuOpenAndMakeExpanderVisible',
|
|
3170
3177
|
payload: shouldOpen
|
|
3171
3178
|
});
|
|
3172
|
-
} else if (!isNil__default[
|
|
3179
|
+
} else if (!isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
|
|
3173
3180
|
// User has setting, we should use that and ignore the screen size.
|
|
3174
3181
|
// Note: if viewport size is small, we should ignore the user settings.
|
|
3175
3182
|
dispatch({
|
|
@@ -3221,7 +3228,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3221
3228
|
window.localStorage.setItem(applicationEntryPoint.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
|
|
3222
3229
|
}, [state.activeItemIndex, state.isMenuOpen]);
|
|
3223
3230
|
|
|
3224
|
-
var allApplicationNavbarMenu = _concatInstanceProperty__default[
|
|
3231
|
+
var allApplicationNavbarMenu = _concatInstanceProperty__default["default"](_context7 = _concatInstanceProperty__default["default"](_context8 = applicationsNavBarMenu || []).call(_context8, legacyCustomAppsMenu)).call(_context7, organizationCustomAppsMenu);
|
|
3225
3232
|
|
|
3226
3233
|
return _objectSpread$3(_objectSpread$3({}, state), {}, {
|
|
3227
3234
|
navBarNode: navBarNode,
|
|
@@ -3234,9 +3241,9 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3234
3241
|
|
|
3235
3242
|
var _excluded = ["icon"];
|
|
3236
3243
|
|
|
3237
|
-
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
3244
|
+
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
3238
3245
|
|
|
3239
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context11; _forEachInstanceProperty__default[
|
|
3246
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context11; _forEachInstanceProperty__default["default"](_context11 = ownKeys$2(Object(source), true)).call(_context11, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context12; _forEachInstanceProperty__default["default"](_context12 = ownKeys$2(Object(source))).call(_context12, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
3240
3247
|
var compiledStyles = {
|
|
3241
3248
|
"global": ":root {\n\n /* Left navigation */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___2JfJ4 {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n background: #213c45;\n}\n\n.navbar-mod__list___22CBT {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___3JT_a {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___2CV9O {\n width: 64px;\n height: 64px;\n background: #213c45;\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___2pLxz {\n color: #fff;\n padding: 16px;\n width: 100%;\n position: relative;\n display: block;\n}\n\n.navbar-mod__list-item___2CV9O .navbar-mod__item-icon-text___2Bdz0 {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n\n.navbar-mod__list-item___2CV9O .navbar-mod__icon___G8L2p {\n width: 32px;\n height: 32px;\n}\n\n.navbar-mod__list-item___2CV9O .navbar-mod__title___2bBYs {\n flex: 1;\n font-size: 1rem;\n font-weight: 100;\n color: #fff;\n display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n}\n\n.navbar-mod__title-user-voice___1XOMJ {\n font-size: 0.9em !important;\n}\n\n.navbar-mod__expander___3j0Ah {\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n}\n\n.navbar-mod__expander___3j0Ah:hover {\n background: transparent !important;\n}\n\n.navbar-mod__expand-icon___3bqER {\n background: #1a1a1a;\n align-items: center;\n border-radius: 32px;\n cursor: pointer;\n display: flex;\n height: 32px;\n justify-content: center;\n transform: translateX(0) rotateZ(180deg);\n width: 32px;\n}\n\n.navbar-mod__item--bottom___2zyjN {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___2CV9O:hover {\n background-color: hsl(195, 35.2941176471%, 30%);\n}\n\n.navbar-mod__item__active___uKTOD .navbar-mod__title___2bBYs {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___165Am {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item__no-submenu___1uXLp,\n.navbar-mod__item_menu-collapsed___2Dxlb {\n height: 64px !important;\n}\n\n.navbar-mod__item_menu-collapsed___2Dxlb .navbar-mod__item-link___2pLxz {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___1uXLp .navbar-mod__title___2bBYs {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___1uXLp .navbar-mod__sublist___20Vql {\n padding: 45px 20px 20px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___2bBYs {\n color: #fff;\n font-weight: 100;\n}\n\n.body__menu-open .navbar-mod__left-navigation___2JfJ4 {\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.16);\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O {\n height: auto;\n min-height: 64px;\n max-height: 0;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___2JfJ4,\n.body__menu-open .navbar-mod__list-item___2CV9O {\n width: 200px;\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O .navbar-mod__title___2bBYs {\n display: block;\n opacity: 1;\n margin-left: 16px;\n color: #fff;\n}\n\n.body__menu-open .navbar-mod__expand-icon___3bqER {\n transform: translateX(65px) rotateZ(0deg);\n}\n\n.body__menu-open .navbar-mod__item__active___uKTOD {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___20Vql {\n position: relative;\n z-index: 1;\n left: 0;\n margin: 0 0 0 calc(32px + 16px);\n padding: 8px 0 0;\n background-color: transparent;\n border-top: 1px hsl(0, 0%, 60%) solid;\n}\n\n.body__menu-open .navbar-mod__sublist___20Vql.navbar-mod__sublist-no-children___3dFDb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___2VC6O {\n font-size: 0.857em;\n color: white;\n text-decoration: none;\n font-weight: lighter;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___2VC6O:hover {\n color: hsl(172.9608938547486, 100%, 40%);\n}\n\n.body__menu-open .navbar-mod__expander___3j0Ah {\n min-height: 50px;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___20Vql {\n padding: 55px 16px 16px;\n font-weight: 100;\n position: absolute;\n background-color: hsl(195, 35.2941176471%, 30%);\n top: 0;\n left: 64px;\n z-index: -1;\n list-style: none;\n opacity: 0.01;\n visibility: hidden;\n}\n\n.navbar-mod__sublist__inactive___2GFCL {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___2klZq {\n padding: 3px 0;\n}\n\n.navbar-mod__sublist-item___2klZq:hover {\n /* background-color: --color-accent-30; */\n color: hsl(172.9608938547486, 100%, 40%);\n}\n\n.navbar-mod__text___1dlPt {\n font-size: 0.857em;\n}\n\n.navbar-mod__text-link___16AcQ {\n color: white;\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link___16AcQ:hover {\n color: hsl(172.9608938547486, 100%, 40%);\n}\n\n.navbar-mod__title-text___2Exso {\n font-weight: bold;\n visibility: hidden;\n opacity: 0.001;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___uKTOD {\n background: hsl(195, 35.2941176471%, 30%);\n}\n\n.navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__item-icon-text___2Bdz0 {\n position: absolute;\n width: 175px;\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__item-icon-text___2Bdz0 {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__item-icon-text___2Bdz0 .navbar-mod__title___2bBYs {\n margin-left: 30px;\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__item-icon-text___2Bdz0 .navbar-mod__title___2bBYs {\n margin-left: 16px;\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__item-icon-text___2Bdz0 {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__sublist___20Vql {\n width: 150px;\n}\n\n.body__menu-open .navbar-mod__list-item___2CV9O.navbar-mod__item__active___uKTOD .navbar-mod__sublist___20Vql {\n width: calc(100% - calc(32px + 16px));\n}\n\n.navbar-mod__sublist-expanded__active___Gvsr5,\n.navbar-mod__sublist-collapsed__active___3XAsJ {\n opacity: 1;\n visibility: visible;\n text-align: left;\n}\n\n.navbar-mod__highlighted___DH7ye {\n color: hsl(172.9608938547486, 100%, 40%) !important;\n}\n\n.navbar-mod__hidden___2E9vv {\n display: none;\n}\n\n.navbar-mod__divider-first-item___Fieyx {\n border-top: 1px solid #1a1a1a;\n}\n\n.navbar-mod__divider-second-item___P5vk_ {\n border-top: 1px solid hsl(195, 35.2941176471%, 40%);\n}\n\n.navbar-mod__loading-dot-container___1oV00 {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___3JT_a {\n flex: 1 1 0;\n}\n\n.navbar-mod__fixed-menu___1Bied {\n flex: 0 0 0;\n}\n",
|
|
3242
3249
|
"jsonMap": {
|
|
@@ -3284,8 +3291,8 @@ var IconSwitcher = function IconSwitcher(_ref) {
|
|
|
3284
3291
|
var icon = _ref.icon,
|
|
3285
3292
|
iconProps = _objectWithoutProperties(_ref, _excluded);
|
|
3286
3293
|
|
|
3287
|
-
if (_includesInstanceProperty__default[
|
|
3288
|
-
return jsxRuntime.jsx(InlineSvg__default[
|
|
3294
|
+
if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
|
|
3295
|
+
return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$2({
|
|
3289
3296
|
data: icon
|
|
3290
3297
|
}, iconProps));
|
|
3291
3298
|
} // Backwards compatibility for apps using the "icon name".
|
|
@@ -3342,20 +3349,20 @@ var IconSwitcher = function IconSwitcher(_ref) {
|
|
|
3342
3349
|
|
|
3343
3350
|
default:
|
|
3344
3351
|
return jsxRuntime.jsx("img", {
|
|
3345
|
-
src: MissingImageSvg__default[
|
|
3352
|
+
src: MissingImageSvg__default["default"],
|
|
3346
3353
|
alt: "missing icon"
|
|
3347
3354
|
});
|
|
3348
3355
|
}
|
|
3349
3356
|
};
|
|
3350
3357
|
|
|
3351
3358
|
IconSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3352
|
-
icon: _pt__default[
|
|
3359
|
+
icon: _pt__default["default"].string.isRequired
|
|
3353
3360
|
} : {};
|
|
3354
3361
|
IconSwitcher.displayName = 'IconSwitcher';
|
|
3355
3362
|
|
|
3356
3363
|
var MenuExpander = function MenuExpander(props) {
|
|
3357
3364
|
return jsxRuntime.jsx("li", {
|
|
3358
|
-
className: classnames__default[
|
|
3365
|
+
className: classnames__default["default"](styles['list-item'], styles.expander, _defineProperty({}, styles.hidden, !props.isVisible)),
|
|
3359
3366
|
children: jsxRuntime.jsx("div", {
|
|
3360
3367
|
onClick: props.onClick,
|
|
3361
3368
|
className: styles['expand-icon'],
|
|
@@ -3369,8 +3376,8 @@ var MenuExpander = function MenuExpander(props) {
|
|
|
3369
3376
|
};
|
|
3370
3377
|
|
|
3371
3378
|
MenuExpander.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3372
|
-
isVisible: _pt__default[
|
|
3373
|
-
onClick: _pt__default[
|
|
3379
|
+
isVisible: _pt__default["default"].bool.isRequired,
|
|
3380
|
+
onClick: _pt__default["default"].func.isRequired
|
|
3374
3381
|
} : {};
|
|
3375
3382
|
MenuExpander.displayName = 'MenuExpander';
|
|
3376
3383
|
|
|
@@ -3382,17 +3389,17 @@ var MenuGroup = function MenuGroup(props) {
|
|
|
3382
3389
|
"data-testid": "".concat(props.id, "-group"),
|
|
3383
3390
|
role: "menu",
|
|
3384
3391
|
"aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
|
|
3385
|
-
className: classnames__default[
|
|
3392
|
+
className: classnames__default["default"](_defineProperty({}, styles.list, props.level === 1), _defineProperty({}, styles.sublist, props.level === 2), _defineProperty({}, styles['sublist-no-children'], props.level === 2 && !props.children), _defineProperty({}, styles['sublist-expanded__active'], isSublistActiveWhileIsMenuExpanded), _defineProperty({}, styles['sublist-collapsed__active'], isSublistActiveWhileIsMenuCollapsed), _defineProperty({}, styles.sublist__inactive, !isSublistActiveWhileIsMenuCollapsed)),
|
|
3386
3393
|
children: props.children
|
|
3387
3394
|
});
|
|
3388
3395
|
};
|
|
3389
3396
|
|
|
3390
3397
|
MenuGroup.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3391
|
-
id: _pt__default[
|
|
3392
|
-
level: _pt__default[
|
|
3393
|
-
isActive: _pt__default[
|
|
3394
|
-
isExpanded: _pt__default[
|
|
3395
|
-
children: _pt__default[
|
|
3398
|
+
id: _pt__default["default"].string.isRequired,
|
|
3399
|
+
level: _pt__default["default"].oneOf([1, 2]).isRequired,
|
|
3400
|
+
isActive: _pt__default["default"].bool,
|
|
3401
|
+
isExpanded: _pt__default["default"].bool,
|
|
3402
|
+
children: _pt__default["default"].node
|
|
3396
3403
|
} : {};
|
|
3397
3404
|
MenuGroup.displayName = 'MenuGroup';
|
|
3398
3405
|
|
|
@@ -3401,7 +3408,7 @@ var MenuItem = function MenuItem(props) {
|
|
|
3401
3408
|
|
|
3402
3409
|
return jsxRuntime.jsx("li", {
|
|
3403
3410
|
role: "menu-item",
|
|
3404
|
-
className: classnames__default[
|
|
3411
|
+
className: classnames__default["default"](styles['list-item'], (_classnames8 = {}, _defineProperty(_classnames8, styles.item__active, props.isActive), _defineProperty(_classnames8, styles['item_menu-collapsed'], !props.isMenuOpen), _defineProperty(_classnames8, styles['item__no-submenu'], !props.hasSubmenu), _classnames8)),
|
|
3405
3412
|
onClick: props.onClick,
|
|
3406
3413
|
onMouseEnter: props.onMouseEnter,
|
|
3407
3414
|
onMouseLeave: props.onMouseLeave,
|
|
@@ -3413,13 +3420,13 @@ var MenuItem = function MenuItem(props) {
|
|
|
3413
3420
|
};
|
|
3414
3421
|
|
|
3415
3422
|
MenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3416
|
-
hasSubmenu: _pt__default[
|
|
3417
|
-
isActive: _pt__default[
|
|
3418
|
-
isMenuOpen: _pt__default[
|
|
3419
|
-
onClick: _pt__default[
|
|
3420
|
-
onMouseEnter: _pt__default[
|
|
3421
|
-
onMouseLeave: _pt__default[
|
|
3422
|
-
children: _pt__default[
|
|
3423
|
+
hasSubmenu: _pt__default["default"].bool.isRequired,
|
|
3424
|
+
isActive: _pt__default["default"].bool.isRequired,
|
|
3425
|
+
isMenuOpen: _pt__default["default"].bool.isRequired,
|
|
3426
|
+
onClick: _pt__default["default"].func.isRequired,
|
|
3427
|
+
onMouseEnter: _pt__default["default"].func,
|
|
3428
|
+
onMouseLeave: _pt__default["default"].func,
|
|
3429
|
+
children: _pt__default["default"].node.isRequired
|
|
3423
3430
|
} : {};
|
|
3424
3431
|
MenuItem.displayName = 'MenuItem';
|
|
3425
3432
|
var menuItemLinkDefaultProps = {
|
|
@@ -3458,11 +3465,11 @@ var MenuItemLink = function MenuItemLink(props) {
|
|
|
3458
3465
|
};
|
|
3459
3466
|
|
|
3460
3467
|
MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3461
|
-
linkTo: _pt__default[
|
|
3462
|
-
exactMatch: _pt__default[
|
|
3463
|
-
children: _pt__default[
|
|
3464
|
-
onClick: _pt__default[
|
|
3465
|
-
useFullRedirectsForLinks: _pt__default[
|
|
3468
|
+
linkTo: _pt__default["default"].string,
|
|
3469
|
+
exactMatch: _pt__default["default"].bool.isRequired,
|
|
3470
|
+
children: _pt__default["default"].node.isRequired,
|
|
3471
|
+
onClick: _pt__default["default"].func,
|
|
3472
|
+
useFullRedirectsForLinks: _pt__default["default"].bool
|
|
3466
3473
|
} : {};
|
|
3467
3474
|
MenuItemLink.displayName = 'MenuItemLink';
|
|
3468
3475
|
MenuItemLink.defaultProps = menuItemLinkDefaultProps; // This component just render two divs with borders in order to differentiate
|
|
@@ -3484,7 +3491,7 @@ MenuItemDivider.displayName = 'MenuItemDivider'; // This component wraps `<Restr
|
|
|
3484
3491
|
// children if the flag is missing/not found.
|
|
3485
3492
|
|
|
3486
3493
|
var isEveryMenuVisibilitySetToHidden = function isEveryMenuVisibilitySetToHidden(menuVisibilities, namesOfMenuVisibilities) {
|
|
3487
|
-
return _Array$isArray__default[
|
|
3494
|
+
return _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, function (nameOfMenuVisibility) {
|
|
3488
3495
|
return menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true;
|
|
3489
3496
|
});
|
|
3490
3497
|
};
|
|
@@ -3497,7 +3504,7 @@ var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
|
3497
3504
|
// NOTE: Custom application are activated/deactivated while their
|
|
3498
3505
|
// visibility is not controlled via a visibiility overwrite.
|
|
3499
3506
|
if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
|
|
3500
|
-
var permissionsWrapper = _Array$isArray__default[
|
|
3507
|
+
var permissionsWrapper = _Array$isArray__default["default"](props.permissions) && props.permissions.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
|
|
3501
3508
|
permissions: props.permissions,
|
|
3502
3509
|
actionRights: props.actionRights,
|
|
3503
3510
|
dataFences: props.dataFences,
|
|
@@ -3529,19 +3536,19 @@ var RestrictedMenuItem = function RestrictedMenuItem(props) {
|
|
|
3529
3536
|
};
|
|
3530
3537
|
|
|
3531
3538
|
RestrictedMenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3532
|
-
featureToggle: _pt__default[
|
|
3533
|
-
namesOfMenuVisibilities: _pt__default[
|
|
3534
|
-
projectPermissions: _pt__default[
|
|
3535
|
-
permissions: _pt__default[
|
|
3536
|
-
actionRights: _pt__default[
|
|
3537
|
-
dataFences: _pt__default[
|
|
3539
|
+
featureToggle: _pt__default["default"].string,
|
|
3540
|
+
namesOfMenuVisibilities: _pt__default["default"].arrayOf(_pt__default["default"].string),
|
|
3541
|
+
projectPermissions: _pt__default["default"].shape({
|
|
3542
|
+
permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3543
|
+
actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3544
|
+
dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
|
|
3538
3545
|
}).isRequired,
|
|
3539
|
-
menuVisibilities: _pt__default[
|
|
3540
|
-
keyOfMenuItem: _pt__default[
|
|
3541
|
-
permissions: _pt__default[
|
|
3542
|
-
actionRights: _pt__default[
|
|
3543
|
-
dataFences: _pt__default[
|
|
3544
|
-
children: _pt__default[
|
|
3546
|
+
menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3547
|
+
keyOfMenuItem: _pt__default["default"].string.isRequired,
|
|
3548
|
+
permissions: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired,
|
|
3549
|
+
actionRights: _pt__default["default"].arrayOf(_pt__default["default"].any),
|
|
3550
|
+
dataFences: _pt__default["default"].arrayOf(_pt__default["default"].any),
|
|
3551
|
+
children: _pt__default["default"].node.isRequired
|
|
3545
3552
|
} : {};
|
|
3546
3553
|
RestrictedMenuItem.displayName = 'RestrictedMenuItem';
|
|
3547
3554
|
RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
|
|
@@ -3553,7 +3560,7 @@ var getIconColor = function getIconColor(isActive, isAlternativeTheme) {
|
|
|
3553
3560
|
var getMenuVisibilitiesOfSubmenus = function getMenuVisibilitiesOfSubmenus(menu) {
|
|
3554
3561
|
var _context, _context2;
|
|
3555
3562
|
|
|
3556
|
-
return _filterInstanceProperty__default[
|
|
3563
|
+
return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, function (submenu) {
|
|
3557
3564
|
return submenu.menuVisibility;
|
|
3558
3565
|
})).call(_context, nonNullable);
|
|
3559
3566
|
};
|
|
@@ -3565,10 +3572,10 @@ var getMenuVisibilityOfMainmenu = function getMenuVisibilityOfMainmenu(menu) {
|
|
|
3565
3572
|
var MenuLabel = function MenuLabel(props) {
|
|
3566
3573
|
var _context3;
|
|
3567
3574
|
|
|
3568
|
-
var localizedLabel = _findInstanceProperty__default[
|
|
3575
|
+
var localizedLabel = _findInstanceProperty__default["default"](_context3 = props.labelAllLocales).call(_context3, function (loc) {
|
|
3569
3576
|
var _context4;
|
|
3570
3577
|
|
|
3571
|
-
return _startsWithInstanceProperty__default[
|
|
3578
|
+
return _startsWithInstanceProperty__default["default"](_context4 = props.applicationLocale).call(_context4, loc.locale);
|
|
3572
3579
|
});
|
|
3573
3580
|
|
|
3574
3581
|
if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -3583,20 +3590,20 @@ var MenuLabel = function MenuLabel(props) {
|
|
|
3583
3590
|
};
|
|
3584
3591
|
|
|
3585
3592
|
MenuLabel.propTypes = {
|
|
3586
|
-
labelAllLocales: _pt__default[
|
|
3587
|
-
defaultLabel: _pt__default[
|
|
3588
|
-
applicationLocale: _pt__default[
|
|
3593
|
+
labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
|
|
3594
|
+
defaultLabel: _pt__default["default"].string,
|
|
3595
|
+
applicationLocale: _pt__default["default"].string.isRequired
|
|
3589
3596
|
};
|
|
3590
3597
|
|
|
3591
3598
|
var ApplicationMenu = function ApplicationMenu(props) {
|
|
3592
|
-
var _context5, _context6, _context7;
|
|
3599
|
+
var _context5, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context6, _context7;
|
|
3593
3600
|
|
|
3594
3601
|
var isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
|
|
3595
|
-
path: _concatInstanceProperty__default[
|
|
3602
|
+
path: _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
|
|
3596
3603
|
exact: false,
|
|
3597
3604
|
strict: false
|
|
3598
3605
|
}));
|
|
3599
|
-
var hasSubmenu = _Array$isArray__default[
|
|
3606
|
+
var hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
|
|
3600
3607
|
react.useEffect(function () {
|
|
3601
3608
|
// On first render, check which menu is active for the current application and expand
|
|
3602
3609
|
// the submenu automatically unless the all navbar is collapsed or there are no submenu links.
|
|
@@ -3614,10 +3621,10 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3614
3621
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3615
3622
|
children: [props.menu.shouldRenderDivider && jsxRuntime.jsx(MenuItemDivider, {}), jsxRuntime.jsx(RestrictedMenuItem, {
|
|
3616
3623
|
keyOfMenuItem: props.menu.key,
|
|
3617
|
-
featureToggle: props.menu.featureToggle,
|
|
3624
|
+
featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
|
|
3618
3625
|
permissions: props.menu.permissions,
|
|
3619
|
-
actionRights: props.menu.actionRights,
|
|
3620
|
-
dataFences: props.menu.dataFences,
|
|
3626
|
+
actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
|
|
3627
|
+
dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
|
|
3621
3628
|
projectPermissions: props.projectPermissions,
|
|
3622
3629
|
menuVisibilities: props.menuVisibilities,
|
|
3623
3630
|
namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
|
|
@@ -3629,7 +3636,7 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3629
3636
|
onMouseEnter: props.isMenuOpen ? undefined : props.handleToggleItem,
|
|
3630
3637
|
onMouseLeave: props.isMenuOpen ? undefined : props.shouldCloseMenuFly,
|
|
3631
3638
|
children: [jsxRuntime.jsx(MenuItemLink, {
|
|
3632
|
-
linkTo: isMainMenuItemALink ? _concatInstanceProperty__default[
|
|
3639
|
+
linkTo: isMainMenuItemALink ? _concatInstanceProperty__default["default"](_context6 = "/".concat(props.projectKey, "/")).call(_context6, props.menu.uriPath) : undefined,
|
|
3633
3640
|
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
3634
3641
|
onClick: props.onMenuItemClick,
|
|
3635
3642
|
children: jsxRuntime.jsxs("div", {
|
|
@@ -3656,15 +3663,15 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3656
3663
|
level: 2,
|
|
3657
3664
|
isActive: props.isActive,
|
|
3658
3665
|
isExpanded: props.isMenuOpen,
|
|
3659
|
-
children: hasSubmenu ? _mapInstanceProperty__default[
|
|
3660
|
-
var _context8, _context9;
|
|
3666
|
+
children: hasSubmenu ? _mapInstanceProperty__default["default"](_context7 = props.menu.submenu).call(_context7, function (submenu) {
|
|
3667
|
+
var _context8, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context9;
|
|
3661
3668
|
|
|
3662
3669
|
return jsxRuntime.jsx(RestrictedMenuItem, {
|
|
3663
3670
|
keyOfMenuItem: submenu.key,
|
|
3664
|
-
featureToggle: submenu.featureToggle,
|
|
3671
|
+
featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
|
|
3665
3672
|
permissions: submenu.permissions,
|
|
3666
|
-
actionRights: submenu.actionRights,
|
|
3667
|
-
dataFences: submenu.dataFences,
|
|
3673
|
+
actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
|
|
3674
|
+
dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
|
|
3668
3675
|
projectPermissions: props.projectPermissions,
|
|
3669
3676
|
menuVisibilities: props.menuVisibilities,
|
|
3670
3677
|
namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
|
|
@@ -3673,18 +3680,19 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3673
3680
|
children: jsxRuntime.jsx("div", {
|
|
3674
3681
|
className: styles.text,
|
|
3675
3682
|
children: jsxRuntime.jsx(MenuItemLink, {
|
|
3676
|
-
linkTo: _concatInstanceProperty__default[
|
|
3683
|
+
linkTo: _concatInstanceProperty__default["default"](_context9 = "/".concat(props.projectKey, "/")).call(_context9, submenu.uriPath),
|
|
3677
3684
|
exactMatch: true,
|
|
3678
3685
|
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
3679
3686
|
onClick: props.onMenuItemClick,
|
|
3680
3687
|
children: jsxRuntime.jsx(MenuLabel, {
|
|
3681
3688
|
labelAllLocales: submenu.labelAllLocales,
|
|
3689
|
+
defaultLabel: submenu.defaultLabel,
|
|
3682
3690
|
applicationLocale: props.applicationLocale
|
|
3683
3691
|
})
|
|
3684
3692
|
})
|
|
3685
3693
|
})
|
|
3686
3694
|
})
|
|
3687
|
-
}, _concatInstanceProperty__default[
|
|
3695
|
+
}, _concatInstanceProperty__default["default"](_context8 = "".concat(props.menu.key, "-submenu-")).call(_context8, submenu.key));
|
|
3688
3696
|
}) : null
|
|
3689
3697
|
})]
|
|
3690
3698
|
})
|
|
@@ -3693,29 +3701,29 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3693
3701
|
};
|
|
3694
3702
|
|
|
3695
3703
|
ApplicationMenu.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3696
|
-
menu: _pt__default[
|
|
3697
|
-
defaultLabel: _pt__default[
|
|
3704
|
+
menu: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].shape({
|
|
3705
|
+
defaultLabel: _pt__default["default"].string
|
|
3698
3706
|
})]).isRequired,
|
|
3699
|
-
isActive: _pt__default[
|
|
3700
|
-
isMenuOpen: _pt__default[
|
|
3701
|
-
shouldCloseMenuFly: _pt__default[
|
|
3702
|
-
projectPermissions: _pt__default[
|
|
3703
|
-
permissions: _pt__default[
|
|
3704
|
-
actionRights: _pt__default[
|
|
3705
|
-
dataFences: _pt__default[
|
|
3707
|
+
isActive: _pt__default["default"].bool.isRequired,
|
|
3708
|
+
isMenuOpen: _pt__default["default"].bool.isRequired,
|
|
3709
|
+
shouldCloseMenuFly: _pt__default["default"].func.isRequired,
|
|
3710
|
+
projectPermissions: _pt__default["default"].shape({
|
|
3711
|
+
permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3712
|
+
actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3713
|
+
dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
|
|
3706
3714
|
}).isRequired,
|
|
3707
|
-
menuVisibilities: _pt__default[
|
|
3708
|
-
handleToggleItem: _pt__default[
|
|
3709
|
-
applicationLocale: _pt__default[
|
|
3710
|
-
projectKey: _pt__default[
|
|
3711
|
-
useFullRedirectsForLinks: _pt__default[
|
|
3712
|
-
onMenuItemClick: _pt__default[
|
|
3715
|
+
menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
|
|
3716
|
+
handleToggleItem: _pt__default["default"].func.isRequired,
|
|
3717
|
+
applicationLocale: _pt__default["default"].string.isRequired,
|
|
3718
|
+
projectKey: _pt__default["default"].string.isRequired,
|
|
3719
|
+
useFullRedirectsForLinks: _pt__default["default"].bool.isRequired,
|
|
3720
|
+
onMenuItemClick: _pt__default["default"].func
|
|
3713
3721
|
} : {};
|
|
3714
3722
|
ApplicationMenu.displayName = 'ApplicationMenu';
|
|
3715
3723
|
var NavBarLayout = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
3716
3724
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3717
3725
|
children: [jsxRuntime.jsx(react$2.Global, {
|
|
3718
|
-
styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc2pCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRBcHBsaWNhdGlvbnNNZW51LFxuICBUTG9jYWxpemVkRmllbGQsXG4gIFROYXZiYXJNZW51LFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxuICBTeW50aGV0aWNFdmVudCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE5hdkxpbmssIG1hdGNoUGF0aCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFRvZ2dsZUZlYXR1cmUgfSBmcm9tICdAZmxvcGZsaXAvcmVhY3QtYnJvYWRjYXN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1xuICBCYWNrSWNvbixcbiAgVHJlZVN0cnVjdHVyZUljb24sXG4gIFVzZXJGaWxsZWRJY29uLFxuICBTcGVlZG9tZXRlckljb24sXG4gIFRhZ011bHRpSWNvbixcbiAgQ2FydEljb24sXG4gIEJveEljb24sXG4gIEdlYXJJY29uLFxuICBTdXBwb3J0SWNvbixcbiAgV29ybGRJY29uLFxuICBIZWFydEljb24sXG4gIFBhcGVyY2xpcEljb24sXG4gIFBsdWdpbkljb24sXG4gIFJvY2tldEljb24sXG4gIFN0YXJJY29uLFxuICBDb25uZWN0ZWRTcXVhcmVJY29uLFxuICBMaXN0V2l0aFNlYXJjaEljb24sXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgTWlzc2luZ0ltYWdlU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9pbWFnZXMvZGlhZ29uYWwtbGluZS5zdmcnO1xuaW1wb3J0IHtcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgeyBHdG1Db250ZXh0IH0gZnJvbSAnLi4vZ3RtLWJvb3Rlcic7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0IGZyb20gJy4vdXNlLWxvYWRpbmctbWVudS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIgZnJvbSAnLi91c2UtbmF2YmFyLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IG5vbk51bGxhYmxlIGZyb20gJy4vbm9uLW51bGxhYmxlJztcbi8vIGh0dHBzOi8vYmFiZWxqcy5pby9ibG9nLzIwMTcvMDkvMTEvemVyby1jb25maWctd2l0aC1iYWJlbC1tYWNyb3NcbmltcG9ydCBjb21waWxlZFN0eWxlcyBmcm9tIC8qIHByZXZhbCAqLyAnLi9uYXZiYXIuc3R5bGVzJztcblxuY29uc3Qgc3R5bGVzID0gY29tcGlsZWRTdHlsZXMuanNvbk1hcDtcblxudHlwZSBUUHJvamVjdFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogVE5vcm1hbGl6ZWRQZXJtaXNzaW9ucyB8IG51bGw7XG4gIGFjdGlvblJpZ2h0czogVE5vcm1hbGl6ZWRBY3Rpb25SaWdodHMgfCBudWxsO1xuICBkYXRhRmVuY2VzOiBUTm9ybWFsaXplZERhdGFGZW5jZXMgfCBudWxsO1xufTtcblxuLypcbjxEYXRhTWVudSBkYXRhPXtbXX0+XG4gIDxNZW51R3JvdXA+XG4gICAgPE1lbnVJdGVtPlxuICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vXCI+KGljb24pIFByb2R1Y3RzPC9NZW51SXRlbUxpbms+XG4gICAgICA8TWVudUdyb3VwPlxuICAgICAgICA8TWVudUl0ZW1MaW5rIGxpbmtUbz1cIi9mb28vbmV3XCI+QWRkIHByb2R1Y3Q8L01lbnVJdGVtTGluaz5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTWVudUl0ZW0+XG4gIDwvTWVudUdyb3VwPlxuICA8TWVudUV4cGFuZGVyLz5cbjwvRGF0YU1lbnU+XG4qL1xuXG50eXBlIEljb25Qcm9wcyA9IFBhcmFtZXRlcnM8dHlwZW9mIEJhY2tJY29uPlswXTtcbnR5cGUgSWNvblN3aXRjaGVyUHJvcHMgPSB7IGljb246IHN0cmluZyB9ICYgSWNvblByb3BzO1xuLy8gVGhlIGljb24gaXMgZXhwZWN0ZWQgdG8gYmUgdGhlIGBzdmdgIGRvY3VtZW50IGFzIGEgc3RyaW5nLlxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLCB3ZSBzdGlsbCBzdXBwb3J0IHRoZSBsZWdhY3kgXCJpY29uIG5hbWVcIixcbi8vIHdoaWNoIHdlIHRoZW4gbWFwIHRvIG9uZSBvZiB0aGUgcHJlLWRlZmluZWQgaWNvbnMuXG4vLyBFdmVudHVhbGx5LCB3ZSB3YW50IHRvIGdldCByaWQgb2YgdGhpcyBcInN3aXRjaFwiIGxvZ2ljLlxuY29uc3QgSWNvblN3aXRjaGVyID0gKHsgaWNvbiwgLi4uaWNvblByb3BzIH06IEljb25Td2l0Y2hlclByb3BzKSA9PiB7XG4gIGlmIChpY29uLmluY2x1ZGVzKCc8c3ZnJykpIHtcbiAgICByZXR1cm4gPElubGluZVN2ZyBkYXRhPXtpY29ufSB7Li4uaWNvblByb3BzfSAvPjtcbiAgfVxuICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgYXBwcyB1c2luZyB0aGUgXCJpY29uIG5hbWVcIi5cbiAgc3dpdGNoIChpY29uKSB7XG4gICAgLy8gQXBwbGljYXRpb24gaWNvbnNcbiAgICBjYXNlICdUcmVlU3RydWN0dXJlSWNvbic6XG4gICAgICByZXR1cm4gPFRyZWVTdHJ1Y3R1cmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1VzZXJGaWxsZWRJY29uJzpcbiAgICAgIHJldHVybiA8VXNlckZpbGxlZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3BlZWRvbWV0ZXJJY29uJzpcbiAgICAgIHJldHVybiA8U3BlZWRvbWV0ZXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1RhZ011bHRpSWNvbic6XG4gICAgICByZXR1cm4gPFRhZ011bHRpSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPENhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0JveEljb24nOlxuICAgICAgcmV0dXJuIDxCb3hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0dlYXJJY29uJzpcbiAgICAgIHJldHVybiA8R2Vhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnTGlzdFdpdGhTZWFyY2hJY29uJzpcbiAgICAgIHJldHVybiA8TGlzdFdpdGhTZWFyY2hJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pjtcbn07XG5jb25zdCBNZW51RXhwYW5kZXIgPSAocHJvcHM6IE1lbnVFeHBhbmRlclByb3BzKSA9PiAoXG4gIDxsaVxuICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwgc3R5bGVzLmV4cGFuZGVyLCB7XG4gICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgfSl9XG4gID5cbiAgICA8ZGl2XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgID5cbiAgICAgIHsvKlxuICAgICAgICBGSVhNRTogZGVmaW5lIGhvdmVyIGVmZmVjdC5cbiAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAqL31cbiAgICAgIDxCYWNrSWNvbiBjb2xvcj1cInN1cmZhY2VcIiBzaXplPVwiYmlnXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9saT5cbik7XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBNZW51R3JvdXAgPSAocHJvcHM6IE1lbnVHcm91cFByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIGlkPXtgJHtwcm9wcy5pZH0tZ3JvdXBgfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Ake3Byb3BzLmlkfS1ncm91cGB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHsgW3N0eWxlcy5zdWJsaXN0XTogcHJvcHMubGV2ZWwgPT09IDIgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3Qtbm8tY2hpbGRyZW4nXV06IHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiAoXG4gIDxsaVxuICAgIHJvbGU9XCJtZW51LWl0ZW1cIlxuICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICBbc3R5bGVzWydpdGVtX19uby1zdWJtZW51J11dOiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICB9KX1cbiAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICA+XG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgPC9saT5cbik7XG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbnR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgZ3RtVHJhY2tpbmcgPSB1c2VDb250ZXh0KEd0bUNvbnRleHQpO1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtcbiAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgcHJvcHMub25DbGljazx0eXBlb2YgZ3RtVHJhY2tpbmcudHJhY2s+KGV2ZW50LCBndG1UcmFja2luZy50cmFjayk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L05hdkxpbms+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuLy8gVGhpcyBjb21wb25lbnQganVzdCByZW5kZXIgdHdvIGRpdnMgd2l0aCBib3JkZXJzIGluIG9yZGVyIHRvIGRpZmZlcmVudGlhdGVcbi8vIHRoZSBzZXR0aW5ncyBwbHVnaW4gZnJvbSB0aGUgb3RoZXIgb25lc1xuY29uc3QgTWVudUl0ZW1EaXZpZGVyID0gKCkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLWZpcnN0LWl0ZW0nXX0+XG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZGl2aWRlci1zZWNvbmQtaXRlbSddfSAvPlxuICA8L2Rpdj5cbik7XG5NZW51SXRlbURpdmlkZXIuZGlzcGxheU5hbWUgPSAnTWVudUl0ZW1EaXZpZGVyJztcblxuLy8gVGhpcyBjb21wb25lbnQgd3JhcHMgYDxSZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5gXG4vLyBhbmQgdGhlIGA8VG9nZ2xlRmVhdHVyZT5gIGNvbXBvbmVudHMuIEhvd2V2ZXIsIGl0J3MgbmVjZXNzYXJ5IHRvIGhhdmUgaXQgYXNcbi8vIHRoZSBgPFRvZ2dsZUZlYXR1cmU+YCB3cmFwcGVyIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZSBgZmVhdHVyZVRvZ2dsZWBcbi8vIHByb3AgaXMgZGVmaW5lZC4gVGhpcyBpcyBiZWNhdXNlIGA8VG9nZ2xlRmVhdHVyZT5gIHdpbGwgbm90IHJlbmRlciBhbnlcbi8vIGNoaWxkcmVuIGlmIHRoZSBmbGFnIGlzIG1pc3Npbmcvbm90IGZvdW5kLlxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM6IFBpY2s8XG4gIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzLFxuICAncGVybWlzc2lvbnMnXG4+ID0ge1xuICBwZXJtaXNzaW9uczogW10sXG59O1xuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgaWYgKFxuICAgIGlzRXZlcnlNZW51VmlzaWJpbGl0eVNldFRvSGlkZGVuKFxuICAgICAgcHJvcHMubWVudVZpc2liaWxpdGllcyxcbiAgICAgIHByb3BzLm5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzXG4gICAgKVxuICApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcGVybWlzc2lvbnNXcmFwcGVyID1cbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5wZXJtaXNzaW9ucykgJiYgcHJvcHMucGVybWlzc2lvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAoQXJyYXkuaXNBcnJheShwcm9wcy5kYXRhRmVuY2VzKSAmJiBwcm9wcy5kYXRhRmVuY2VzLmxlbmd0aCA+IDApID8gKFxuICAgICAgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zXG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5wZXJtaXNzaW9uc31cbiAgICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5hY3Rpb25SaWdodHN9XG4gICAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLmRhdGFGZW5jZXN9XG4gICAgICAgIHNlbGVjdERhdGFGZW5jZURhdGE9eyhkZW1hbmRlZERhdGFGZW5jZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZGVtYW5kZWREYXRhRmVuY2UudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3RvcmUnOlxuICAgICAgICAgICAgICByZXR1cm4gZGVtYW5kZWREYXRhRmVuY2UuYWN0dWFsRGF0YUZlbmNlVmFsdWVzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAvLyBBbHdheXMgY2hlY2sgdGhhdCBzb21lIG9mIHRoZSBnaXZlbiBwZXJtaXNzaW9ucyBtYXRjaC5cbiAgICAgICAgc2hvdWxkTWF0Y2hTb21lUGVybWlzc2lvbnM9e3RydWV9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L1Jlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPlxuICAgICkgOiAoXG4gICAgICA8Pntwcm9wcy5jaGlsZHJlbn08Lz5cbiAgICApO1xuXG4gIGlmIChwcm9wcy5mZWF0dXJlVG9nZ2xlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb2dnbGVGZWF0dXJlIGZsYWc9e3Byb3BzLmZlYXR1cmVUb2dnbGV9PlxuICAgICAgICB7cGVybWlzc2lvbnNXcmFwcGVyfVxuICAgICAgPC9Ub2dnbGVGZWF0dXJlPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbn07XG5SZXN0cmljdGVkTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZE1lbnVJdGVtJztcblJlc3RyaWN0ZWRNZW51SXRlbS5kZWZhdWx0UHJvcHMgPSByZXN0cmljdGVkTWVudUl0ZW1EZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBjb25zdCBnZXRJY29uQ29sb3IgPSAoXG4gIGlzQWN0aXZlOiBib29sZWFuLFxuICBpc0FsdGVybmF0aXZlVGhlbWU6IGJvb2xlYW5cbikgPT4ge1xuICBpZiAoaXNBY3RpdmUpIHJldHVybiAncHJpbWFyeTQwJztcbiAgcmV0dXJuIGlzQWx0ZXJuYXRpdmVUaGVtZSA/ICduZXV0cmFsNjAnIDogJ3N1cmZhY2UnO1xufTtcblxuY29uc3QgZ2V0TWVudVZpc2liaWxpdGllc09mU3VibWVudXMgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnUpID0+IHN1Ym1lbnUubWVudVZpc2liaWxpdHkpLmZpbHRlcihub25OdWxsYWJsZSk7XG5jb25zdCBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUubWVudVZpc2liaWxpdHkgPyBbbWVudS5tZW51VmlzaWJpbGl0eV0gOiBbXTtcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgQXBwbGljYXRpb25NZW51UHJvcHMgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZUNvbXBvbmVudFByb3BzWydsb2NhdGlvbiddO1xuICBtZW51OiBUTmF2YmFyTWVudSAmIHtcbiAgICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1lbnVgXG4gICAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICB9O1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkQ2xvc2VNZW51Rmx5OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAgaGFuZGxlVG9nZ2xlSXRlbTogKCkgPT4gdm9pZDtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M6IGJvb2xlYW47XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuY29uc3QgQXBwbGljYXRpb25NZW51ID0gKHByb3BzOiBBcHBsaWNhdGlvbk1lbnVQcm9wcykgPT4ge1xuICBjb25zdCBpc01haW5NZW51Um91dGVBY3RpdmUgPSBCb29sZWFuKFxuICAgIG1hdGNoUGF0aChwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSwge1xuICAgICAgcGF0aDogYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWAsXG4gICAgICBleGFjdDogZmFsc2UsXG4gICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIH0pXG4gICk7XG4gIGNvbnN0IGhhc1N1Ym1lbnUgPVxuICAgIEFycmF5LmlzQXJyYXkocHJvcHMubWVudS5zdWJtZW51KSAmJiBwcm9wcy5tZW51LnN1Ym1lbnUubGVuZ3RoID4gMDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIE9uIGZpcnN0IHJlbmRlciwgY2hlY2sgd2hpY2ggbWVudSBpcyBhY3RpdmUgZm9yIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGFuZCBleHBhbmRcbiAgICAvLyB0aGUgc3VibWVudSBhdXRvbWF0aWNhbGx5IHVubGVzcyB0aGUgYWxsIG5hdmJhciBpcyBjb2xsYXBzZWQgb3IgdGhlcmUgYXJlIG5vIHN1Ym1lbnUgbGlua3MuXG4gICAgaWYgKHByb3BzLmlzTWVudU9wZW4gJiYgaXNNYWluTWVudVJvdXRlQWN0aXZlICYmIGhhc1N1Ym1lbnUpIHtcbiAgICAgIHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW0oKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcHJvcHMuaXNNZW51T3Blbl0pOyAvLyA8LS0gKHJlKXJ1biB0aGlzIG9ubHkgd2hlbiB0aGUgYWxsIG1lbnUgZXhwYW5kc1xuXG4gIGNvbnN0IG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51cyA9IGhhc1N1Ym1lbnVcbiAgICA/IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzKHByb3BzLm1lbnUpXG4gICAgOiBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUocHJvcHMubWVudSk7XG5cbiAgY29uc3QgaXNNYWluTWVudUl0ZW1BTGluayA9XG4gICAgLy8gMS4gV2hlbiB0aGUgbmF2YmFyIGlzIGNvbGxhcHNlZFxuICAgICFwcm9wcy5pc01lbnVPcGVuIHx8XG4gICAgLy8gMi4gV2hlbiB0aGVyZSBpcyBubyBzdWJtZW51XG4gICAgIWhhc1N1Ym1lbnUgfHxcbiAgICAvLyAzLiBXaGVuIHRoZSBzdWJtZW51IGdyb3VwIGlzIGFjdGl2ZS92aXNpYmxlXG4gICAgcHJvcHMuaXNBY3RpdmU7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3Byb3BzLm1lbnUuc2hvdWxkUmVuZGVyRGl2aWRlciAmJiA8TWVudUl0ZW1EaXZpZGVyIC8+fVxuXG4gICAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICAgIGtleT17cHJvcHMubWVudS5rZXl9XG4gICAgICAgIGtleU9mTWVudUl0ZW09e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBmZWF0dXJlVG9nZ2xlPXtwcm9wcy5tZW51LmZlYXR1cmVUb2dnbGV9XG4gICAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5tZW51LnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLm1lbnUuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXN9XG4gICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17bmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNPZkFsbFN1Ym1lbnVzfVxuICAgICAgPlxuICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICBoYXNTdWJtZW51PXtoYXNTdWJtZW51fVxuICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICBpc01lbnVPcGVuPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLmlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiBwcm9wcy5zaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW1MaW5rXG4gICAgICAgICAgICBsaW5rVG89e1xuICAgICAgICAgICAgICBpc01haW5NZW51SXRlbUFMaW5rXG4gICAgICAgICAgICAgICAgPyBgLyR7cHJvcHMucHJvamVjdEtleX0vJHtwcm9wcy5tZW51LnVyaVBhdGh9YFxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3Byb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICAgICAgICA8SWNvblN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5tZW51Lmljb259XG4gICAgICAgICAgICAgICAgICBzaXplPVwic2NhbGVcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuaXNBY3RpdmUgfHwgaXNNYWluTWVudVJvdXRlQWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICBCb29sZWFuKHByb3BzLm1lbnUuc2hvdWxkUmVuZGVyRGl2aWRlcilcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy50aXRsZX1cbiAgICAgICAgICAgICAgICBhcmlhLW93bnM9e2Ake3Byb3BzLm1lbnUua2V5fS1ncm91cGB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLm1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5tZW51LmRlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgIDxNZW51R3JvdXBcbiAgICAgICAgICAgIGlkPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgICAgIGxldmVsPXsyfVxuICAgICAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICAgICAgaXNFeHBhbmRlZD17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aGFzU3VibWVudVxuICAgICAgICAgICAgICA/IHByb3BzLm1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnUpID0+IChcbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGV9XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zPXtzdWJtZW51LnBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25SaWdodHM9e3N1Ym1lbnUuYWN0aW9uUmlnaHRzfVxuICAgICAgICAgICAgICAgICAgICBkYXRhRmVuY2VzPXtzdWJtZW51LmRhdGFGZW5jZXN9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50ZXh0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICAgIDwvTWVudUdyb3VwPlxuICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25NZW51LmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uTWVudSc7XG5cbnR5cGUgTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgTmF2QmFyTGF5b3V0UHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICR7Y29tcGlsZWRTdHlsZXMuZ2xvYmFsfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxuYXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsZWZ0LW5hdmlnYXRpb24nXX1cbiAgICAgICAgZGF0YS10ZXN0PVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIk5hdmlnYXRpb25cIlxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L25hdj5cbiAgICA8Lz5cbiAgKVxuKTtcbk5hdkJhckxheW91dC5kaXNwbGF5TmFtZSA9ICdOYXZCYXJMYXlvdXQnO1xuXG50eXBlIE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4gPSB7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgZW52aXJvbm1lbnQ6IFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIHByb2plY3Q6IFRGZXRjaFByb2plY3RRdWVyeVsncHJvamVjdCddO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xuICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WyduYXZCYXInXT47XG59O1xuY29uc3QgTmF2QmFyID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZCYXJOb2RlLFxuICAgIGlzTWVudU9wZW4sXG4gICAgaXNFeHBhbmRlclZpc2libGUsXG4gICAgYWN0aXZlSXRlbUluZGV4LFxuICAgIGhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgaGFuZGxlVG9nZ2xlTWVudSxcbiAgICBzaG91bGRDbG9zZU1lbnVGbHksXG4gICAgYWxsQXBwbGljYXRpb25OYXZiYXJNZW51LFxuICB9ID0gdXNlTmF2YmFyU3RhdGVNYW5hZ2VyKHtcbiAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnOiBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWcsXG4gIH0pO1xuICBjb25zdCB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MgPSBCb29sZWFuKFxuICAgIHByb3BzLmVudmlyb25tZW50LnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICApO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3QgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGVybWlzc2lvbnM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRQZXJtaXNzaW9ucyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZFBlcm1pc3Npb25zXG4gICAgICApLFxuICAgICAgYWN0aW9uUmlnaHRzOiBub3JtYWxpemVBbGxBcHBsaWVkQWN0aW9uUmlnaHRzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkQWN0aW9uUmlnaHRzXG4gICAgICApLFxuICAgICAgZGF0YUZlbmNlczogbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWREYXRhRmVuY2VzXG4gICAgICApLFxuICAgIH0pLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuICBjb25zdCBtZW51VmlzaWJpbGl0aWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbm9ybWFsaXplQWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zXG4gICAgICAgICAgLmFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzXG4gICAgICApLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPE1lbnVHcm91cCBpZD1cIm1haW5cIiBsZXZlbD17MX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3Njcm9sbGFibGUtbWVudSddfT5cbiAgICAgICAgICB7YWxsQXBwbGljYXRpb25OYXZiYXJNZW51Lm1hcCgobWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVudVR5cGUgPSAnc2Nyb2xsYWJsZSc7XG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBgJHttZW51VHlwZX0tJHttZW51LmtleX1gO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTWVudVxuICAgICAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgIG1lbnU9e21lbnV9XG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZUl0ZW1JbmRleCA9PT0gaXRlbUluZGV4fVxuICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZUl0ZW09eygpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oaXRlbUluZGV4KX1cbiAgICAgICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgICAgIHNob3VsZENsb3NlTWVudUZseT17c2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e21lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXt1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZml4ZWQtbWVudSddfT5cbiAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbSgnZml4ZWQtc3VwcG9ydCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgIGlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiAoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgICAgICAgICAgPFN1cHBvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSXRlbUluZGV4ID09PSAnZml4ZWQtc3VwcG9ydCcsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc1snTmF2QmFyLk1DU3VwcG9ydC50aXRsZSddfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTmF2QmFyLmRpc3BsYXlOYW1lID0gJ05hdkJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdkJhcjtcblxuZXhwb3J0IGNvbnN0IExvYWRpbmdOYXZCYXIgPSAoKSA9PiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0KCk7XG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e3JlZn0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPD5cbiAgICAgICAgICB7QXJyYXkuZnJvbShuZXcgQXJyYXkoNSkpLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNNZW51T3Blbj17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdW5kZWZpbmVkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xvYWRpbmctZG90LWNvbnRhaW5lciddfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgZG90LWNvbnRhaW5lci0ke2luZGV4fWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwiZG90XCIgc2l6ZT1cIm1cIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTG9hZGluZ05hdkJhci5kaXNwbGF5TmFtZSA9ICdMb2FkaW5nTmF2QmFyJztcbiJdfQ== */")
|
|
3726
|
+
styles: /*#__PURE__*/react$2.css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGpCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRBcHBsaWNhdGlvbnNNZW51LFxuICBUTG9jYWxpemVkRmllbGQsXG4gIFROYXZiYXJNZW51LFxuICBUQmFzZU1lbnUsXG59IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5cbmltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBSZWFjdE5vZGUsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTmF2TGluaywgbWF0Y2hQYXRoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9nZ2xlRmVhdHVyZSB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBUcmVlU3RydWN0dXJlSWNvbixcbiAgVXNlckZpbGxlZEljb24sXG4gIFNwZWVkb21ldGVySWNvbixcbiAgVGFnTXVsdGlJY29uLFxuICBDYXJ0SWNvbixcbiAgQm94SWNvbixcbiAgR2Vhckljb24sXG4gIFN1cHBvcnRJY29uLFxuICBXb3JsZEljb24sXG4gIEhlYXJ0SWNvbixcbiAgUGFwZXJjbGlwSWNvbixcbiAgUGx1Z2luSWNvbixcbiAgUm9ja2V0SWNvbixcbiAgU3Rhckljb24sXG4gIENvbm5lY3RlZFNxdWFyZUljb24sXG4gIExpc3RXaXRoU2VhcmNoSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQge1xuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBsb2NhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2F0aW9uJztcbmltcG9ydCB7IEd0bUNvbnRleHQgfSBmcm9tICcuLi9ndG0tYm9vdGVyJztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5pbXBvcnQgdXNlTG9hZGluZ01lbnVMYXlvdXRFZmZlY3QgZnJvbSAnLi91c2UtbG9hZGluZy1tZW51LWxheW91dC1lZmZlY3QnO1xuaW1wb3J0IHVzZU5hdmJhclN0YXRlTWFuYWdlciBmcm9tICcuL3VzZS1uYXZiYXItc3RhdGUtbWFuYWdlcic7XG5pbXBvcnQgbm9uTnVsbGFibGUgZnJvbSAnLi9ub24tbnVsbGFibGUnO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG4vKlxuPERhdGFNZW51IGRhdGE9e1tdfT5cbiAgPE1lbnVHcm91cD5cbiAgICA8TWVudUl0ZW0+XG4gICAgICA8TWVudUl0ZW1MaW5rIGxpbmtUbz1cIi9mb29cIj4oaWNvbikgUHJvZHVjdHM8L01lbnVJdGVtTGluaz5cbiAgICAgIDxNZW51R3JvdXA+XG4gICAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvby9uZXdcIj5BZGQgcHJvZHVjdDwvTWVudUl0ZW1MaW5rPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9NZW51SXRlbT5cbiAgPC9NZW51R3JvdXA+XG4gIDxNZW51RXhwYW5kZXIvPlxuPC9EYXRhTWVudT5cbiovXG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBBcHBsaWNhdGlvbiBpY29uc1xuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gQ3VzdG9tIGFwcGxpY2F0aW9uIGljb25zIHNldFxuICAgIGNhc2UgJ0hlYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPEhlYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQYXBlcmNsaXBJY29uJzpcbiAgICAgIHJldHVybiA8UGFwZXJjbGlwSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQbHVnaW5JY29uJzpcbiAgICAgIHJldHVybiA8UGx1Z2luSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdSb2NrZXRJY29uJzpcbiAgICAgIHJldHVybiA8Um9ja2V0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTdGFySWNvbic6XG4gICAgICByZXR1cm4gPFN0YXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0Nvbm5lY3RlZFNxdWFyZUljb24nOlxuICAgICAgcmV0dXJuIDxDb25uZWN0ZWRTcXVhcmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNhc2UgJ1dvcmxkSWNvbic6XG4gICAgICByZXR1cm4gPFdvcmxkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxpbWcgc3JjPXtNaXNzaW5nSW1hZ2VTdmd9IGFsdD1cIm1pc3NpbmcgaWNvblwiIC8+O1xuICB9XG59O1xuSWNvblN3aXRjaGVyLmRpc3BsYXlOYW1lID0gJ0ljb25Td2l0Y2hlcic7XG5cbnR5cGUgTWVudUV4cGFuZGVyUHJvcHMgPSB7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xufTtcbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IChcbiAgPGxpXG4gICAga2V5PVwiZXhwYW5kZXJcIlxuICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCBzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgIFtzdHlsZXMuaGlkZGVuXTogIXByb3BzLmlzVmlzaWJsZSxcbiAgICB9KX1cbiAgPlxuICAgIDxkaXZcbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgPlxuICAgICAgey8qXG4gICAgICAgIEZJWE1FOiBkZWZpbmUgaG92ZXIgZWZmZWN0LlxuICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vY29tbWVyY2V0b29scy9tZXJjaGFudC1jZW50ZXItZnJvbnRlbmQvaXNzdWVzLzIyMTZcbiAgICAgICovfVxuICAgICAgPEJhY2tJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPlxuICAgIDwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVHcm91cCA9IChwcm9wczogTWVudUdyb3VwUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Ake3Byb3BzLmlkfS1ncm91cGB9XG4gICAgICBkYXRhLXRlc3RpZD17YCR7cHJvcHMuaWR9LWdyb3VwYH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAgeyBbc3R5bGVzLnN1Ymxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMiB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IChcbiAgPGxpXG4gICAgcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fX25vLXN1Ym1lbnUnXV06ICFwcm9wcy5oYXNTdWJtZW51LFxuICAgIH0pfVxuICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxudHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogPFRyYWNrRm4+KFxuICAgIGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgdHJhY2s6IFRyYWNrRm5cbiAgKSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1xuICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmsnXX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrPHR5cGVvZiBndG1UcmFja2luZy50cmFjaz4oZXZlbnQsIGd0bVRyYWNraW5nLnRyYWNrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTmF2TGluaz5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG4vLyBUaGlzIGNvbXBvbmVudCBqdXN0IHJlbmRlciB0d28gZGl2cyB3aXRoIGJvcmRlcnMgaW4gb3JkZXIgdG8gZGlmZmVyZW50aWF0ZVxuLy8gdGhlIHNldHRpbmdzIHBsdWdpbiBmcm9tIHRoZSBvdGhlciBvbmVzXG5jb25zdCBNZW51SXRlbURpdmlkZXIgPSAoKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItZmlyc3QtaXRlbSddfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLXNlY29uZC1pdGVtJ119IC8+XG4gIDwvZGl2PlxuKTtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG4vLyBUaGlzIGNvbXBvbmVudCB3cmFwcyBgPFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zPmBcbi8vIGFuZCB0aGUgYDxUb2dnbGVGZWF0dXJlPmAgY29tcG9uZW50cy4gSG93ZXZlciwgaXQncyBuZWNlc3NhcnkgdG8gaGF2ZSBpdCBhc1xuLy8gdGhlIGA8VG9nZ2xlRmVhdHVyZT5gIHdyYXBwZXIgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlIGBmZWF0dXJlVG9nZ2xlYFxuLy8gcHJvcCBpcyBkZWZpbmVkLiBUaGlzIGlzIGJlY2F1c2UgYDxUb2dnbGVGZWF0dXJlPmAgd2lsbCBub3QgcmVuZGVyIGFueVxuLy8gY2hpbGRyZW4gaWYgdGhlIGZsYWcgaXMgbWlzc2luZy9ub3QgZm91bmQuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5jb25zdCBSZXN0cmljdGVkTWVudUl0ZW0gPSAocHJvcHM6IFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzKSA9PiB7XG4gIC8vIE5PVEU6IEN1c3RvbSBhcHBsaWNhdGlvbiBhcmUgYWN0aXZhdGVkL2RlYWN0aXZhdGVkIHdoaWxlIHRoZWlyXG4gIC8vIHZpc2liaWxpdHkgaXMgbm90IGNvbnRyb2xsZWQgdmlhIGEgdmlzaWJpaWxpdHkgb3ZlcndyaXRlLlxuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvZ2dsZUZlYXR1cmUgZmxhZz17cHJvcHMuZmVhdHVyZVRvZ2dsZX0+XG4gICAgICAgIHtwZXJtaXNzaW9uc1dyYXBwZXJ9XG4gICAgICA8L1RvZ2dsZUZlYXR1cmU+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxuZXhwb3J0IGNvbnN0IGdldEljb25Db2xvciA9IChcbiAgaXNBY3RpdmU6IGJvb2xlYW4sXG4gIGlzQWx0ZXJuYXRpdmVUaGVtZTogYm9vbGVhblxuKSA9PiB7XG4gIGlmIChpc0FjdGl2ZSkgcmV0dXJuICdwcmltYXJ5NDAnO1xuICByZXR1cm4gaXNBbHRlcm5hdGl2ZVRoZW1lID8gJ25ldXRyYWw2MCcgOiAnc3VyZmFjZSc7XG59O1xuXG5jb25zdCBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5zdWJtZW51Lm1hcCgoc3VibWVudSkgPT4gc3VibWVudS5tZW51VmlzaWJpbGl0eSkuZmlsdGVyKG5vbk51bGxhYmxlKTtcbmNvbnN0IGdldE1lbnVWaXNpYmlsaXR5T2ZNYWlubWVudSA9IChtZW51OiBUTmF2YmFyTWVudSkgPT5cbiAgbWVudS5tZW51VmlzaWJpbGl0eSA/IFttZW51Lm1lbnVWaXNpYmlsaXR5XSA6IFtdO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUTmF2YmFyTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tZW51YFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xudHlwZSBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUQmFzZU1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWVudWBcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcblxudHlwZSBBcHBsaWNhdGlvbk1lbnVQcm9wcyA9IHtcbiAgbG9jYXRpb246IFJvdXRlQ29tcG9uZW50UHJvcHNbJ2xvY2F0aW9uJ107XG4gIG1lbnU6IFRNZW51V2l0aERlZmF1bHRMYWJlbDtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIHNob3VsZENsb3NlTWVudUZseTogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGhhbmRsZVRvZ2dsZUl0ZW06ICgpID0+IHZvaWQ7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzOiBib29sZWFuO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xufTtcbmNvbnN0IEFwcGxpY2F0aW9uTWVudSA9IChwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHMpID0+IHtcbiAgY29uc3QgaXNNYWluTWVudVJvdXRlQWN0aXZlID0gQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gLFxuICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuICBjb25zdCBoYXNTdWJtZW51ID1cbiAgICBBcnJheS5pc0FycmF5KHByb3BzLm1lbnUuc3VibWVudSkgJiYgcHJvcHMubWVudS5zdWJtZW51Lmxlbmd0aCA+IDA7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIGNvbnN0IGlzTWFpbk1lbnVJdGVtQUxpbmsgPVxuICAgIC8vIDEuIFdoZW4gdGhlIG5hdmJhciBpcyBjb2xsYXBzZWRcbiAgICAhcHJvcHMuaXNNZW51T3BlbiB8fFxuICAgIC8vIDIuIFdoZW4gdGhlcmUgaXMgbm8gc3VibWVudVxuICAgICFoYXNTdWJtZW51IHx8XG4gICAgLy8gMy4gV2hlbiB0aGUgc3VibWVudSBncm91cCBpcyBhY3RpdmUvdmlzaWJsZVxuICAgIHByb3BzLmlzQWN0aXZlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIgJiYgPE1lbnVJdGVtRGl2aWRlciAvPn1cblxuICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICBrZXk9e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBrZXlPZk1lbnVJdGVtPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLm1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMubWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgbGlua1RvPXtcbiAgICAgICAgICAgICAgaXNNYWluTWVudUl0ZW1BTGlua1xuICAgICAgICAgICAgICAgID8gYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWBcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgPEljb25Td2l0Y2hlclxuICAgICAgICAgICAgICAgICAgaWNvbj17cHJvcHMubWVudS5pY29ufVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgIHByb3BzLmlzQWN0aXZlIHx8IGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgQm9vbGVhbihwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIpXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9XG4gICAgICAgICAgICAgICAgYXJpYS1vd25zPXtgJHtwcm9wcy5tZW51LmtleX0tZ3JvdXBgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgICBpZD17cHJvcHMubWVudS5rZXl9XG4gICAgICAgICAgICBsZXZlbD17Mn1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2hhc1N1Ym1lbnVcbiAgICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucz17c3VibWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFGZW5jZXM9e3N1Ym1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50ZXh0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17c3VibWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IG51bGx9XG4gICAgICAgICAgPC9NZW51R3JvdXA+XG4gICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICA8Lz5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxudHlwZSBOYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBOYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgTmF2YmFyUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgcHJvamVjdDogVEZldGNoUHJvamVjdFF1ZXJ5Wydwcm9qZWN0J107XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG4gIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ25hdkJhciddPjtcbn07XG5jb25zdCBOYXZCYXIgPSA8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PihcbiAgcHJvcHM6IE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4pID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUsXG4gIH0gPSB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIoe1xuICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc6IHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZyxcbiAgfSk7XG4gIGNvbnN0IHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcyA9IEJvb2xlYW4oXG4gICAgcHJvcHMuZW52aXJvbm1lbnQudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwZXJtaXNzaW9uczogbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkUGVybWlzc2lvbnNcbiAgICAgICksXG4gICAgICBhY3Rpb25SaWdodHM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRBY3Rpb25SaWdodHNcbiAgICAgICksXG4gICAgICBkYXRhRmVuY2VzOiBub3JtYWxpemVBbGxBcHBsaWVkRGF0YUZlbmNlcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZERhdGFGZW5jZXNcbiAgICAgICksXG4gICAgfSksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG4gIGNvbnN0IG1lbnVWaXNpYmlsaXRpZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnNcbiAgICAgICAgICAuYWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXNcbiAgICAgICksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17bmF2QmFyTm9kZX0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc2Nyb2xsYWJsZS1tZW51J119PlxuICAgICAgICAgIHthbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUubWFwKChtZW51KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZW51VHlwZSA9ICdzY3JvbGxhYmxlJztcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IGAke21lbnVUeXBlfS0ke21lbnUua2V5fWA7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwbGljYXRpb25NZW51XG4gICAgICAgICAgICAgICAga2V5PXttZW51LmtleX1cbiAgICAgICAgICAgICAgICBsb2NhdGlvbj17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgbWVudT17bWVudX1cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlSXRlbUluZGV4ID09PSBpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbT17KCkgPT4gaGFuZGxlVG9nZ2xlSXRlbShpdGVtSW5kZXgpfVxuICAgICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgc2hvdWxkQ2xvc2VNZW51Rmx5PXtzaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17bWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3VzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmaXhlZC1tZW51J119PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtcbiAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXtpc01lbnVPcGVuID8gdW5kZWZpbmVkIDogc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgICA8U3VwcG9ydEljb25cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJdGVtSW5kZXggPT09ICdmaXhlZC1zdXBwb3J0JyxcbiAgICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzWydOYXZCYXIuTUNTdXBwb3J0LnRpdGxlJ119IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPE1lbnVFeHBhbmRlclxuICAgICAgICAgICAgaXNWaXNpYmxlPXtpc0V4cGFuZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZU1lbnV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L05hdkJhckxheW91dD5cbiAgKTtcbn07XG5OYXZCYXIuZGlzcGxheU5hbWUgPSAnTmF2QmFyJztcblxuZXhwb3J0IGRlZmF1bHQgTmF2QmFyO1xuXG5leHBvcnQgY29uc3QgTG9hZGluZ05hdkJhciA9ICgpID0+IHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgdXNlTG9hZGluZ01lbnVMYXlvdXRFZmZlY3QoKTtcbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17cmVmfT5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8PlxuICAgICAgICAgIHtBcnJheS5mcm9tKG5ldyBBcnJheSg1KSkubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgICBpc01lbnVPcGVuPXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB1bmRlZmluZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbG9hZGluZy1kb3QtY29udGFpbmVyJ119XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Bkb3QtY29udGFpbmVyLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibVwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L05hdkJhckxheW91dD5cbiAgKTtcbn07XG5Mb2FkaW5nTmF2QmFyLmRpc3BsYXlOYW1lID0gJ0xvYWRpbmdOYXZCYXInO1xuIl19 */")
|
|
3719
3727
|
}), jsxRuntime.jsx("nav", {
|
|
3720
3728
|
ref: ref,
|
|
3721
3729
|
className: styles['left-navigation'],
|
|
@@ -3765,7 +3773,7 @@ var NavBar = function NavBar(props) {
|
|
|
3765
3773
|
level: 1,
|
|
3766
3774
|
children: [jsxRuntime.jsx("div", {
|
|
3767
3775
|
className: styles['scrollable-menu'],
|
|
3768
|
-
children: _mapInstanceProperty__default[
|
|
3776
|
+
children: _mapInstanceProperty__default["default"](allApplicationNavbarMenu).call(allApplicationNavbarMenu, function (menu) {
|
|
3769
3777
|
var menuType = 'scrollable';
|
|
3770
3778
|
var itemIndex = "".concat(menuType, "-").concat(menu.key);
|
|
3771
3779
|
return jsxRuntime.jsx(ApplicationMenu, {
|
|
@@ -3825,10 +3833,10 @@ var NavBar = function NavBar(props) {
|
|
|
3825
3833
|
};
|
|
3826
3834
|
|
|
3827
3835
|
NavBar.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3828
|
-
applicationLocale: _pt__default[
|
|
3829
|
-
projectKey: _pt__default[
|
|
3830
|
-
onMenuItemClick: _pt__default[
|
|
3831
|
-
DEV_ONLY__loadNavbarMenuConfig: _pt__default[
|
|
3836
|
+
applicationLocale: _pt__default["default"].string.isRequired,
|
|
3837
|
+
projectKey: _pt__default["default"].string.isRequired,
|
|
3838
|
+
onMenuItemClick: _pt__default["default"].func,
|
|
3839
|
+
DEV_ONLY__loadNavbarMenuConfig: _pt__default["default"].func
|
|
3832
3840
|
} : {};
|
|
3833
3841
|
NavBar.displayName = 'NavBar';
|
|
3834
3842
|
var LoadingNavBar = function LoadingNavBar() {
|
|
@@ -3842,7 +3850,7 @@ var LoadingNavBar = function LoadingNavBar() {
|
|
|
3842
3850
|
id: "main",
|
|
3843
3851
|
level: 1,
|
|
3844
3852
|
children: jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
3845
|
-
children: _mapInstanceProperty__default[
|
|
3853
|
+
children: _mapInstanceProperty__default["default"](_context10 = _Array$from__default["default"](new Array(5))).call(_context10, function (_, index) {
|
|
3846
3854
|
return jsxRuntime.jsx(MenuItem, {
|
|
3847
3855
|
hasSubmenu: false,
|
|
3848
3856
|
isMenuOpen: false,
|
|
@@ -3876,7 +3884,7 @@ var trackingEvents = {
|
|
|
3876
3884
|
|
|
3877
3885
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
3878
3886
|
|
|
3879
|
-
var ButlerContainer = _styled__default[
|
|
3887
|
+
var ButlerContainer = _styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
|
|
3880
3888
|
target: "e1fuwyk10"
|
|
3881
3889
|
} : {
|
|
3882
3890
|
target: "e1fuwyk10",
|
|
@@ -3901,7 +3909,7 @@ var pimIndexerStates = {
|
|
|
3901
3909
|
};
|
|
3902
3910
|
|
|
3903
3911
|
var QuickAccess = /*#__PURE__*/react.lazy(function () {
|
|
3904
|
-
return Promise.resolve().then(function () { return require('./quick-access-
|
|
3912
|
+
return Promise.resolve().then(function () { return require('./quick-access-8e4582e8.cjs.dev.js'
|
|
3905
3913
|
/* webpackChunkName: "quick-access" */
|
|
3906
3914
|
); });
|
|
3907
3915
|
});
|
|
@@ -3996,7 +4004,7 @@ var QuickAccessTrigger = function QuickAccessTrigger(props) {
|
|
|
3996
4004
|
};
|
|
3997
4005
|
|
|
3998
4006
|
QuickAccessTrigger.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
3999
|
-
onChangeProjectDataLocale: _pt__default[
|
|
4007
|
+
onChangeProjectDataLocale: _pt__default["default"].func
|
|
4000
4008
|
} : {};
|
|
4001
4009
|
QuickAccessTrigger.displayName = 'QuickAccessTrigger';
|
|
4002
4010
|
|
|
@@ -4078,9 +4086,9 @@ var RedirectToLogin = function RedirectToLogin() {
|
|
|
4078
4086
|
|
|
4079
4087
|
RedirectToLogin.displayName = 'RedirectToLogin';
|
|
4080
4088
|
|
|
4081
|
-
function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
4089
|
+
function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4082
4090
|
|
|
4083
|
-
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default[
|
|
4091
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
4084
4092
|
|
|
4085
4093
|
// When the application redirects to this route, we always force a hard redirect
|
|
4086
4094
|
// to the logout route of the authentication service.
|
|
@@ -4111,9 +4119,9 @@ var RedirectToLogout = function RedirectToLogout(props) {
|
|
|
4111
4119
|
});
|
|
4112
4120
|
};
|
|
4113
4121
|
|
|
4114
|
-
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default[
|
|
4122
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4115
4123
|
|
|
4116
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default[
|
|
4124
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), true)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
|
|
4117
4125
|
|
|
4118
4126
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4119
4127
|
|
|
@@ -4122,21 +4130,21 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
4122
4130
|
* and contains the "restricted" application part.
|
|
4123
4131
|
*/
|
|
4124
4132
|
var getHasUnauthorizedError = function getHasUnauthorizedError(graphQLErrors) {
|
|
4125
|
-
return _findInstanceProperty__default[
|
|
4133
|
+
return _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, function (gqlError) {
|
|
4126
4134
|
return gqlError.extensions && gqlError.extensions.code && gqlError.extensions.code === 'UNAUTHENTICATED';
|
|
4127
4135
|
});
|
|
4128
4136
|
};
|
|
4129
4137
|
|
|
4130
4138
|
var getHasUserBeenDeletedError = function getHasUserBeenDeletedError(graphQLErrors) {
|
|
4131
|
-
return _findInstanceProperty__default[
|
|
4139
|
+
return _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, function (gqlError) {
|
|
4132
4140
|
var _context;
|
|
4133
4141
|
|
|
4134
4142
|
return gqlError.message && // NOTE: The CTP API does not provide an error code in this case.
|
|
4135
|
-
_includesInstanceProperty__default[
|
|
4143
|
+
_includesInstanceProperty__default["default"](_context = gqlError.message).call(_context, 'was not found.');
|
|
4136
4144
|
});
|
|
4137
4145
|
};
|
|
4138
4146
|
|
|
4139
|
-
var MainContainer = _styled__default[
|
|
4147
|
+
var MainContainer = _styled__default["default"]("main", process.env.NODE_ENV === "production" ? {
|
|
4140
4148
|
target: "e1kyr09u0"
|
|
4141
4149
|
} : {
|
|
4142
4150
|
target: "e1kyr09u0",
|
|
@@ -4147,7 +4155,7 @@ var MainContainer = _styled__default['default']("main", process.env.NODE_ENV ===
|
|
|
4147
4155
|
} : {
|
|
4148
4156
|
name: "1rdshd",
|
|
4149
4157
|
styles: "grid-column:2;grid-row:3;min-width:0;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;position:relative",
|
|
4150
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2R3dDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4158
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2R3dDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4151
4159
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4152
4160
|
});
|
|
4153
4161
|
|
|
@@ -4157,7 +4165,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
4157
4165
|
} : {
|
|
4158
4166
|
name: "199a1u7-RestrictedApplication",
|
|
4159
4167
|
styles: "flex-grow:1;display:flex;flex-direction:column;position:relative;>*:not(:first-of-type){flex-grow:1;display:flex;flex-direction:column;};label:RestrictedApplication;",
|
|
4160
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3WXNDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4168
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3WXNDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4161
4169
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4162
4170
|
};
|
|
4163
4171
|
|
|
@@ -4167,7 +4175,7 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
4167
4175
|
} : {
|
|
4168
4176
|
name: "lzvzwe-RestrictedApplication",
|
|
4169
4177
|
styles: "position:relative;grid-row:3;display:flex;flex-direction:column;label:RestrictedApplication;",
|
|
4170
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVWtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4178
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVWtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4171
4179
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4172
4180
|
};
|
|
4173
4181
|
|
|
@@ -4177,7 +4185,7 @@ var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
|
4177
4185
|
} : {
|
|
4178
4186
|
name: "16holxm-RestrictedApplication",
|
|
4179
4187
|
styles: "grid-row:2;grid-column:1/3;label:RestrictedApplication;",
|
|
4180
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVGtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4188
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVGtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4181
4189
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4182
4190
|
};
|
|
4183
4191
|
|
|
@@ -4187,7 +4195,7 @@ var _ref5 = process.env.NODE_ENV === "production" ? {
|
|
|
4187
4195
|
} : {
|
|
4188
4196
|
name: "1u7ux6j-RestrictedApplication",
|
|
4189
4197
|
styles: "grid-row:1;grid-column:1/3;label:RestrictedApplication;",
|
|
4190
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwUGtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4198
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwUGtDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4191
4199
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4192
4200
|
};
|
|
4193
4201
|
|
|
@@ -4197,7 +4205,7 @@ var _ref6 = process.env.NODE_ENV === "production" ? {
|
|
|
4197
4205
|
} : {
|
|
4198
4206
|
name: "1e0jzpp-RestrictedApplication",
|
|
4199
4207
|
styles: "height:100vh;display:grid;grid-template-rows:auto 43px 1fr;grid-template-columns:auto 1fr;label:RestrictedApplication;",
|
|
4200
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpUGdDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlciAmJiB1c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvbi1sYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byA0M3B4IDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ2xvYmFsLW5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLkdMT0JBTH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzUHJvamVjdExvYWRpbmcsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb2plY3RMb2FkaW5nIHx8ICFwcm9qZWN0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXNlZCBvdXRzaWRlIG9mIGEgcHJvamVjdCBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHdoZW4gdGhlIHByb2plY3QgaXMgZXhwaXJlZCBvciBzdXBzZW5kZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRVc2VQcm9qZWN0Q29udGV4dCA9ICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5zdXNwZW5zaW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Quc3VzcGVuc2lvbi5pc0FjdGl2ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LmV4cGlyeSAmJiBwcm9qZWN0LmV4cGlyeS5pc0FjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzaG91bGRVc2VQcm9qZWN0Q29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXM9e3Byb2plY3QubGFuZ3VhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGRhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdERhdGFMb2NhbGU9e2RhdGFMb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VQcm9qZWN0RGF0YUxvY2FsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0RGF0YUxvY2FsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXlGcm9tVXJsPXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXNpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgPE5hdkJhcj4gc2hvdWxkIG9ubHkgYmUgcmVuZGVyZWQgd2l0aGluIGEgcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRleHQsIHRoZXJlZm9yZSB3aGVuIHRoZXJlIGlzIGEgYHByb2plY3RLZXlgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGBwcm9qZWN0S2V5YCBpbiB0aGUgVVJMIChlLmcuIGAvYWNjb3VudGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3V0ZXMpLCB3ZSBkb24ndCByZW5kZXIgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogd2UgYWxzbyBcImNhY2hlXCIgdGhlIGBwcm9qZWN0S2V5YCBpbiBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIFwicmUtaHlkcmF0ZVwiIHRoZSBVUkxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiAoZS5nIHdoZW4geW91IGdvIHRvIGAvYCwgdGhlcmUgc2hvdWxkIGJlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBgLzpwcm9qZWN0S2V5YCkuIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbHkgb24gdGhlIHZhbHVlIGluIGxvY2FsU3RvcmFnZSB0byBkZXRlcm1pbmUgd2hpY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBgcHJvamVjdEtleWAgaXMgY3VycmVudGx5IHVzZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9qZWN0S2V5RnJvbVVybCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdQcm9qZWN0LCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW5kZXIgdGhlIGxvYWRpbmcgbmF2YmFyIGFzIGxvbmcgYXMgYWxsIHRoZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdVc2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdMb2NhbGVEYXRhIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmdQcm9qZWN0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbG9jYWxlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ05hdkJhciAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvIG5vdCBwYXNzIHRoZSBgcHJvamVjdGAgaW50byB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHBlcm1pc3Npb25zIGZvciB0aGUgTmF2YmFyIGFyZSByZXNvbHZlZCBzZXBhcmF0ZWx5LCB3aXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgUmVhY3QgY29udGV4dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5hdkJhcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GZXRjaFByb2plY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdVc2VyIHx8IGlzTG9hZGluZ0xvY2FsZURhdGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNYWluQ29udGFpbmVyIHJvbGU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5QQUdFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuU0lERX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGhhdmUgYW4gaW50ZXJtZWRpYXJ5IDxkaXY+IHdyYXBwaW5nIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Vmlldz4gY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byB3cmFwIGV2ZXJ5IGNvbnRlbnQtdmlldy4gVGhpcyBpbnRlcm1lZGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gaXMgc29sZWx5IHVzZWQgZm9yIGFkZGluZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgY29udGVudC12aWV3LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIGNvdWxkIGJlIGRvbmUgYnkgcGFzc2luZyB0aGUgdHJhY2tpbmcgY29udGV4dCB0byB0aGUgPFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZXQgaXQgZG8gdGhlIGxheW91dCwgc28gd2UgY2FuIGF2b2lkIGxheWluZyBvdXIgZnJvbSB0aGUgb3V0c2lkZSBhcyB3ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyBoZXJlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvcnRhbHNDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIvYWNjb3VudC9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvYWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYHJlbmRlcmAgZnVuY3Rpb24sIHdlIGFzc3VtZSBpdCdzIG9uZSBvZiB0d28gY2FzZXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAxLiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgdXNlIGBjaGlsZHJlbmAgYW5kIHRoZXJlZm9yZSBpbXBsZW1lbnRzIHRoZSByb3V0ZXMgaW5jbHVkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgPFJvdXRlQ2F0Y2hBbGw+ICh0aGlzIGlzIHRoZSBcImxlZ2FjeVwiIGJlaGF2aW9yKS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDIuIEl0J3MgdGhlIGFjY291bnQgYXBwbGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIGByZW5kZXJgIGFuZCB0aGVyZWZvcmUgc2hvdWxkIHJlbmRlciBhcyBub3JtYWwuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gY2FzZSB0aGUgQXBwU2hlbGwgdXNlcyB0aGUgYGNoaWxkcmVuYCBmdW5jdGlvbiwgd2UgY2FuIGFsd2F5cyBhc3N1bWUgdGhhdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaXQncyBhIG5vcm1hbCBDdXN0b20gQXBwbGljYXRpb24gYW5kIHRoYXQgaXQgc2hvdWxkIHRyaWdnZXIgYSBmb3JjZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlbmRlciA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57cHJvcHMucmVuZGVyKCl9PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVDYXRjaEFsbCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFByb2plY3Qgcm91dGVzICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAmJiB1c2VyLmRlZmF1bHRQcm9qZWN0S2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTk9URTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGxvYWRlZCBhIGxvYWRpbmcgc3Bpbm5lciBpcyBzaG93bi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIG5vdCB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG5vciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY3JlYXRlIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgR2l2ZW4gdGhlIHVzZXIgd2FzIHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgb3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgYXBwbGljYXRpb24gd2lsbCByZWRpcmVjdCB0byB0aGF0IHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIDxBcHBsaWNhdGlvbkxvYWRlciAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQcm9qZWN0S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Qcm9qZWN0Q3JlYXRlIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0IHRvPXtgLyR7cHJldmlvdXNQcm9qZWN0S2V5fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPVwiLzpwcm9qZWN0S2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyhyb3V0ZXJQcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RDb250YWluZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g9e3JvdXRlclByb3BzLm1hdGNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbj17cm91dGVyUHJvcHMubG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdGl2ZWx5IHJlbmRlcnMgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoaWxkcmVuLCB3aGljaCBpcyB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lmaWMgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9qZWN0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICA8L1NldHVwRmxvcEZsaXBQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvRmV0Y2hVc2VyPlxuICApO1xufTtcblJlc3RyaWN0ZWRBcHBsaWNhdGlvbi5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkQXBwbGljYXRpb24nO1xuXG5jb25zdCBBcHBsaWNhdGlvblNoZWxsID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcHJvcHMub25SZWdpc3RlckVycm9yTGlzdGVuZXJzKHtcbiAgICAgIGRpc3BhdGNoOiBpbnRlcm5hbFJlZHV4U3RvcmUuZGlzcGF0Y2gsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7IC8vIDwtLSBydW4gb25seSBvbmNlLCB3aGVuIGNvbXBvbmVudCBtb3VudHNcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsXG4gICAgICAgIHN0eWxlcz17Y3NzYFxuICAgICAgICAgICNhcHAge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuUmVhY3RNb2RhbF9fQm9keS0tb3BlbiBtYWluIHtcbiAgICAgICAgICAgIC8qIFdoZW4gYSBtb2RhbCBpcyBvcGVuLCB3ZSBzaG91bGQgcHJldmVudCB0aGUgY29udGVudCB0byBiZSBzY3JvbGxhYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8QXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgIGFwb2xsb0NsaWVudD17cHJvcHMuYXBvbGxvQ2xpZW50fVxuICAgICAgICBlbnZpcm9ubWVudD17cHJvcHMuZW52aXJvbm1lbnR9XG4gICAgICAgIHRyYWNraW5nRXZlbnRMaXN0PXtwcm9wcy50cmFja2luZ0V2ZW50TGlzdH1cbiAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgID5cbiAgICAgICAgeyh7IGlzQXV0aGVudGljYXRlZCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9sb2dvdXRcIj5cbiAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdFRvTG9nb3V0IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgICA8Um91dGU+XG4gICAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZEFwcGxpY2F0aW9uPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGZWF0dXJlRmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVGbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzLnJlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ2luIC8+O1xuICAgICAgICB9fVxuICAgICAgPC9BcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI+XG4gICAgPC8+XG4gICk7XG59O1xuQXBwbGljYXRpb25TaGVsbC5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvblNoZWxsJztcbkFwcGxpY2F0aW9uU2hlbGwudmVyc2lvbiA9IHZlcnNpb247XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGxpY2F0aW9uU2hlbGw7XG4iXX0= */",
|
|
4208
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpUGdDIiwiZmlsZSI6ImFwcGxpY2F0aW9uLXNoZWxsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFncyB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRDYWNoZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBvbGxvRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFRBc3luY0xvY2FsZURhdGFQcm9wcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBUQXBwbGljYXRpb25zTWVudSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgdHlwZSB7IFRyYWNraW5nTGlzdCB9IGZyb20gJy4uLy4uL3V0aWxzL2d0bSc7XG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgU3ludGhldGljRXZlbnQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZSwgU3dpdGNoLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50IH0gZnJvbSAnQGFwb2xsby9jbGllbnQnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBET01BSU5TLCBMT0dPVVRfUkVBU09OUyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICByZXBvcnRFcnJvclRvU2VudHJ5LFxuICBTZW50cnlVc2VyVHJhY2tlcixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvc2VudHJ5JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyLFxuICB1c2VBcHBsaWNhdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUG9ydGFsc0NvbnRhaW5lciB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uc0xpc3QgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9yZWFjdC1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IEFzeW5jTG9jYWxlRGF0YSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2kxOG4nO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgaW50ZXJuYWxSZWR1eFN0b3JlIGZyb20gJy4uLy4uL2NvbmZpZ3VyZS1zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RQcm9qZWN0S2V5RnJvbVVybCwgZ2V0UHJldmlvdXNQcm9qZWN0S2V5IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IFByb2plY3REYXRhTG9jYWxlIGZyb20gJy4uL3Byb2plY3QtZGF0YS1sb2NhbGUnO1xuaW1wb3J0IEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1zaGVsbC1wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRCcm93c2VyTG9jYWxlIH0gZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXIvdXRpbHMnO1xuaW1wb3J0IEZldGNoVXNlciBmcm9tICcuLi9mZXRjaC11c2VyJztcbmltcG9ydCBWZXJzaW9uVHJhY2tlciBmcm9tICcuLi92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IEZldGNoUHJvamVjdCBmcm9tICcuLi9mZXRjaC1wcm9qZWN0JztcbmltcG9ydCBDb25maWd1cmVJbnRsUHJvdmlkZXIgZnJvbSAnLi4vY29uZmlndXJlLWludGwtcHJvdmlkZXInO1xuaW1wb3J0IEFwcEJhciBmcm9tICcuLi9hcHAtYmFyJztcbmltcG9ydCBQcm9qZWN0Q29udGFpbmVyIGZyb20gJy4uL3Byb2plY3QtY29udGFpbmVyJztcbmltcG9ydCBTZXR1cEZsb3BGbGlwUHJvdmlkZXIgZnJvbSAnLi4vc2V0dXAtZmxvcC1mbGlwLXByb3ZpZGVyJztcbmltcG9ydCBSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXInO1xuaW1wb3J0IEd0bVVzZXJUcmFja2VyIGZyb20gJy4uL2d0bS11c2VyLXRyYWNrZXInO1xuaW1wb3J0IEd0bUFwcGxpY2F0aW9uVHJhY2tlciBmcm9tICcuLi9ndG0tYXBwbGljYXRpb24tdHJhY2tlcic7XG5pbXBvcnQgTmF2QmFyLCB7IExvYWRpbmdOYXZCYXIgfSBmcm9tICcuLi9uYXZiYXInO1xuaW1wb3J0IEFwcGxpY2F0aW9uTG9hZGVyIGZyb20gJy4uL2FwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgRXJyb3JBcG9sb2dpemVyIGZyb20gJy4uL2Vycm9yLWFwb2xvZ2l6ZXInO1xuaW1wb3J0IFJvdXRlQ2F0Y2hBbGwgZnJvbSAnLi4vcm91dGUtY2F0Y2gtYWxsJztcbmltcG9ydCBSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSBmcm9tICcuLi9yZWRpcmVjdC10by1wcm9qZWN0LWNyZWF0ZSc7XG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnLi4vcXVpY2stYWNjZXNzJztcbmltcG9ydCBSZWRpcmVjdFRvTG9naW4gZnJvbSAnLi9yZWRpcmVjdC10by1sb2dpbic7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ291dCBmcm9tICcuL3JlZGlyZWN0LXRvLWxvZ291dCc7XG5cbnR5cGUgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBvbGxvQ2xpZW50PzogQXBvbGxvQ2xpZW50PE5vcm1hbGl6ZWRDYWNoZU9iamVjdD47XG4gIC8qKlxuICAgKiBOT1RFOiB0aGUgZW52aXJvbm1lbnQgdmFsdWUgcGFzc2VkIGhlcmUgaXMgdXN1YWxseSBgd2luZG93LmFwcGAuXG4gICAqIFRoaXMgb2JqZWN0IHVzdWFsbHkgY29udGFpbnMgdmFsdWVzIGFzIHN0cmluZyBhbmQgd2lsbCBiZSBcInRyYW5zZm9ybWVkXCJcbiAgICogdG8gYSByZWFsIG9iamVjdCB3aXRoIHByb3BlciBzY2FsYXIgdmFsdWVzIGluIHRoZSBBcHBsaWNhdGlvblNoZWxsLlxuICAgKiBUbyBrZWVwIHRoZSB0eXBlcyBzaW1wbGUsIHdlIGFzc2lnbiBoZXJlIHRoZSBhbHJlYWR5IGNvZXJjZWQgdHlwZSBvYmplY3QuXG4gICAqIFRoaXMgc2hvdWxkIGJlIGZpbmUsIGFzIGNvbnN1bWVycyBvZiB0aGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVcbiAgICogYEFwcGxpY2F0aW9uV2luZG93YCB0eXBlIGZyb20gdGhlIGBAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHNgIHBhY2thZ2VcbiAgICogdG8gdHlwZSBjYXN0IGl0OlxuICAgKlxuICAgKiBgYGB0c3hcbiAgICogaW1wb3J0IHsgQXBwbGljYXRpb25XaW5kb3cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuICAgKlxuICAgKiBkZWNsYXJlIGxldCB3aW5kb3c6IEFwcGxpY2F0aW9uV2luZG93O1xuICAgKlxuICAgKiA8QXBwbGljYXRpb25TaGVsbCBlbnZpcm9ubWVudD17d2luZG93LmFwcH0gLz5cbiAgICogYGBgXG4gICAqL1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgZmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICBkZWZhdWx0RmVhdHVyZUZsYWdzPzogVEZsYWdzO1xuICB0cmFja2luZ0V2ZW50TGlzdD86IFRyYWNraW5nTGlzdDtcbiAgYXBwbGljYXRpb25NZXNzYWdlczogVEFzeW5jTG9jYWxlRGF0YVByb3BzWydhcHBsaWNhdGlvbk1lc3NhZ2VzJ107XG4gIG9uUmVnaXN0ZXJFcnJvckxpc3RlbmVyczogKGFyZ3M6IHsgZGlzcGF0Y2g6IERpc3BhdGNoIH0pID0+IHZvaWQ7XG4gIG9uTWVudUl0ZW1DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgcmVuZGVyPzogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvLyBPbmx5IGF2YWlsYWJsZSBpbiBkZXZlbG9wbWVudCBtb2RlXG4gIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ2FwcEJhciddPjtcbiAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPzogKCkgPT4gUHJvbWlzZTxUQXBwbGljYXRpb25zTWVudVsnbmF2QmFyJ10+O1xufTtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyByZW5kZXJlZCB3aGVuZXZlciB0aGUgdXNlciBpcyBjb25zaWRlcmVkIFwiYXV0aGVudGljYXRlZFwiXG4gKiBhbmQgY29udGFpbnMgdGhlIFwicmVzdHJpY3RlZFwiIGFwcGxpY2F0aW9uIHBhcnQuXG4gKi9cblxuY29uc3QgZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IgPSAoZ3JhcGhRTEVycm9yczogQXBvbGxvRXJyb3JbJ2dyYXBoUUxFcnJvcnMnXSkgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSAmJlxuICAgICAgZ3FsRXJyb3IuZXh0ZW5zaW9ucy5jb2RlID09PSAnVU5BVVRIRU5USUNBVEVEJ1xuICApO1xuY29uc3QgZ2V0SGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSAoXG4gIGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ11cbikgPT5cbiAgZ3JhcGhRTEVycm9ycy5maW5kKFxuICAgIChncWxFcnJvcikgPT5cbiAgICAgIGdxbEVycm9yLm1lc3NhZ2UgJiZcbiAgICAgIC8vIE5PVEU6IFRoZSBDVFAgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBpbiB0aGlzIGNhc2UuXG4gICAgICBncWxFcnJvci5tZXNzYWdlLmluY2x1ZGVzKCd3YXMgbm90IGZvdW5kLicpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBNYWluQ29udGFpbmVyID0gc3R5bGVkLm1haW5gXG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMztcblxuICAvKlxuICAgIEFsbG93IHRoZSB0aGlzIGZsZXggY2hpbGQgdG8gZ3JvdyBzbWFsbGVyIHRoYW4gaXRzIHNtYWxsZXN0IGNvbnRlbnQuXG4gICAgVGhpcyBpcyBuZWVkZWQgd2hlbiB0aGVyZSBpcyBhIHJlYWxseSB3aWRlIHRleHQgaW5zaWRlIHRoYXQgd291bGQgc3RyZXRjaFxuICAgIHRoaXMgbm9kZSB0byBiZSB3aWRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICovXG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLypcbiAgICBsYXlvdXQgdGhlIGNoaWxkcmVuLiBUaGVyZSB3aWxsIGFsd2F5cyBiZSB0aGUgcGFnZSBhbmQgc2lkZSBub3RpZmljYXRpb25cbiAgICBhYm91dCB0aGUgYWN0dWFsIGNvbnRlbnQuIFRoZSBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhlIHJlc3Qgb2ZcbiAgICB0aGUgcGFnZS5cbiAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKlxuICAgIHNldCBwb3NpdGlvbiB0byByZWxhdGl2ZSB0byBsYXlvdXQgbm90aWZpY2F0aW9ucyBhbmQgbW9kYWxzXG4gICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN0cmljdGVkQXBwbGljYXRpb24gPSA8XG4gIEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fVxuPihcbiAgcHJvcHM6IE9taXQ8XG4gICAgUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz4sXG4gICAgJ2Vudmlyb25tZW50JyB8ICdvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMnXG4gID5cbikgPT4ge1xuICBjb25zdCBhcHBsaWNhdGlvbkVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KFxuICAgIChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50XG4gICkgYXMgVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgLy8gVE9ETzogdXNpbmcgdGhpcyBob29rIHdpbGwgc3Vic2NyaWJlIHRoZSBjb21wb25lbnQgdG8gcm91dGUgdXBkYXRlcy5cbiAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZnVsIGZvciBkZXRlY3RpbmcgYSBjaGFuZ2UgaW4gdGhlIHByb2plY3Qga2V5XG4gIC8vIGZyb20gVVJMIChcIi9cIiAtLT4gXCIvOnByb2plY3RLZXlcIikuXG4gIC8vIEhvd2V2ZXIsIGV2ZXJ5IHJvdXRlIGNoYW5nZSB3aWxsIHRyaWdnZXIgYSByZS1yZW5kZXIuIFRoaXMgaXMgcHJvYmFibHlcbiAgLy8gb2staXNoIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGxvb2sgaW50byBhIG1vcmUgcGVyZm9ybWFudCBzb2x1dGlvbi5cbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGZXRjaFVzZXI+XG4gICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdVc2VyLCB1c2VyLCBlcnJvciB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gdW5hdXRob3JpemVkIGVycm9yLCB3ZSByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZVxuICAgICAgICAgIGlmIChlcnJvci5ncmFwaFFMRXJyb3JzICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZ3JhcGhRTEVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuYXV0aG9yaXplZEVycm9yID0gZ2V0SGFzVW5hdXRob3JpemVkRXJyb3IoXG4gICAgICAgICAgICAgIGVycm9yLmdyYXBoUUxFcnJvcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvciA9IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IgfHwgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IpIHtcbiAgICAgICAgICAgICAgbGV0IGxvZ291dFJlYXNvbjpcbiAgICAgICAgICAgICAgICB8IHR5cGVvZiBMT0dPVVRfUkVBU09OU1trZXlvZiB0eXBlb2YgTE9HT1VUX1JFQVNPTlNdXG4gICAgICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIGlmIChoYXNVbmF1dGhvcml6ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5VTkFVVEhPUklaRUQ7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKVxuICAgICAgICAgICAgICAgIGxvZ291dFJlYXNvbiA9IExPR09VVF9SRUFTT05TLkRFTEVURUQ7XG4gICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb0xvZ291dCByZWFzb249e2xvZ291dFJlYXNvbn0gLz47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNpbmNlIHdlIGRvIG5vdCBrbm93IHRoZSBsb2NhbGUgb2YgdGhlIHVzZXIsIHdlIHBpY2sgaXQgZnJvbSB0aGVcbiAgICAgICAgICAvLyB1c2VyJ3MgYnJvd3NlciB0byBhdHRlbXB0IHRvIG1hdGNoIHRoZSBsYW5ndWFnZSBmb3IgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb25zLlxuICAgICAgICAgIGNvbnN0IHVzZXJMb2NhbGUgPSBnZXRCcm93c2VyTG9jYWxlKHdpbmRvdyk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBc3luY0xvY2FsZURhdGFcbiAgICAgICAgICAgICAgbG9jYWxlPXt1c2VyTG9jYWxlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RXJyb3JUb1NlbnRyeShlcnJvciwge30pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyIGxvY2FsZT17bG9jYWxlfSBtZXNzYWdlcz17bWVzc2FnZXN9PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JBcG9sb2dpemVyIC8+XG4gICAgICAgICAgICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb2plY3RLZXlGcm9tVXJsID0gc2VsZWN0UHJvamVjdEtleUZyb21VcmwobG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsvKlxuICAgICAgICAgICAgTk9URTogd2UgZG8gbm90IHdhbnQgdG8gbG9hZCB0aGUgbG9jYWxlIGRhdGEgYXMgbG9uZyBhcyB3ZSBkbyBub3RcbiAgICAgICAgICAgIGtub3cgdGhlIHVzZXIgc2V0dGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgaW4gb3JkZXIgdG8gYXZvaWQgZmxhc2hpbmdcbiAgICAgICAgICAgIG9mIHRyYW5zbGF0ZWQgY29udGVudCBvbiBzdWJzZXF1ZW50IHJlLXJlbmRlcnMuXG4gICAgICAgICAgICBUaGVyZWZvcmUsIGFzIGxvbmcgYXMgdGhlcmUgaXMgbm8gbG9jYWxlLCB0aGUgY2hpbGRyZW4gc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoZVxuICAgICAgICAgICAgYGlzTG9hZGluZ2AgcHJvcCB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIuXG4gICAgICAgICAgKi99XG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlcj8ubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ0xvY2FsZURhdGEsIGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDb25maWd1cmVJbnRsUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIHBhc3MgdGhlIGxhbmd1YWdlIGFzIGxvbmcgYXMgdGhlIGxvY2FsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAvLyBpcyBub3QgbG9hZGVkLlxuICAgICAgICAgICAgICAgICAgey4uLihpc0xvYWRpbmdMb2NhbGVEYXRhID8ge30gOiB7IGxvY2FsZSwgbWVzc2FnZXMgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNldHVwRmxvcEZsaXBQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgbGRDbGllbnRTaWRlSWQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQubGRDbGllbnRTaWRlSWR9XG4gICAgICAgICAgICAgICAgICAgIGZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8VmVyc2lvblRyYWNrZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7LyogTk9URTogdGhlIHJlcXVlc3RzIGluIGZsaWdodCBsb2FkZXIgd2lsbCByZW5kZXIgYSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgc3Bpbm5lciBpbnRvIHRoZSBBcHBCYXIuICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxSZXF1ZXN0c0luRmxpZ2h0TG9hZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlbnRyeVVzZXJUcmFja2VyIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1Vc2VyVHJhY2tlciB1c2VyPXt1c2VyfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxHdG1BcHBsaWNhdGlvblRyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZT17YXBwbGljYXRpb25FbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJCdXNpbmVzc1JvbGU9e3VzZXI/LmJ1c2luZXNzUm9sZSA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI/LmRlZmF1bHRQcm9qZWN0S2V5ID8/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4201
4209
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4202
4210
|
};
|
|
4203
4211
|
|
|
@@ -4219,7 +4227,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4219
4227
|
|
|
4220
4228
|
if (error) {
|
|
4221
4229
|
// In case there is an unauthorized error, we redirect to the login page
|
|
4222
|
-
if (error.graphQLErrors && _Array$isArray__default[
|
|
4230
|
+
if (error.graphQLErrors && _Array$isArray__default["default"](error.graphQLErrors)) {
|
|
4223
4231
|
var hasUnauthorizedError = getHasUnauthorizedError(error.graphQLErrors);
|
|
4224
4232
|
var hasUserBeenDeletedError = getHasUserBeenDeletedError(error.graphQLErrors);
|
|
4225
4233
|
|
|
@@ -4256,9 +4264,11 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4256
4264
|
user: user,
|
|
4257
4265
|
environment: applicationEnvironment,
|
|
4258
4266
|
children: jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
4259
|
-
locale: user
|
|
4267
|
+
locale: user === null || user === void 0 ? void 0 : user.language,
|
|
4260
4268
|
applicationMessages: props.applicationMessages,
|
|
4261
4269
|
children: function children(_ref9) {
|
|
4270
|
+
var _user$businessRole;
|
|
4271
|
+
|
|
4262
4272
|
var isLoadingLocaleData = _ref9.isLoading,
|
|
4263
4273
|
locale = _ref9.locale,
|
|
4264
4274
|
messages = _ref9.messages;
|
|
@@ -4276,13 +4286,13 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4276
4286
|
defaultFlags: props.defaultFeatureFlags,
|
|
4277
4287
|
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
4278
4288
|
children: [jsxRuntime.jsx(VersionTracker, {}), jsxRuntime.jsx(applicationEntryPoint.RequestsInFlightLoader, {}), jsxRuntime.jsx(sentry.SentryUserTracker, {
|
|
4279
|
-
user: user
|
|
4289
|
+
user: user !== null && user !== void 0 ? user : undefined
|
|
4280
4290
|
}), jsxRuntime.jsx(GtmUserTracker, {
|
|
4281
4291
|
user: user
|
|
4282
4292
|
}), jsxRuntime.jsx(GtmApplicationTracker, {
|
|
4283
4293
|
applicationName: applicationEnvironment.applicationName,
|
|
4284
4294
|
projectKey: projectKeyFromUrl,
|
|
4285
|
-
userBusinessRole: user === null || user === void 0 ? void 0 : user.businessRole
|
|
4295
|
+
userBusinessRole: (_user$businessRole = user === null || user === void 0 ? void 0 : user.businessRole) !== null && _user$businessRole !== void 0 ? _user$businessRole : undefined
|
|
4286
4296
|
}), jsxRuntime.jsxs("div", {
|
|
4287
4297
|
role: "application-layout",
|
|
4288
4298
|
css: _ref6,
|
|
@@ -4407,7 +4417,9 @@ var RestrictedApplication = function RestrictedApplication(props) {
|
|
|
4407
4417
|
exact: true,
|
|
4408
4418
|
path: "/",
|
|
4409
4419
|
render: function render() {
|
|
4410
|
-
var
|
|
4420
|
+
var _user$defaultProjectK;
|
|
4421
|
+
|
|
4422
|
+
var previousProjectKey = getPreviousProjectKey((_user$defaultProjectK = user === null || user === void 0 ? void 0 : user.defaultProjectKey) !== null && _user$defaultProjectK !== void 0 ? _user$defaultProjectK : undefined);
|
|
4411
4423
|
/**
|
|
4412
4424
|
* NOTE:
|
|
4413
4425
|
* Given the user has not been loaded a loading spinner is shown.
|
|
@@ -4461,7 +4473,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
4461
4473
|
} : {
|
|
4462
4474
|
name: "ubxoj4-ApplicationShell",
|
|
4463
4475
|
styles: "#app{height:100%;}.ReactModal__Body--open main{overflow:hidden;};label:ApplicationShell;",
|
|
4464
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnZ0JtQiIsImZpbGUiOiJhcHBsaWNhdGlvbi1zaGVsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc3BhdGNoIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ3MgfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBOb3JtYWxpemVkQ2FjaGVPYmplY3QgfSBmcm9tICdAYXBvbGxvL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEFwb2xsb0Vycm9yIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvZXJyb3JzJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXN5bmNMb2NhbGVEYXRhUHJvcHMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHR5cGUgeyBUcmFja2luZ0xpc3QgfSBmcm9tICcuLi8uLi91dGlscy9ndG0nO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIFN5bnRoZXRpY0V2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IEFwb2xsb0NsaWVudCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgRE9NQUlOUywgTE9HT1VUX1JFQVNPTlMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcixcbiAgdXNlQXBwbGljYXRpb25Db250ZXh0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNMaXN0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcmVhY3Qtbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgeyBBc3luY0xvY2FsZURhdGEgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCB2ZXJzaW9uIGZyb20gJy4uLy4uL3ZlcnNpb24nO1xuaW1wb3J0IGludGVybmFsUmVkdXhTdG9yZSBmcm9tICcuLi8uLi9jb25maWd1cmUtc3RvcmUnO1xuaW1wb3J0IHsgc2VsZWN0UHJvamVjdEtleUZyb21VcmwsIGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBQcm9qZWN0RGF0YUxvY2FsZSBmcm9tICcuLi9wcm9qZWN0LWRhdGEtbG9jYWxlJztcbmltcG9ydCBBcHBsaWNhdGlvblNoZWxsUHJvdmlkZXIgZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXInO1xuaW1wb3J0IHsgZ2V0QnJvd3NlckxvY2FsZSB9IGZyb20gJy4uL2FwcGxpY2F0aW9uLXNoZWxsLXByb3ZpZGVyL3V0aWxzJztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgVmVyc2lvblRyYWNrZXIgZnJvbSAnLi4vdmVyc2lvbi10cmFja2VyJztcbmltcG9ydCBGZXRjaFByb2plY3QgZnJvbSAnLi4vZmV0Y2gtcHJvamVjdCc7XG5pbXBvcnQgQ29uZmlndXJlSW50bFByb3ZpZGVyIGZyb20gJy4uL2NvbmZpZ3VyZS1pbnRsLXByb3ZpZGVyJztcbmltcG9ydCBBcHBCYXIgZnJvbSAnLi4vYXBwLWJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgU2V0dXBGbG9wRmxpcFByb3ZpZGVyIGZyb20gJy4uL3NldHVwLWZsb3AtZmxpcC1wcm92aWRlcic7XG5pbXBvcnQgUmVxdWVzdHNJbkZsaWdodExvYWRlciBmcm9tICcuLi9yZXF1ZXN0cy1pbi1mbGlnaHQtbG9hZGVyJztcbmltcG9ydCBHdG1Vc2VyVHJhY2tlciBmcm9tICcuLi9ndG0tdXNlci10cmFja2VyJztcbmltcG9ydCBHdG1BcHBsaWNhdGlvblRyYWNrZXIgZnJvbSAnLi4vZ3RtLWFwcGxpY2F0aW9uLXRyYWNrZXInO1xuaW1wb3J0IE5hdkJhciwgeyBMb2FkaW5nTmF2QmFyIH0gZnJvbSAnLi4vbmF2YmFyJztcbmltcG9ydCBBcHBsaWNhdGlvbkxvYWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1sb2FkZXInO1xuaW1wb3J0IEVycm9yQXBvbG9naXplciBmcm9tICcuLi9lcnJvci1hcG9sb2dpemVyJztcbmltcG9ydCBSb3V0ZUNhdGNoQWxsIGZyb20gJy4uL3JvdXRlLWNhdGNoLWFsbCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFF1aWNrQWNjZXNzIGZyb20gJy4uL3F1aWNrLWFjY2Vzcyc7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ2luIGZyb20gJy4vcmVkaXJlY3QtdG8tbG9naW4nO1xuaW1wb3J0IFJlZGlyZWN0VG9Mb2dvdXQgZnJvbSAnLi9yZWRpcmVjdC10by1sb2dvdXQnO1xuXG50eXBlIFByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4gPSB7XG4gIGFwb2xsb0NsaWVudD86IEFwb2xsb0NsaWVudDxOb3JtYWxpemVkQ2FjaGVPYmplY3Q+O1xuICAvKipcbiAgICogTk9URTogdGhlIGVudmlyb25tZW50IHZhbHVlIHBhc3NlZCBoZXJlIGlzIHVzdWFsbHkgYHdpbmRvdy5hcHBgLlxuICAgKiBUaGlzIG9iamVjdCB1c3VhbGx5IGNvbnRhaW5zIHZhbHVlcyBhcyBzdHJpbmcgYW5kIHdpbGwgYmUgXCJ0cmFuc2Zvcm1lZFwiXG4gICAqIHRvIGEgcmVhbCBvYmplY3Qgd2l0aCBwcm9wZXIgc2NhbGFyIHZhbHVlcyBpbiB0aGUgQXBwbGljYXRpb25TaGVsbC5cbiAgICogVG8ga2VlcCB0aGUgdHlwZXMgc2ltcGxlLCB3ZSBhc3NpZ24gaGVyZSB0aGUgYWxyZWFkeSBjb2VyY2VkIHR5cGUgb2JqZWN0LlxuICAgKiBUaGlzIHNob3VsZCBiZSBmaW5lLCBhcyBjb25zdW1lcnMgb2YgdGhlIGFwcGxpY2F0aW9uIGNhbiB1c2UgdGhlXG4gICAqIGBBcHBsaWNhdGlvbldpbmRvd2AgdHlwZSBmcm9tIHRoZSBgQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzYCBwYWNrYWdlXG4gICAqIHRvIHR5cGUgY2FzdCBpdDpcbiAgICpcbiAgICogYGBgdHN4XG4gICAqIGltcG9ydCB7IEFwcGxpY2F0aW9uV2luZG93IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbiAgICpcbiAgICogZGVjbGFyZSBsZXQgd2luZG93OiBBcHBsaWNhdGlvbldpbmRvdztcbiAgICpcbiAgICogPEFwcGxpY2F0aW9uU2hlbGwgZW52aXJvbm1lbnQ9e3dpbmRvdy5hcHB9IC8+XG4gICAqIGBgYFxuICAgKi9cbiAgZW52aXJvbm1lbnQ6IFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgdHJhY2tpbmdFdmVudExpc3Q/OiBUcmFja2luZ0xpc3Q7XG4gIGFwcGxpY2F0aW9uTWVzc2FnZXM6IFRBc3luY0xvY2FsZURhdGFQcm9wc1snYXBwbGljYXRpb25NZXNzYWdlcyddO1xuICBvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnM6IChhcmdzOiB7IGRpc3BhdGNoOiBEaXNwYXRjaCB9KSA9PiB2b2lkO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiA8VHJhY2tGbj4oXG4gICAgZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PixcbiAgICB0cmFjazogVHJhY2tGblxuICApID0+IHZvaWQ7XG4gIHJlbmRlcj86ICgpID0+IEpTWC5FbGVtZW50O1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gZGV2ZWxvcG1lbnQgbW9kZVxuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG4gIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ25hdkJhciddPjtcbn07XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgcmVuZGVyZWQgd2hlbmV2ZXIgdGhlIHVzZXIgaXMgY29uc2lkZXJlZCBcImF1dGhlbnRpY2F0ZWRcIlxuICogYW5kIGNvbnRhaW5zIHRoZSBcInJlc3RyaWN0ZWRcIiBhcHBsaWNhdGlvbiBwYXJ0LlxuICovXG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluYFxuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDM7XG5cbiAgLypcbiAgICBBbGxvdyB0aGUgdGhpcyBmbGV4IGNoaWxkIHRvIGdyb3cgc21hbGxlciB0aGFuIGl0cyBzbWFsbGVzdCBjb250ZW50LlxuICAgIFRoaXMgaXMgbmVlZGVkIHdoZW4gdGhlcmUgaXMgYSByZWFsbHkgd2lkZSB0ZXh0IGluc2lkZSB0aGF0IHdvdWxkIHN0cmV0Y2hcbiAgICB0aGlzIG5vZGUgdG8gYmUgd2lkZXIgdGhhbiB0aGUgcGFyZW50LlxuICAqL1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIC8qXG4gICAgbGF5b3V0IHRoZSBjaGlsZHJlbi4gVGhlcmUgd2lsbCBhbHdheXMgYmUgdGhlIHBhZ2UgYW5kIHNpZGUgbm90aWZpY2F0aW9uXG4gICAgYWJvdXQgdGhlIGFjdHVhbCBjb250ZW50LiBUaGUgY29udGVudCBzaG91bGQgc3RyZXRjaCB0byBmaWxsIHRoZSByZXN0IG9mXG4gICAgdGhlIHBhZ2UuXG4gICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLypcbiAgICBzZXQgcG9zaXRpb24gdG8gcmVsYXRpdmUgdG8gbGF5b3V0IG5vdGlmaWNhdGlvbnMgYW5kIG1vZGFsc1xuICAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5leHBvcnQgY29uc3QgUmVzdHJpY3RlZEFwcGxpY2F0aW9uID0gPFxuICBBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge31cbj4oXG4gIHByb3BzOiBPbWl0PFxuICAgIFByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+LFxuICAgICdlbnZpcm9ubWVudCcgfCAnb25SZWdpc3RlckVycm9yTGlzdGVuZXJzJ1xuICA+XG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIC8vIFRPRE86IHVzaW5nIHRoaXMgaG9vayB3aWxsIHN1YnNjcmliZSB0aGUgY29tcG9uZW50IHRvIHJvdXRlIHVwZGF0ZXMuXG4gIC8vIFRoaXMgaXMgY3VycmVudGx5IHVzZWZ1bCBmb3IgZGV0ZWN0aW5nIGEgY2hhbmdlIGluIHRoZSBwcm9qZWN0IGtleVxuICAvLyBmcm9tIFVSTCAoXCIvXCIgLS0+IFwiLzpwcm9qZWN0S2V5XCIpLlxuICAvLyBIb3dldmVyLCBldmVyeSByb3V0ZSBjaGFuZ2Ugd2lsbCB0cmlnZ2VyIGEgcmUtcmVuZGVyLiBUaGlzIGlzIHByb2JhYmx5XG4gIC8vIG9rLWlzaCBidXQgd2UgbWlnaHQgd2FudCB0byBsb29rIGludG8gYSBtb3JlIHBlcmZvcm1hbnQgc29sdXRpb24uXG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8RmV0Y2hVc2VyPlxuICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nVXNlciwgdXNlciwgZXJyb3IgfSkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAvLyBJbiBjYXNlIHRoZXJlIGlzIGFuIHVuYXV0aG9yaXplZCBlcnJvciwgd2UgcmVkaXJlY3QgdG8gdGhlIGxvZ2luIHBhZ2VcbiAgICAgICAgICBpZiAoZXJyb3IuZ3JhcGhRTEVycm9ycyAmJiBBcnJheS5pc0FycmF5KGVycm9yLmdyYXBoUUxFcnJvcnMpKSB7XG4gICAgICAgICAgICBjb25zdCBoYXNVbmF1dGhvcml6ZWRFcnJvciA9IGdldEhhc1VuYXV0aG9yaXplZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSBnZXRIYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGhhc1VuYXV0aG9yaXplZEVycm9yIHx8IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKSB7XG4gICAgICAgICAgICAgIGxldCBsb2dvdXRSZWFzb246XG4gICAgICAgICAgICAgICAgfCB0eXBlb2YgTE9HT1VUX1JFQVNPTlNba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXIgJiYgdXNlci5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nTG9jYWxlRGF0YSwgbG9jYWxlLCBtZXNzYWdlcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlclxuICAgICAgICAgICAgICAgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyB0aGUgbGFuZ3VhZ2UgYXMgbG9uZyBhcyB0aGUgbG9jYWxlIGRhdGFcbiAgICAgICAgICAgICAgICAgIC8vIGlzIG5vdCBsb2FkZWQuXG4gICAgICAgICAgICAgICAgICB7Li4uKGlzTG9hZGluZ0xvY2FsZURhdGEgPyB7fSA6IHsgbG9jYWxlLCBtZXNzYWdlcyB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U2V0dXBGbG9wRmxpcFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICBsZENsaWVudFNpZGVJZD17YXBwbGljYXRpb25FbnZpcm9ubWVudC5sZENsaWVudFNpZGVJZH1cbiAgICAgICAgICAgICAgICAgICAgZmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIDxWZXJzaW9uVHJhY2tlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIHsvKiBOT1RFOiB0aGUgcmVxdWVzdHMgaW4gZmxpZ2h0IGxvYWRlciB3aWxsIHJlbmRlciBhIGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICBzcGlubmVyIGludG8gdGhlIEFwcEJhci4gKi99XG4gICAgICAgICAgICAgICAgICAgICAgPFJlcXVlc3RzSW5GbGlnaHRMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U2VudHJ5VXNlclRyYWNrZXIgdXNlcj17dXNlcn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8R3RtVXNlclRyYWNrZXIgdXNlcj17dXNlcn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8R3RtQXBwbGljYXRpb25UcmFja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk5hbWU9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQuYXBwbGljYXRpb25OYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyQnVzaW5lc3NSb2xlPXt1c2VyPy5idXNpbmVzc1JvbGV9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb24tbGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gNDNweCAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImdsb2JhbC1ub3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5HTE9CQUx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiA8UXVpY2tBY2Nlc3MgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGZXRjaFByb2plY3QgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc1Byb2plY3RMb2FkaW5nLCBwcm9qZWN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9qZWN0TG9hZGluZyB8fCAhcHJvamVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHVzZWQgb3V0c2lkZSBvZiBhIHByb2plY3QgY29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB3aGVuIHRoZSBwcm9qZWN0IGlzIGV4cGlyZWQgb3Igc3Vwc2VuZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVXNlUHJvamVjdENvbnRleHQgPSAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Quc3VzcGVuc2lvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LnN1c3BlbnNpb24uaXNBY3RpdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC5leHBpcnkgJiYgcHJvamVjdC5leHBpcnkuaXNBY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkVXNlUHJvamVjdENvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzPXtwcm9qZWN0Lmxhbmd1YWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBkYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdD17cHJvamVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3REYXRhTG9jYWxlPXtkYXRhTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUHJvamVjdERhdGFMb2NhbGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb2plY3REYXRhTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdERhdGFMb2NhbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aGVhZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5RnJvbVVybD17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFzaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIDxOYXZCYXI+IHNob3VsZCBvbmx5IGJlIHJlbmRlcmVkIHdpdGhpbiBhIHByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0LCB0aGVyZWZvcmUgd2hlbiB0aGVyZSBpcyBhIGBwcm9qZWN0S2V5YC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBgcHJvamVjdEtleWAgaW4gdGhlIFVSTCAoZS5nLiBgL2FjY291bnRgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm91dGVzKSwgd2UgZG9uJ3QgcmVuZGVyIGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IHdlIGFsc28gXCJjYWNoZVwiIHRoZSBgcHJvamVjdEtleWAgaW4gbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBcInJlLWh5ZHJhdGVcIiB0aGUgVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYXRpb24gKGUuZyB3aGVuIHlvdSBnbyB0byBgL2AsIHRoZXJlIHNob3VsZCBiZSBhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gYC86cHJvamVjdEtleWApLiBUaGVyZWZvcmUsIHdlIHNob3VsZCBub3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWx5IG9uIHRoZSB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgdG8gZGV0ZXJtaW5lIHdoaWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByb2plY3RLZXlgIGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJvamVjdEtleUZyb21VcmwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nUHJvamVjdCwgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHRoZSBsb2FkaW5nIG5hdmJhciBhcyBsb25nIGFzIGFsbCB0aGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhc24ndCBiZWVuIGxvYWRlZCwgb3IgaWYgdGhlIHByb2plY3QgZG9lcyBub3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nVXNlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nTG9jYWxlRGF0YSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nUHJvamVjdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWxvY2FsZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXByb2plY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdOYXZCYXIgLz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBkbyBub3QgcGFzcyB0aGUgYHByb2plY3RgIGludG8gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwZXJtaXNzaW9ucyBmb3IgdGhlIE5hdmJhciBhcmUgcmVzb2x2ZWQgc2VwYXJhdGVseSwgd2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IFJlYWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZCYXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmV0Y2hQcm9qZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FzaWRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nVXNlciB8fCBpc0xvYWRpbmdMb2NhbGVEYXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkxvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFpbkNvbnRhaW5lciByb2xlPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuUEFHRX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlNJREV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBoYXZlIGFuIGludGVybWVkaWFyeSA8ZGl2PiB3cmFwcGluZyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXc+IGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gd3JhcCBldmVyeSBjb250ZW50LXZpZXcuIFRoaXMgaW50ZXJtZWRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+IGlzIHNvbGVseSB1c2VkIGZvciBhZGRpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIGNvbnRlbnQtdmlldy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IHBhc3NpbmcgdGhlIHRyYWNraW5nIGNvbnRleHQgdG8gdGhlIDxWaWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGV0IGl0IGRvIHRoZSBsYXlvdXQsIHNvIHdlIGNhbiBhdm9pZCBsYXlpbmcgb3VyIGZyb20gdGhlIG91dHNpZGUgYXMgd2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQb3J0YWxzQ29udGFpbmVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiL3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiL2FjY291bnQvcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2FjY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGByZW5kZXJgIGZ1bmN0aW9uLCB3ZSBhc3N1bWUgaXQncyBvbmUgb2YgdHdvIGNhc2VzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMS4gVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHVzZSBgY2hpbGRyZW5gIGFuZCB0aGVyZWZvcmUgaW1wbGVtZW50cyB0aGUgcm91dGVzIGluY2x1ZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIDxSb3V0ZUNhdGNoQWxsPiAodGhpcyBpcyB0aGUgXCJsZWdhY3lcIiBiZWhhdmlvcikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAyLiBJdCdzIHRoZSBhY2NvdW50IGFwcGxpY2F0aW9uLCB3aGljaCBhbHdheXMgdXNlcyBgcmVuZGVyYCBhbmQgdGhlcmVmb3JlIHNob3VsZCByZW5kZXIgYXMgbm9ybWFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEluIGNhc2UgdGhlIEFwcFNoZWxsIHVzZXMgdGhlIGBjaGlsZHJlbmAgZnVuY3Rpb24sIHdlIGNhbiBhbHdheXMgYXNzdW1lIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGl0J3MgYSBub3JtYWwgQ3VzdG9tIEFwcGxpY2F0aW9uIGFuZCB0aGF0IGl0IHNob3VsZCB0cmlnZ2VyIGEgZm9yY2UgcmVsb2FkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZW5kZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+e3Byb3BzLnJlbmRlcigpfTwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlQ2F0Y2hBbGwgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBQcm9qZWN0IHJvdXRlcyAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQcm9qZWN0S2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHJldmlvdXNQcm9qZWN0S2V5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgJiYgdXNlci5kZWZhdWx0UHJvamVjdEtleVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5PVEU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBsb2FkZWQgYSBsb2FkaW5nIHNwaW5uZXIgaXMgc2hvd24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyBub3Qgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBub3IgaGFzIGEgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9qZWN0LCB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkIHRvIGNyZWF0ZSBvbmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIEdpdmVuIHRoZSB1c2VyIHdhcyB3b3JraW5nIG9uIGEgcHJvamVjdCBwcmV2aW91c2x5IG9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVzZXIpIHJldHVybiA8QXBwbGljYXRpb25Mb2FkZXIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzUHJvamVjdEtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvUHJvamVjdENyZWF0ZSAvPjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdCB0bz17YC8ke3ByZXZpb3VzUHJvamVjdEtleX1gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1cIi86cHJvamVjdEtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsocm91dGVyUHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9qZWN0Q29udGFpbmVyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoPXtyb3V0ZXJQcm9wcy5tYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e3JvdXRlclByb3BzLmxvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBlZmZlY3RpdmVseSByZW5kZXJzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGlsZHJlbiwgd2hpY2ggaXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIHBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUHJvamVjdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgPC9TZXR1cEZsb3BGbGlwUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0ZldGNoVXNlcj5cbiAgKTtcbn07XG5SZXN0cmljdGVkQXBwbGljYXRpb24uZGlzcGxheU5hbWUgPSAnUmVzdHJpY3RlZEFwcGxpY2F0aW9uJztcblxuY29uc3QgQXBwbGljYXRpb25TaGVsbCA9IDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+KFxuICBwcm9wczogUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbikgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByb3BzLm9uUmVnaXN0ZXJFcnJvckxpc3RlbmVycyh7XG4gICAgICBkaXNwYXRjaDogaW50ZXJuYWxSZWR1eFN0b3JlLmRpc3BhdGNoLFxuICAgIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pOyAvLyA8LS0gcnVuIG9ubHkgb25jZSwgd2hlbiBjb21wb25lbnQgbW91bnRzXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAjYXBwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4gbWFpbiB7XG4gICAgICAgICAgICAvKiBXaGVuIGEgbW9kYWwgaXMgb3Blbiwgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGNvbnRlbnQgdG8gYmUgc2Nyb2xsYWJsZSAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPEFwcGxpY2F0aW9uU2hlbGxQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICBhcG9sbG9DbGllbnQ9e3Byb3BzLmFwb2xsb0NsaWVudH1cbiAgICAgICAgZW52aXJvbm1lbnQ9e3Byb3BzLmVudmlyb25tZW50fVxuICAgICAgICB0cmFja2luZ0V2ZW50TGlzdD17cHJvcHMudHJhY2tpbmdFdmVudExpc3R9XG4gICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICA+XG4gICAgICAgIHsoeyBpc0F1dGhlbnRpY2F0ZWQgfSkgPT4ge1xuICAgICAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbG9nb3V0XCI+XG4gICAgICAgICAgICAgICAgICA8UmVkaXJlY3RUb0xvZ291dCAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgICAgPFJvdXRlPlxuICAgICAgICAgICAgICAgICAgPFJlc3RyaWN0ZWRBcHBsaWNhdGlvbjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmVhdHVyZUZsYWdzPXtwcm9wcy5kZWZhdWx0RmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlRmxhZ3M9e3Byb3BzLmZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcy5yZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWVzc2FnZXM9e3Byb3BzLmFwcGxpY2F0aW9uTWVzc2FnZXN9XG4gICAgICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuREVWX09OTFlfX2xvYWROYXZiYXJNZW51Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkQXBwbGljYXRpb24+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dpbiAvPjtcbiAgICAgICAgfX1cbiAgICAgIDwvQXBwbGljYXRpb25TaGVsbFByb3ZpZGVyPlxuICAgIDwvPlxuICApO1xufTtcbkFwcGxpY2F0aW9uU2hlbGwuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25TaGVsbCc7XG5BcHBsaWNhdGlvblNoZWxsLnZlcnNpb24gPSB2ZXJzaW9uO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBsaWNhdGlvblNoZWxsO1xuIl19 */",
|
|
4476
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLXNoZWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnZ0JtQiIsImZpbGUiOiJhcHBsaWNhdGlvbi1zaGVsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc3BhdGNoIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ3MgfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBOb3JtYWxpemVkQ2FjaGVPYmplY3QgfSBmcm9tICdAYXBvbGxvL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEFwb2xsb0Vycm9yIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvZXJyb3JzJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBUQXN5bmNMb2NhbGVEYXRhUHJvcHMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCB0eXBlIHsgVEFwcGxpY2F0aW9uc01lbnUgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHR5cGUgeyBUcmFja2luZ0xpc3QgfSBmcm9tICcuLi8uLi91dGlscy9ndG0nO1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIFN5bnRoZXRpY0V2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZWRpcmVjdCwgUm91dGUsIFN3aXRjaCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IEFwb2xsb0NsaWVudCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgRE9NQUlOUywgTE9HT1VUX1JFQVNPTlMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcmVwb3J0RXJyb3JUb1NlbnRyeSxcbiAgU2VudHJ5VXNlclRyYWNrZXIsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NlbnRyeSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcixcbiAgdXNlQXBwbGljYXRpb25Db250ZXh0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFBvcnRhbHNDb250YWluZXIgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNMaXN0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcmVhY3Qtbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgeyBBc3luY0xvY2FsZURhdGEgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcbmltcG9ydCB2ZXJzaW9uIGZyb20gJy4uLy4uL3ZlcnNpb24nO1xuaW1wb3J0IGludGVybmFsUmVkdXhTdG9yZSBmcm9tICcuLi8uLi9jb25maWd1cmUtc3RvcmUnO1xuaW1wb3J0IHsgc2VsZWN0UHJvamVjdEtleUZyb21VcmwsIGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBQcm9qZWN0RGF0YUxvY2FsZSBmcm9tICcuLi9wcm9qZWN0LWRhdGEtbG9jYWxlJztcbmltcG9ydCBBcHBsaWNhdGlvblNoZWxsUHJvdmlkZXIgZnJvbSAnLi4vYXBwbGljYXRpb24tc2hlbGwtcHJvdmlkZXInO1xuaW1wb3J0IHsgZ2V0QnJvd3NlckxvY2FsZSB9IGZyb20gJy4uL2FwcGxpY2F0aW9uLXNoZWxsLXByb3ZpZGVyL3V0aWxzJztcbmltcG9ydCBGZXRjaFVzZXIgZnJvbSAnLi4vZmV0Y2gtdXNlcic7XG5pbXBvcnQgVmVyc2lvblRyYWNrZXIgZnJvbSAnLi4vdmVyc2lvbi10cmFja2VyJztcbmltcG9ydCBGZXRjaFByb2plY3QgZnJvbSAnLi4vZmV0Y2gtcHJvamVjdCc7XG5pbXBvcnQgQ29uZmlndXJlSW50bFByb3ZpZGVyIGZyb20gJy4uL2NvbmZpZ3VyZS1pbnRsLXByb3ZpZGVyJztcbmltcG9ydCBBcHBCYXIgZnJvbSAnLi4vYXBwLWJhcic7XG5pbXBvcnQgUHJvamVjdENvbnRhaW5lciBmcm9tICcuLi9wcm9qZWN0LWNvbnRhaW5lcic7XG5pbXBvcnQgU2V0dXBGbG9wRmxpcFByb3ZpZGVyIGZyb20gJy4uL3NldHVwLWZsb3AtZmxpcC1wcm92aWRlcic7XG5pbXBvcnQgUmVxdWVzdHNJbkZsaWdodExvYWRlciBmcm9tICcuLi9yZXF1ZXN0cy1pbi1mbGlnaHQtbG9hZGVyJztcbmltcG9ydCBHdG1Vc2VyVHJhY2tlciBmcm9tICcuLi9ndG0tdXNlci10cmFja2VyJztcbmltcG9ydCBHdG1BcHBsaWNhdGlvblRyYWNrZXIgZnJvbSAnLi4vZ3RtLWFwcGxpY2F0aW9uLXRyYWNrZXInO1xuaW1wb3J0IE5hdkJhciwgeyBMb2FkaW5nTmF2QmFyIH0gZnJvbSAnLi4vbmF2YmFyJztcbmltcG9ydCBBcHBsaWNhdGlvbkxvYWRlciBmcm9tICcuLi9hcHBsaWNhdGlvbi1sb2FkZXInO1xuaW1wb3J0IEVycm9yQXBvbG9naXplciBmcm9tICcuLi9lcnJvci1hcG9sb2dpemVyJztcbmltcG9ydCBSb3V0ZUNhdGNoQWxsIGZyb20gJy4uL3JvdXRlLWNhdGNoLWFsbCc7XG5pbXBvcnQgUmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgZnJvbSAnLi4vcmVkaXJlY3QtdG8tcHJvamVjdC1jcmVhdGUnO1xuaW1wb3J0IFF1aWNrQWNjZXNzIGZyb20gJy4uL3F1aWNrLWFjY2Vzcyc7XG5pbXBvcnQgUmVkaXJlY3RUb0xvZ2luIGZyb20gJy4vcmVkaXJlY3QtdG8tbG9naW4nO1xuaW1wb3J0IFJlZGlyZWN0VG9Mb2dvdXQgZnJvbSAnLi9yZWRpcmVjdC10by1sb2dvdXQnO1xuXG50eXBlIFByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4gPSB7XG4gIGFwb2xsb0NsaWVudD86IEFwb2xsb0NsaWVudDxOb3JtYWxpemVkQ2FjaGVPYmplY3Q+O1xuICAvKipcbiAgICogTk9URTogdGhlIGVudmlyb25tZW50IHZhbHVlIHBhc3NlZCBoZXJlIGlzIHVzdWFsbHkgYHdpbmRvdy5hcHBgLlxuICAgKiBUaGlzIG9iamVjdCB1c3VhbGx5IGNvbnRhaW5zIHZhbHVlcyBhcyBzdHJpbmcgYW5kIHdpbGwgYmUgXCJ0cmFuc2Zvcm1lZFwiXG4gICAqIHRvIGEgcmVhbCBvYmplY3Qgd2l0aCBwcm9wZXIgc2NhbGFyIHZhbHVlcyBpbiB0aGUgQXBwbGljYXRpb25TaGVsbC5cbiAgICogVG8ga2VlcCB0aGUgdHlwZXMgc2ltcGxlLCB3ZSBhc3NpZ24gaGVyZSB0aGUgYWxyZWFkeSBjb2VyY2VkIHR5cGUgb2JqZWN0LlxuICAgKiBUaGlzIHNob3VsZCBiZSBmaW5lLCBhcyBjb25zdW1lcnMgb2YgdGhlIGFwcGxpY2F0aW9uIGNhbiB1c2UgdGhlXG4gICAqIGBBcHBsaWNhdGlvbldpbmRvd2AgdHlwZSBmcm9tIHRoZSBgQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzYCBwYWNrYWdlXG4gICAqIHRvIHR5cGUgY2FzdCBpdDpcbiAgICpcbiAgICogYGBgdHN4XG4gICAqIGltcG9ydCB7IEFwcGxpY2F0aW9uV2luZG93IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbiAgICpcbiAgICogZGVjbGFyZSBsZXQgd2luZG93OiBBcHBsaWNhdGlvbldpbmRvdztcbiAgICpcbiAgICogPEFwcGxpY2F0aW9uU2hlbGwgZW52aXJvbm1lbnQ9e3dpbmRvdy5hcHB9IC8+XG4gICAqIGBgYFxuICAgKi9cbiAgZW52aXJvbm1lbnQ6IFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIGZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgZGVmYXVsdEZlYXR1cmVGbGFncz86IFRGbGFncztcbiAgdHJhY2tpbmdFdmVudExpc3Q/OiBUcmFja2luZ0xpc3Q7XG4gIGFwcGxpY2F0aW9uTWVzc2FnZXM6IFRBc3luY0xvY2FsZURhdGFQcm9wc1snYXBwbGljYXRpb25NZXNzYWdlcyddO1xuICBvblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnM6IChhcmdzOiB7IGRpc3BhdGNoOiBEaXNwYXRjaCB9KSA9PiB2b2lkO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiA8VHJhY2tGbj4oXG4gICAgZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxBbmNob3JFbGVtZW50PixcbiAgICB0cmFjazogVHJhY2tGblxuICApID0+IHZvaWQ7XG4gIHJlbmRlcj86ICgpID0+IEpTWC5FbGVtZW50O1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gZGV2ZWxvcG1lbnQgbW9kZVxuICBERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWc/OiAoKSA9PiBQcm9taXNlPFRBcHBsaWNhdGlvbnNNZW51WydhcHBCYXInXT47XG4gIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz86ICgpID0+IFByb21pc2U8VEFwcGxpY2F0aW9uc01lbnVbJ25hdkJhciddPjtcbn07XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgcmVuZGVyZWQgd2hlbmV2ZXIgdGhlIHVzZXIgaXMgY29uc2lkZXJlZCBcImF1dGhlbnRpY2F0ZWRcIlxuICogYW5kIGNvbnRhaW5zIHRoZSBcInJlc3RyaWN0ZWRcIiBhcHBsaWNhdGlvbiBwYXJ0LlxuICovXG5cbmNvbnN0IGdldEhhc1VuYXV0aG9yaXplZEVycm9yID0gKGdyYXBoUUxFcnJvcnM6IEFwb2xsb0Vycm9yWydncmFwaFFMRXJyb3JzJ10pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5leHRlbnNpb25zICYmXG4gICAgICBncWxFcnJvci5leHRlbnNpb25zLmNvZGUgJiZcbiAgICAgIGdxbEVycm9yLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VOQVVUSEVOVElDQVRFRCdcbiAgKTtcbmNvbnN0IGdldEhhc1VzZXJCZWVuRGVsZXRlZEVycm9yID0gKFxuICBncmFwaFFMRXJyb3JzOiBBcG9sbG9FcnJvclsnZ3JhcGhRTEVycm9ycyddXG4pID0+XG4gIGdyYXBoUUxFcnJvcnMuZmluZChcbiAgICAoZ3FsRXJyb3IpID0+XG4gICAgICBncWxFcnJvci5tZXNzYWdlICYmXG4gICAgICAvLyBOT1RFOiBUaGUgQ1RQIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFuIGVycm9yIGNvZGUgaW4gdGhpcyBjYXNlLlxuICAgICAgZ3FsRXJyb3IubWVzc2FnZS5pbmNsdWRlcygnd2FzIG5vdCBmb3VuZC4nKVxuICApO1xuXG5leHBvcnQgY29uc3QgTWFpbkNvbnRhaW5lciA9IHN0eWxlZC5tYWluYFxuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDM7XG5cbiAgLypcbiAgICBBbGxvdyB0aGUgdGhpcyBmbGV4IGNoaWxkIHRvIGdyb3cgc21hbGxlciB0aGFuIGl0cyBzbWFsbGVzdCBjb250ZW50LlxuICAgIFRoaXMgaXMgbmVlZGVkIHdoZW4gdGhlcmUgaXMgYSByZWFsbHkgd2lkZSB0ZXh0IGluc2lkZSB0aGF0IHdvdWxkIHN0cmV0Y2hcbiAgICB0aGlzIG5vZGUgdG8gYmUgd2lkZXIgdGhhbiB0aGUgcGFyZW50LlxuICAqL1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIC8qXG4gICAgbGF5b3V0IHRoZSBjaGlsZHJlbi4gVGhlcmUgd2lsbCBhbHdheXMgYmUgdGhlIHBhZ2UgYW5kIHNpZGUgbm90aWZpY2F0aW9uXG4gICAgYWJvdXQgdGhlIGFjdHVhbCBjb250ZW50LiBUaGUgY29udGVudCBzaG91bGQgc3RyZXRjaCB0byBmaWxsIHRoZSByZXN0IG9mXG4gICAgdGhlIHBhZ2UuXG4gICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLypcbiAgICBzZXQgcG9zaXRpb24gdG8gcmVsYXRpdmUgdG8gbGF5b3V0IG5vdGlmaWNhdGlvbnMgYW5kIG1vZGFsc1xuICAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5leHBvcnQgY29uc3QgUmVzdHJpY3RlZEFwcGxpY2F0aW9uID0gPFxuICBBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge31cbj4oXG4gIHByb3BzOiBPbWl0PFxuICAgIFByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+LFxuICAgICdlbnZpcm9ubWVudCcgfCAnb25SZWdpc3RlckVycm9yTGlzdGVuZXJzJ1xuICA+XG4pID0+IHtcbiAgY29uc3QgYXBwbGljYXRpb25FbnZpcm9ubWVudCA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dChcbiAgICAoY29udGV4dCkgPT4gY29udGV4dC5lbnZpcm9ubWVudFxuICApIGFzIFRBcHBsaWNhdGlvbkNvbnRleHQ8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5bJ2Vudmlyb25tZW50J107XG4gIC8vIFRPRE86IHVzaW5nIHRoaXMgaG9vayB3aWxsIHN1YnNjcmliZSB0aGUgY29tcG9uZW50IHRvIHJvdXRlIHVwZGF0ZXMuXG4gIC8vIFRoaXMgaXMgY3VycmVudGx5IHVzZWZ1bCBmb3IgZGV0ZWN0aW5nIGEgY2hhbmdlIGluIHRoZSBwcm9qZWN0IGtleVxuICAvLyBmcm9tIFVSTCAoXCIvXCIgLS0+IFwiLzpwcm9qZWN0S2V5XCIpLlxuICAvLyBIb3dldmVyLCBldmVyeSByb3V0ZSBjaGFuZ2Ugd2lsbCB0cmlnZ2VyIGEgcmUtcmVuZGVyLiBUaGlzIGlzIHByb2JhYmx5XG4gIC8vIG9rLWlzaCBidXQgd2UgbWlnaHQgd2FudCB0byBsb29rIGludG8gYSBtb3JlIHBlcmZvcm1hbnQgc29sdXRpb24uXG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8RmV0Y2hVc2VyPlxuICAgICAgeyh7IGlzTG9hZGluZzogaXNMb2FkaW5nVXNlciwgdXNlciwgZXJyb3IgfSkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAvLyBJbiBjYXNlIHRoZXJlIGlzIGFuIHVuYXV0aG9yaXplZCBlcnJvciwgd2UgcmVkaXJlY3QgdG8gdGhlIGxvZ2luIHBhZ2VcbiAgICAgICAgICBpZiAoZXJyb3IuZ3JhcGhRTEVycm9ycyAmJiBBcnJheS5pc0FycmF5KGVycm9yLmdyYXBoUUxFcnJvcnMpKSB7XG4gICAgICAgICAgICBjb25zdCBoYXNVbmF1dGhvcml6ZWRFcnJvciA9IGdldEhhc1VuYXV0aG9yaXplZEVycm9yKFxuICAgICAgICAgICAgICBlcnJvci5ncmFwaFFMRXJyb3JzXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgaGFzVXNlckJlZW5EZWxldGVkRXJyb3IgPSBnZXRIYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcihcbiAgICAgICAgICAgICAgZXJyb3IuZ3JhcGhRTEVycm9yc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGhhc1VuYXV0aG9yaXplZEVycm9yIHx8IGhhc1VzZXJCZWVuRGVsZXRlZEVycm9yKSB7XG4gICAgICAgICAgICAgIGxldCBsb2dvdXRSZWFzb246XG4gICAgICAgICAgICAgICAgfCB0eXBlb2YgTE9HT1VUX1JFQVNPTlNba2V5b2YgdHlwZW9mIExPR09VVF9SRUFTT05TXVxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBpZiAoaGFzVW5hdXRob3JpemVkRXJyb3IpXG4gICAgICAgICAgICAgICAgbG9nb3V0UmVhc29uID0gTE9HT1VUX1JFQVNPTlMuVU5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgICBlbHNlIGlmIChoYXNVc2VyQmVlbkRlbGV0ZWRFcnJvcilcbiAgICAgICAgICAgICAgICBsb2dvdXRSZWFzb24gPSBMT0dPVVRfUkVBU09OUy5ERUxFVEVEO1xuICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0VG9Mb2dvdXQgcmVhc29uPXtsb2dvdXRSZWFzb259IC8+O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTaW5jZSB3ZSBkbyBub3Qga25vdyB0aGUgbG9jYWxlIG9mIHRoZSB1c2VyLCB3ZSBwaWNrIGl0IGZyb20gdGhlXG4gICAgICAgICAgLy8gdXNlcidzIGJyb3dzZXIgdG8gYXR0ZW1wdCB0byBtYXRjaCB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICBjb25zdCB1c2VyTG9jYWxlID0gZ2V0QnJvd3NlckxvY2FsZSh3aW5kb3cpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QXN5bmNMb2NhbGVEYXRhXG4gICAgICAgICAgICAgIGxvY2FsZT17dXNlckxvY2FsZX1cbiAgICAgICAgICAgICAgYXBwbGljYXRpb25NZXNzYWdlcz17cHJvcHMuYXBwbGljYXRpb25NZXNzYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgeyh7IGxvY2FsZSwgbWVzc2FnZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlcG9ydEVycm9yVG9TZW50cnkoZXJyb3IsIHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yQXBvbG9naXplciAvPlxuICAgICAgICAgICAgICAgICAgPC9Db25maWd1cmVJbnRsUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvQXN5bmNMb2NhbGVEYXRhPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcm9qZWN0S2V5RnJvbVVybCA9IHNlbGVjdFByb2plY3RLZXlGcm9tVXJsKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7LypcbiAgICAgICAgICAgIE5PVEU6IHdlIGRvIG5vdCB3YW50IHRvIGxvYWQgdGhlIGxvY2FsZSBkYXRhIGFzIGxvbmcgYXMgd2UgZG8gbm90XG4gICAgICAgICAgICBrbm93IHRoZSB1c2VyIHNldHRpbmcuIFRoaXMgaXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkIGZsYXNoaW5nXG4gICAgICAgICAgICBvZiB0cmFuc2xhdGVkIGNvbnRlbnQgb24gc3Vic2VxdWVudCByZS1yZW5kZXJzLlxuICAgICAgICAgICAgVGhlcmVmb3JlLCBhcyBsb25nIGFzIHRoZXJlIGlzIG5vIGxvY2FsZSwgdGhlIGNoaWxkcmVuIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGVcbiAgICAgICAgICAgIGBpc0xvYWRpbmdgIHByb3AgdG8gZGVjaWRlIHdoYXQgdG8gcmVuZGVyLlxuICAgICAgICAgICovfVxuICAgICAgICAgICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgICAgICAgICBsb2NhbGU9e3VzZXI/Lmxhbmd1YWdlfVxuICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7KHsgaXNMb2FkaW5nOiBpc0xvYWRpbmdMb2NhbGVEYXRhLCBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgICAgICAgICA8Q29uZmlndXJlSW50bFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBwYXNzIHRoZSBsYW5ndWFnZSBhcyBsb25nIGFzIHRoZSBsb2NhbGUgZGF0YVxuICAgICAgICAgICAgICAgICAgLy8gaXMgbm90IGxvYWRlZC5cbiAgICAgICAgICAgICAgICAgIHsuLi4oaXNMb2FkaW5nTG9jYWxlRGF0YSA/IHt9IDogeyBsb2NhbGUsIG1lc3NhZ2VzIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTZXR1cEZsb3BGbGlwUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgIGxkQ2xpZW50U2lkZUlkPXthcHBsaWNhdGlvbkVudmlyb25tZW50LmxkQ2xpZW50U2lkZUlkfVxuICAgICAgICAgICAgICAgICAgICBmbGFncz17cHJvcHMuZmVhdHVyZUZsYWdzfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmxhZ3M9e3Byb3BzLmRlZmF1bHRGZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFZlcnNpb25UcmFja2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIE5PVEU6IHRoZSByZXF1ZXN0cyBpbiBmbGlnaHQgbG9hZGVyIHdpbGwgcmVuZGVyIGEgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgIHNwaW5uZXIgaW50byB0aGUgQXBwQmFyLiAqL31cbiAgICAgICAgICAgICAgICAgICAgICA8UmVxdWVzdHNJbkZsaWdodExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZW50cnlVc2VyVHJhY2tlciB1c2VyPXt1c2VyID8/IHVuZGVmaW5lZH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8R3RtVXNlclRyYWNrZXIgdXNlcj17dXNlcn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8R3RtQXBwbGljYXRpb25UcmFja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk5hbWU9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnQuYXBwbGljYXRpb25OYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvamVjdEtleUZyb21Vcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyQnVzaW5lc3NSb2xlPXt1c2VyPy5idXNpbmVzc1JvbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFwcGxpY2F0aW9uLWxheW91dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDQzcHggMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJnbG9iYWwtbm90aWZpY2F0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zTGlzdCBkb21haW49e0RPTUFJTlMuR0xPQkFMfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gPFF1aWNrQWNjZXNzIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmV0Y2hQcm9qZWN0IHByb2plY3RLZXk9e3Byb2plY3RLZXlGcm9tVXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlzTG9hZGluZzogaXNQcm9qZWN0TG9hZGluZywgcHJvamVjdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzUHJvamVjdExvYWRpbmcgfHwgIXByb2plY3QpIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBwcm9qZWN0IGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3Igd2hlbiB0aGUgcHJvamVjdCBpcyBleHBpcmVkIG9yIHN1cHNlbmRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFVzZVByb2plY3RDb250ZXh0ID0gIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9qZWN0LnN1c3BlbnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5zdXNwZW5zaW9uLmlzQWN0aXZlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3QuZXhwaXJ5ICYmIHByb2plY3QuZXhwaXJ5LmlzQWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFVzZVByb2plY3RDb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxRdWlja0FjY2VzcyAvPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdERhdGFMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlcz17cHJvamVjdC5sYW5ndWFnZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogZGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Q9e3Byb2plY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0RGF0YUxvY2FsZT17ZGF0YUxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVByb2plY3REYXRhTG9jYWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9qZWN0RGF0YUxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwbGljYXRpb25Db250ZXh0UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3REYXRhTG9jYWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Sb3V0ZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiaGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcEJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleUZyb21Vcmw9e3Byb2plY3RLZXlGcm9tVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkQXBwYmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhc2lkZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSA8TmF2QmFyPiBzaG91bGQgb25seSBiZSByZW5kZXJlZCB3aXRoaW4gYSBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGV4dCwgdGhlcmVmb3JlIHdoZW4gdGhlcmUgaXMgYSBgcHJvamVjdEtleWAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYHByb2plY3RLZXlgIGluIHRoZSBVUkwgKGUuZy4gYC9hY2NvdW50YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvdXRlcyksIHdlIGRvbid0IHJlbmRlciBpdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiB3ZSBhbHNvIFwiY2FjaGVcIiB0aGUgYHByb2plY3RLZXlgIGluIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgdG8gXCJyZS1oeWRyYXRlXCIgdGhlIFVSTFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uIChlLmcgd2hlbiB5b3UgZ28gdG8gYC9gLCB0aGVyZSBzaG91bGQgYmUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZGlyZWN0IHRvIGAvOnByb2plY3RLZXlgKS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVseSBvbiB0aGUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlIHRvIGRldGVybWluZSB3aGljaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcm9qZWN0S2V5YCBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2plY3RLZXlGcm9tVXJsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZldGNoUHJvamVjdCBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoeyBpc0xvYWRpbmc6IGlzTG9hZGluZ1Byb2plY3QsIHByb2plY3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbmRlciB0aGUgbG9hZGluZyBuYXZiYXIgYXMgbG9uZyBhcyBhbGwgdGhlIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYXNuJ3QgYmVlbiBsb2FkZWQsIG9yIGlmIHRoZSBwcm9qZWN0IGRvZXMgbm90IGV4aXN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZ1VzZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZ0xvY2FsZURhdGEgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZ1Byb2plY3QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFsb2NhbGUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxMb2FkaW5nTmF2QmFyIC8+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudD17YXBwbGljYXRpb25FbnZpcm9ubWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogZG8gbm90IHBhc3MgdGhlIGBwcm9qZWN0YCBpbnRvIHRoZSBhcHBsaWNhdGlvbiBjb250ZXh0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcGVybWlzc2lvbnMgZm9yIHRoZSBOYXZiYXIgYXJlIHJlc29sdmVkIHNlcGFyYXRlbHksIHdpdGhpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhIGRpZmZlcmVudCBSZWFjdCBjb250ZXh0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5RnJvbVVybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXtwcm9qZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50PXthcHBsaWNhdGlvbkVudmlyb25tZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FwcGxpY2F0aW9uQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZldGNoUHJvamVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZ1VzZXIgfHwgaXNMb2FkaW5nTG9jYWxlRGF0YSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXIgcm9sZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXBwbGljYXRpb25Mb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9NYWluQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1haW5Db250YWluZXIgcm9sZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3QgZG9tYWluPXtET01BSU5TLlBBR0V9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0IGRvbWFpbj17RE9NQUlOUy5TSURFfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgaGF2ZSBhbiBpbnRlcm1lZGlhcnkgPGRpdj4gd3JhcHBpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3PiBjb21wb25lbnQgdGhhdCBpcyB1c2VkIHRvIHdyYXAgZXZlcnkgY29udGVudC12aWV3LiBUaGlzIGludGVybWVkaWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiBpcyBzb2xlbHkgdXNlZCBmb3IgYWRkaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSBjb250ZW50LXZpZXcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvd2V2ZXIsIHRoaXMgY291bGQgYmUgZG9uZSBieSBwYXNzaW5nIHRoZSB0cmFja2luZyBjb250ZXh0IHRvIHRoZSA8Vmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxldCBpdCBkbyB0aGUgbGF5b3V0LCBzbyB3ZSBjYW4gYXZvaWQgbGF5aW5nIG91ciBmcm9tIHRoZSBvdXRzaWRlIGFzIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UG9ydGFsc0NvbnRhaW5lciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbT1cIi9wcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bz1cIi9hY2NvdW50L3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9hY2NvdW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBJbiBjYXNlIHRoZSBBcHBTaGVsbCB1c2VzIHRoZSBgcmVuZGVyYCBmdW5jdGlvbiwgd2UgYXNzdW1lIGl0J3Mgb25lIG9mIHR3byBjYXNlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDEuIFRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCB1c2UgYGNoaWxkcmVuYCBhbmQgdGhlcmVmb3JlIGltcGxlbWVudHMgdGhlIHJvdXRlcyBpbmNsdWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHRoZSA8Um91dGVDYXRjaEFsbD4gKHRoaXMgaXMgdGhlIFwibGVnYWN5XCIgYmVoYXZpb3IpLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMi4gSXQncyB0aGUgYWNjb3VudCBhcHBsaWNhdGlvbiwgd2hpY2ggYWx3YXlzIHVzZXMgYHJlbmRlcmAgYW5kIHRoZXJlZm9yZSBzaG91bGQgcmVuZGVyIGFzIG5vcm1hbC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBJbiBjYXNlIHRoZSBBcHBTaGVsbCB1c2VzIHRoZSBgY2hpbGRyZW5gIGZ1bmN0aW9uLCB3ZSBjYW4gYWx3YXlzIGFzc3VtZSB0aGF0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBpdCdzIGEgbm9ybWFsIEN1c3RvbSBBcHBsaWNhdGlvbiBhbmQgdGhhdCBpdCBzaG91bGQgdHJpZ2dlciBhIGZvcmNlIHJlbG9hZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucmVuZGVyID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Pntwcm9wcy5yZW5kZXIoKX08Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZUNhdGNoQWxsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogUHJvamVjdCByb3V0ZXMgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg9XCIvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzUHJvamVjdEtleSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFByZXZpb3VzUHJvamVjdEtleShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPy5kZWZhdWx0UHJvamVjdEtleSA/PyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOT1RFOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciBoYXMgbm90IGJlZW4gbG9hZGVkIGEgbG9hZGluZyBzcGlubmVyIGlzIHNob3duLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgbm90IHdvcmtpbmcgb24gYSBwcm9qZWN0IHByZXZpb3VzbHkgbm9yIGhhcyBhIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgcHJvamVjdCwgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgb25lLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBHaXZlbiB0aGUgdXNlciB3YXMgd29ya2luZyBvbiBhIHByb2plY3QgcHJldmlvdXNseSBvciBoYXMgYSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2plY3QsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyKSByZXR1cm4gPEFwcGxpY2F0aW9uTG9hZGVyIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1Byb2plY3RLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8UmVkaXJlY3RUb1Byb2plY3RDcmVhdGUgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVkaXJlY3QgdG89e2AvJHtwcmV2aW91c1Byb2plY3RLZXl9YH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg9XCIvOnByb2plY3RLZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHJvdXRlclByb3BzKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdENvbnRhaW5lcjxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXt1c2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaD17cm91dGVyUHJvcHMubWF0Y2h9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtyb3V0ZXJQcm9wcy5sb2NhdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ9e2FwcGxpY2F0aW9uRW52aXJvbm1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgZWZmZWN0aXZlbHkgcmVuZGVycyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hpbGRyZW4sIHdoaWNoIGlzIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzcGVjaWZpYyBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17cHJvcHMucmVuZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Byb2plY3RDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L01haW5Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgIDwvU2V0dXBGbG9wRmxpcFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvQ29uZmlndXJlSW50bFByb3ZpZGVyPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICAgICAgICAgPC9BcHBsaWNhdGlvbkNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgKTtcbiAgICAgIH19XG4gICAgPC9GZXRjaFVzZXI+XG4gICk7XG59O1xuUmVzdHJpY3RlZEFwcGxpY2F0aW9uLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRBcHBsaWNhdGlvbic7XG5cbmNvbnN0IEFwcGxpY2F0aW9uU2hlbGwgPSA8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PihcbiAgcHJvcHM6IFByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4pID0+IHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcm9wcy5vblJlZ2lzdGVyRXJyb3JMaXN0ZW5lcnMoe1xuICAgICAgZGlzcGF0Y2g6IGludGVybmFsUmVkdXhTdG9yZS5kaXNwYXRjaCxcbiAgICB9KTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtdKTsgLy8gPC0tIHJ1biBvbmx5IG9uY2UsIHdoZW4gY29tcG9uZW50IG1vdW50c1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgI2FwcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuIG1haW4ge1xuICAgICAgICAgICAgLyogV2hlbiBhIG1vZGFsIGlzIG9wZW4sIHdlIHNob3VsZCBwcmV2ZW50IHRoZSBjb250ZW50IHRvIGJlIHNjcm9sbGFibGUgKi9cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgfVxuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxBcHBsaWNhdGlvblNoZWxsUHJvdmlkZXI8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgYXBvbGxvQ2xpZW50PXtwcm9wcy5hcG9sbG9DbGllbnR9XG4gICAgICAgIGVudmlyb25tZW50PXtwcm9wcy5lbnZpcm9ubWVudH1cbiAgICAgICAgdHJhY2tpbmdFdmVudExpc3Q9e3Byb3BzLnRyYWNraW5nRXZlbnRMaXN0fVxuICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgPlxuICAgICAgICB7KHsgaXNBdXRoZW50aWNhdGVkIH0pID0+IHtcbiAgICAgICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2xvZ291dFwiPlxuICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0VG9Mb2dvdXQgLz5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuICAgICAgICAgICAgICAgIDxSb3V0ZT5cbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkQXBwbGljYXRpb248QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEZlYXR1cmVGbGFncz17cHJvcHMuZGVmYXVsdEZlYXR1cmVGbGFnc31cbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZUZsYWdzPXtwcm9wcy5mZWF0dXJlRmxhZ3N9XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcj17cHJvcHMucmVuZGVyfVxuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgICAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgREVWX09OTFlfX2xvYWRBcHBiYXJNZW51Q29uZmlnPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5ERVZfT05MWV9fbG9hZEFwcGJhck1lbnVDb25maWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBERVZfT05MWV9fbG9hZE5hdmJhck1lbnVDb25maWc9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLkRFVl9PTkxZX19sb2FkTmF2YmFyTWVudUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDwvUmVzdHJpY3RlZEFwcGxpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG4gICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIDxSZWRpcmVjdFRvTG9naW4gLz47XG4gICAgICAgIH19XG4gICAgICA8L0FwcGxpY2F0aW9uU2hlbGxQcm92aWRlcj5cbiAgICA8Lz5cbiAgKTtcbn07XG5BcHBsaWNhdGlvblNoZWxsLmRpc3BsYXlOYW1lID0gJ0FwcGxpY2F0aW9uU2hlbGwnO1xuQXBwbGljYXRpb25TaGVsbC52ZXJzaW9uID0gdmVyc2lvbjtcblxuZXhwb3J0IGRlZmF1bHQgQXBwbGljYXRpb25TaGVsbDtcbiJdfQ== */",
|
|
4465
4477
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
4466
4478
|
};
|
|
4467
4479
|
|
|
@@ -4510,16 +4522,16 @@ var ApplicationShell = function ApplicationShell(props) {
|
|
|
4510
4522
|
};
|
|
4511
4523
|
|
|
4512
4524
|
ApplicationShell.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
4513
|
-
apolloClient: _pt__default[
|
|
4514
|
-
featureFlags: _pt__default[
|
|
4515
|
-
defaultFeatureFlags: _pt__default[
|
|
4516
|
-
trackingEventList: _pt__default[
|
|
4517
|
-
onRegisterErrorListeners: _pt__default[
|
|
4518
|
-
onMenuItemClick: _pt__default[
|
|
4519
|
-
render: _pt__default[
|
|
4520
|
-
children: _pt__default[
|
|
4521
|
-
DEV_ONLY__loadAppbarMenuConfig: _pt__default[
|
|
4522
|
-
DEV_ONLY__loadNavbarMenuConfig: _pt__default[
|
|
4525
|
+
apolloClient: _pt__default["default"].any,
|
|
4526
|
+
featureFlags: _pt__default["default"].any,
|
|
4527
|
+
defaultFeatureFlags: _pt__default["default"].any,
|
|
4528
|
+
trackingEventList: _pt__default["default"].any,
|
|
4529
|
+
onRegisterErrorListeners: _pt__default["default"].func.isRequired,
|
|
4530
|
+
onMenuItemClick: _pt__default["default"].func,
|
|
4531
|
+
render: _pt__default["default"].func,
|
|
4532
|
+
children: _pt__default["default"].node,
|
|
4533
|
+
DEV_ONLY__loadAppbarMenuConfig: _pt__default["default"].func,
|
|
4534
|
+
DEV_ONLY__loadNavbarMenuConfig: _pt__default["default"].func
|
|
4523
4535
|
} : {};
|
|
4524
4536
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
4525
4537
|
ApplicationShell.version = applicationEntryPoint.version;
|
|
@@ -4557,10 +4569,10 @@ var InjectReducers = function InjectReducers(props) {
|
|
|
4557
4569
|
};
|
|
4558
4570
|
|
|
4559
4571
|
InjectReducers.propTypes = {
|
|
4560
|
-
id: _pt__default[
|
|
4561
|
-
reducers: _pt__default[
|
|
4562
|
-
shouldCleanUpOnUnmount: _pt__default[
|
|
4563
|
-
children: _pt__default[
|
|
4572
|
+
id: _pt__default["default"].string.isRequired,
|
|
4573
|
+
reducers: _pt__default["default"].any.isRequired,
|
|
4574
|
+
shouldCleanUpOnUnmount: _pt__default["default"].bool.isRequired,
|
|
4575
|
+
children: _pt__default["default"].node.isRequired
|
|
4564
4576
|
};
|
|
4565
4577
|
InjectReducers.displayName = 'InjectReducers';
|
|
4566
4578
|
InjectReducers.defaultProps = defaultProps;
|
|
@@ -4573,7 +4585,7 @@ sentry.boot();
|
|
|
4573
4585
|
var makeErrorToCapture = function makeErrorToCapture(error) {
|
|
4574
4586
|
if (error instanceof Error) return error;
|
|
4575
4587
|
if (error instanceof ErrorEvent) return new Error(error.message);
|
|
4576
|
-
return new Error(_JSON$stringify__default[
|
|
4588
|
+
return new Error(_JSON$stringify__default["default"](error.reason || 'Unhandled rejection without a reason'));
|
|
4577
4589
|
};
|
|
4578
4590
|
|
|
4579
4591
|
var getErrorMessage = function getErrorMessage(error) {
|
|
@@ -4584,7 +4596,7 @@ var getErrorMessage = function getErrorMessage(error) {
|
|
|
4584
4596
|
|
|
4585
4597
|
var shouldErrorBeTracked = function shouldErrorBeTracked(error) {
|
|
4586
4598
|
var errorMessage = getErrorMessage(error);
|
|
4587
|
-
return !_someInstanceProperty__default[
|
|
4599
|
+
return !_someInstanceProperty__default["default"](errorMessageIgnoreList).call(errorMessageIgnoreList, function (match) {
|
|
4588
4600
|
return match.test(errorMessage);
|
|
4589
4601
|
});
|
|
4590
4602
|
};
|