@agilemotion/oui-react-js 2.0.27 → 2.0.29
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/AuthImage.js +68 -0
- package/dist/components/FileThumb.js +25 -54
- package/dist/components/TabPanel.js +14 -3
- package/dist/components/form/UploadField.js +14 -45
- package/dist/components/media/VCRoomParticipant.js +5 -9
- package/dist/components/media/VideoPlayer.js +75 -7
- package/dist/components/media/chat/ChatRoom.js +17 -19
- package/dist/documentDownload.js +79 -0
- package/package.json +1 -1
|
@@ -8,15 +8,16 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
9
9
|
require("./VideoPlayer.css");
|
|
10
10
|
var _reactPlayer = _interopRequireDefault(require("react-player"));
|
|
11
|
-
var
|
|
11
|
+
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
12
12
|
var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
13
|
+
var _documentDownload = require("../../documentDownload");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
-
const location = window.location.protocol + '//' + window.location.hostname;
|
|
16
16
|
const VideoPlayer = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
17
17
|
const [playing, setPlaying] = (0, _react.useState)(false);
|
|
18
18
|
const [documentId, setDocumentId] = (0, _react.useState)(false);
|
|
19
19
|
const [downloadUrl, setDownloadUrl] = (0, _react.useState)(null);
|
|
20
|
+
const [loading, setLoading] = (0, _react.useState)(true);
|
|
20
21
|
const [disabled, setDisabled] = _react.default.useState(false);
|
|
21
22
|
const [visible, setVisible] = _react.default.useState(true);
|
|
22
23
|
_react.default.useEffect(() => {
|
|
@@ -36,12 +37,44 @@ const VideoPlayer = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default
|
|
|
36
37
|
props.handle.api.refresh();
|
|
37
38
|
}, [documentId]);
|
|
38
39
|
_react.default.useEffect(() => {}, [playing]);
|
|
40
|
+
|
|
41
|
+
// Fetch the video with header auth (Authorization + idToken + tenant) as a blob object URL. A
|
|
42
|
+
// plain <video> src (what ReactPlayer sets) can't send the tenant header, so the docs service
|
|
43
|
+
// would resolve the wrong S3 bucket and the video would fail to load.
|
|
39
44
|
_react.default.useEffect(() => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
// Initial `false` sentinel: the parent hasn't resolved the training data yet, so keep the
|
|
46
|
+
// spinner (loading starts true) rather than flashing "no video".
|
|
47
|
+
if (documentId === false) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!documentId) {
|
|
51
|
+
// Parent resolved documentId to empty (undefined/null) — genuinely no video.
|
|
43
52
|
setDownloadUrl(null);
|
|
53
|
+
setLoading(false);
|
|
54
|
+
return;
|
|
44
55
|
}
|
|
56
|
+
let active = true;
|
|
57
|
+
let created = null;
|
|
58
|
+
setLoading(true);
|
|
59
|
+
setDownloadUrl(null);
|
|
60
|
+
(0, _documentDownload.fetchDocumentObjectUrl)(documentId).then(objectUrl => {
|
|
61
|
+
if (active) {
|
|
62
|
+
created = objectUrl;
|
|
63
|
+
setDownloadUrl(objectUrl);
|
|
64
|
+
} else {
|
|
65
|
+
URL.revokeObjectURL(objectUrl);
|
|
66
|
+
}
|
|
67
|
+
}).catch(() => {}).finally(() => {
|
|
68
|
+
if (active) {
|
|
69
|
+
setLoading(false);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return () => {
|
|
73
|
+
active = false;
|
|
74
|
+
if (created) {
|
|
75
|
+
URL.revokeObjectURL(created);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
45
78
|
}, [documentId]);
|
|
46
79
|
const api = () => {
|
|
47
80
|
return {
|
|
@@ -73,6 +106,11 @@ const VideoPlayer = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default
|
|
|
73
106
|
}
|
|
74
107
|
};
|
|
75
108
|
};
|
|
109
|
+
|
|
110
|
+
// CDUI-configurable: hide the native download control and block the right-click "save video"
|
|
111
|
+
// menu unless the view explicitly opts in via attributes.allowDownload = true. Default: false
|
|
112
|
+
// (download disabled).
|
|
113
|
+
const allowDownload = _Utils.default.getComponentAttribute(props.config, 'allowDownload', false) === true;
|
|
76
114
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, visible && /*#__PURE__*/_react.default.createElement("div", {
|
|
77
115
|
style: _Utils.default.mergeStyles({}, props.config)
|
|
78
116
|
}, downloadUrl && /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -87,9 +125,39 @@ const VideoPlayer = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default
|
|
|
87
125
|
controls: true,
|
|
88
126
|
width: "100%",
|
|
89
127
|
height: "100%",
|
|
128
|
+
config: {
|
|
129
|
+
file: {
|
|
130
|
+
attributes: {
|
|
131
|
+
controlsList: allowDownload ? undefined : 'nodownload',
|
|
132
|
+
disablePictureInPicture: !allowDownload,
|
|
133
|
+
onContextMenu: allowDownload ? undefined : e => e.preventDefault()
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
90
137
|
onPlay: () => setPlaying(true),
|
|
91
138
|
onPause: () => setPlaying(false)
|
|
92
|
-
})),
|
|
139
|
+
})), loading && !downloadUrl && /*#__PURE__*/_react.default.createElement("div", {
|
|
140
|
+
style: {
|
|
141
|
+
width: '100%',
|
|
142
|
+
height: '100%',
|
|
143
|
+
backgroundColor: 'black',
|
|
144
|
+
color: 'white',
|
|
145
|
+
display: 'flex',
|
|
146
|
+
flexDirection: 'column',
|
|
147
|
+
justifyContent: 'center',
|
|
148
|
+
alignItems: 'center',
|
|
149
|
+
borderRadius: '4px'
|
|
150
|
+
}
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(_CircularProgress.default, {
|
|
152
|
+
size: 40,
|
|
153
|
+
style: {
|
|
154
|
+
color: 'white'
|
|
155
|
+
}
|
|
156
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
157
|
+
style: {
|
|
158
|
+
marginTop: '12px'
|
|
159
|
+
}
|
|
160
|
+
}, "Loading video\u2026")), !downloadUrl && !loading && /*#__PURE__*/_react.default.createElement("div", {
|
|
93
161
|
style: {
|
|
94
162
|
width: '100%',
|
|
95
163
|
height: '100%',
|
|
@@ -103,4 +171,4 @@ const VideoPlayer = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default
|
|
|
103
171
|
}, "NO TRAINING VIDEO AVAILABLE")));
|
|
104
172
|
}));
|
|
105
173
|
var _default = exports.default = VideoPlayer;
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UGxheWVyIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9PYnNlcnZhYmxlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwibG9jYXRpb24iLCJ3aW5kb3ciLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiVmlkZW9QbGF5ZXIiLCJSZWFjdCIsIm1lbW8iLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJwbGF5aW5nIiwic2V0UGxheWluZyIsInVzZVN0YXRlIiwiZG9jdW1lbnRJZCIsInNldERvY3VtZW50SWQiLCJkb3dubG9hZFVybCIsInNldERvd25sb2FkVXJsIiwiZGlzYWJsZWQiLCJzZXREaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlRWZmZWN0IiwiaGFuZGxlIiwiYXBpIiwicGFyc2VkQ29uZmlnIiwiVXRpbHMiLCJwYXJzZUNvbmZpZyIsImNvbmZpZyIsInZpZXdJZCIsImV2ZW50TWFuYWdlciIsImFkZFN1YnNjcmlwdGlvbnMiLCJldmVudEhhbmRsaW5nQ29uZmlnIiwiYWRkU3lzdGVtU3Vic2NyaXB0aW9ucyIsInJlZnJlc2giLCJjbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiZ2V0Q29udGV4dFJvb3QiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJpZCIsImV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24iLCJpc051bGwiLCJnZXRDaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsInN0eWxlIiwibWVyZ2VTdHlsZXMiLCJjbGFzc05hbWUiLCJib3JkZXJSYWRpdXMiLCJ1cmwiLCJjb250cm9scyIsIndpZHRoIiwiaGVpZ2h0Iiwib25QbGF5Iiwib25QYXVzZSIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tZWRpYS9WaWRlb1BsYXllci5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi8uLi9VdGlscyc7XG5pbXBvcnQgJy4vVmlkZW9QbGF5ZXIuY3NzJztcbmltcG9ydCBSZWFjdFBsYXllciBmcm9tICdyZWFjdC1wbGF5ZXInO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IGV2ZW50TWFuYWdlciBmcm9tIFwiLi4vLi4vZXZlbnQvT2JzZXJ2YWJsZVwiO1xuXG5jb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XG5jb25zdCBWaWRlb1BsYXllciA9IFJlYWN0Lm1lbW8oUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuXG4gICAgY29uc3QgW3BsYXlpbmcsIHNldFBsYXlpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtkb2N1bWVudElkLCBzZXREb2N1bWVudElkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZG93bmxvYWRVcmwsIHNldERvd25sb2FkVXJsXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtkaXNhYmxlZCwgc2V0RGlzYWJsZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuXG4gICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5hZGRTdWJzY3JpcHRpb25zKHBhcnNlZENvbmZpZy5ldmVudEhhbmRsaW5nQ29uZmlnLCBwcm9wcy5oYW5kbGUsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5hZGRTeXN0ZW1TdWJzY3JpcHRpb25zKHByb3BzLnZpZXdJZCwgcGFyc2VkQ29uZmlnKTtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaS5yZWZyZXNoKCk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5jbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzKHByb3BzLmhhbmRsZSk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaS5yZWZyZXNoKCk7XG4gICAgfSwgW2RvY3VtZW50SWRdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgfSwgW3BsYXlpbmddKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChkb2N1bWVudElkKSB7XG4gICAgICAgICAgICBzZXREb3dubG9hZFVybChsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy9kb2NzL2FwaS92MS9tYW5hZ2VyL2Rvd25sb2FkLycgKyBkb2N1bWVudElkICtcbiAgICAgICAgICAgICAgICAnP2FjY2Vzc190b2tlbj0nICsgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzVG9rZW4nKSArICcmaWRUb2tlbj0nICsgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnaWRUb2tlbicpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldERvd25sb2FkVXJsKG51bGwpO1xuICAgICAgICB9XG4gICAgfSwgW2RvY3VtZW50SWRdKTtcblxuICAgIGNvbnN0IGFwaSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMuY29uZmlnLmlkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBwbGF5aW5nKHBsYXlpbmcpIHtcbiAgICAgICAgICAgICAgICBzZXRQbGF5aW5nKHBsYXlpbmcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBkb2N1bWVudElkKGRvY3VtZW50SWQpIHtcbiAgICAgICAgICAgICAgICBzZXREb2N1bWVudElkKGRvY3VtZW50SWQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBkb2N1bWVudElkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudElkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmlzaWJsZSh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh2aXNpYmxlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoKCkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICAgICAgc2V0RGlzYWJsZWQoVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcuZGlzYWJsZWQsIHBhcnNlZENvbmZpZy5pZCkpO1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUoVXRpbHMuaXNOdWxsKHBhcnNlZENvbmZpZy52aXNpYmxlKSB8fCBVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwYXJzZWRDb25maWcuaWQpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlICYmXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17VXRpbHMubWVyZ2VTdHlsZXMoe30sIHByb3BzLmNvbmZpZyl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZFVybCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwbGF5ZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSZWFjdFBsYXllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e2JvcmRlclJhZGl1czogJzRweCd9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw9e2Rvd25sb2FkVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWFjdC1wbGF5ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF5aW5nPXtwbGF5aW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QbGF5PXsoKSA9PiBzZXRQbGF5aW5nKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblBhdXNlPXsoKSA9PiBzZXRQbGF5aW5nKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgKCFkb2N1bWVudElkIHx8ICFkb3dubG9hZFVybCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PIFRSQUlOSU5HIFZJREVPIEFWQUlMQUJMRVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC8+XG4gICAgKTtcbn0pKTtcblxuZXhwb3J0IGRlZmF1bHQgVmlkZW9QbGF5ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUFrRCxTQUFBRSx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFQLHdCQUFBTyxDQUFBLEVBQUFHLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBWCx1QkFBQSxZQUFBQSxDQUFBTyxDQUFBLEVBQUFHLENBQUEsU0FBQUEsQ0FBQSxJQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxTQUFBRCxDQUFBLE1BQUFPLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQVIsT0FBQSxFQUFBRixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNB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
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UGxheWVyIiwiX0NpcmN1bGFyUHJvZ3Jlc3MiLCJfT2JzZXJ2YWJsZSIsIl9kb2N1bWVudERvd25sb2FkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiVmlkZW9QbGF5ZXIiLCJSZWFjdCIsIm1lbW8iLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJwbGF5aW5nIiwic2V0UGxheWluZyIsInVzZVN0YXRlIiwiZG9jdW1lbnRJZCIsInNldERvY3VtZW50SWQiLCJkb3dubG9hZFVybCIsInNldERvd25sb2FkVXJsIiwibG9hZGluZyIsInNldExvYWRpbmciLCJkaXNhYmxlZCIsInNldERpc2FibGVkIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJ1c2VFZmZlY3QiLCJoYW5kbGUiLCJhcGkiLCJwYXJzZWRDb25maWciLCJVdGlscyIsInBhcnNlQ29uZmlnIiwiY29uZmlnIiwidmlld0lkIiwiZXZlbnRNYW5hZ2VyIiwiYWRkU3Vic2NyaXB0aW9ucyIsImV2ZW50SGFuZGxpbmdDb25maWciLCJhZGRTeXN0ZW1TdWJzY3JpcHRpb25zIiwicmVmcmVzaCIsImNsZWFyQ29tcG9uZW50RXZlbnRMaXN0ZW5lcnMiLCJhY3RpdmUiLCJjcmVhdGVkIiwiZmV0Y2hEb2N1bWVudE9iamVjdFVybCIsInRoZW4iLCJvYmplY3RVcmwiLCJVUkwiLCJyZXZva2VPYmplY3RVUkwiLCJjYXRjaCIsImZpbmFsbHkiLCJpZCIsImV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24iLCJpc051bGwiLCJnZXRDaGlsZHJlbiIsImFsbG93RG93bmxvYWQiLCJnZXRDb21wb25lbnRBdHRyaWJ1dGUiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJzdHlsZSIsIm1lcmdlU3R5bGVzIiwiY2xhc3NOYW1lIiwiYm9yZGVyUmFkaXVzIiwidXJsIiwiY29udHJvbHMiLCJ3aWR0aCIsImhlaWdodCIsImZpbGUiLCJhdHRyaWJ1dGVzIiwiY29udHJvbHNMaXN0IiwidW5kZWZpbmVkIiwiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiLCJvbkNvbnRleHRNZW51IiwicHJldmVudERlZmF1bHQiLCJvblBsYXkiLCJvblBhdXNlIiwiYmFja2dyb3VuZENvbG9yIiwiY29sb3IiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsInNpemUiLCJtYXJnaW5Ub3AiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbWVkaWEvVmlkZW9QbGF5ZXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vLi4vVXRpbHMnO1xuaW1wb3J0ICcuL1ZpZGVvUGxheWVyLmNzcyc7XG5pbXBvcnQgUmVhY3RQbGF5ZXIgZnJvbSAncmVhY3QtcGxheWVyJztcbmltcG9ydCBDaXJjdWxhclByb2dyZXNzIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQ2lyY3VsYXJQcm9ncmVzcyc7XG5pbXBvcnQgZXZlbnRNYW5hZ2VyIGZyb20gXCIuLi8uLi9ldmVudC9PYnNlcnZhYmxlXCI7XG5pbXBvcnQge2ZldGNoRG9jdW1lbnRPYmplY3RVcmx9IGZyb20gJy4uLy4uL2RvY3VtZW50RG93bmxvYWQnO1xuXG5jb25zdCBWaWRlb1BsYXllciA9IFJlYWN0Lm1lbW8oUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuXG4gICAgY29uc3QgW3BsYXlpbmcsIHNldFBsYXlpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtkb2N1bWVudElkLCBzZXREb2N1bWVudElkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZG93bmxvYWRVcmwsIHNldERvd25sb2FkVXJsXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtkaXNhYmxlZCwgc2V0RGlzYWJsZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuXG4gICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5hZGRTdWJzY3JpcHRpb25zKHBhcnNlZENvbmZpZy5ldmVudEhhbmRsaW5nQ29uZmlnLCBwcm9wcy5oYW5kbGUsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5hZGRTeXN0ZW1TdWJzY3JpcHRpb25zKHByb3BzLnZpZXdJZCwgcGFyc2VkQ29uZmlnKTtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaS5yZWZyZXNoKCk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5jbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzKHByb3BzLmhhbmRsZSk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaS5yZWZyZXNoKCk7XG4gICAgfSwgW2RvY3VtZW50SWRdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgfSwgW3BsYXlpbmddKTtcblxuICAgIC8vIEZldGNoIHRoZSB2aWRlbyB3aXRoIGhlYWRlciBhdXRoIChBdXRob3JpemF0aW9uICsgaWRUb2tlbiArIHRlbmFudCkgYXMgYSBibG9iIG9iamVjdCBVUkwuIEFcbiAgICAvLyBwbGFpbiA8dmlkZW8+IHNyYyAod2hhdCBSZWFjdFBsYXllciBzZXRzKSBjYW4ndCBzZW5kIHRoZSB0ZW5hbnQgaGVhZGVyLCBzbyB0aGUgZG9jcyBzZXJ2aWNlXG4gICAgLy8gd291bGQgcmVzb2x2ZSB0aGUgd3JvbmcgUzMgYnVja2V0IGFuZCB0aGUgdmlkZW8gd291bGQgZmFpbCB0byBsb2FkLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIEluaXRpYWwgYGZhbHNlYCBzZW50aW5lbDogdGhlIHBhcmVudCBoYXNuJ3QgcmVzb2x2ZWQgdGhlIHRyYWluaW5nIGRhdGEgeWV0LCBzbyBrZWVwIHRoZVxuICAgICAgICAvLyBzcGlubmVyIChsb2FkaW5nIHN0YXJ0cyB0cnVlKSByYXRoZXIgdGhhbiBmbGFzaGluZyBcIm5vIHZpZGVvXCIuXG4gICAgICAgIGlmIChkb2N1bWVudElkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZG9jdW1lbnRJZCkge1xuICAgICAgICAgICAgLy8gUGFyZW50IHJlc29sdmVkIGRvY3VtZW50SWQgdG8gZW1wdHkgKHVuZGVmaW5lZC9udWxsKSDigJQgZ2VudWluZWx5IG5vIHZpZGVvLlxuICAgICAgICAgICAgc2V0RG93bmxvYWRVcmwobnVsbCk7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNyZWF0ZWQgPSBudWxsO1xuICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICBzZXREb3dubG9hZFVybChudWxsKTtcbiAgICAgICAgZmV0Y2hEb2N1bWVudE9iamVjdFVybChkb2N1bWVudElkKVxuICAgICAgICAgICAgLnRoZW4oKG9iamVjdFVybCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZCA9IG9iamVjdFVybDtcbiAgICAgICAgICAgICAgICAgICAgc2V0RG93bmxvYWRVcmwob2JqZWN0VXJsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7fSlcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoY3JlYXRlZCkge1xuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoY3JlYXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW2RvY3VtZW50SWRdKTtcblxuICAgIGNvbnN0IGFwaSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMuY29uZmlnLmlkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBwbGF5aW5nKHBsYXlpbmcpIHtcbiAgICAgICAgICAgICAgICBzZXRQbGF5aW5nKHBsYXlpbmcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBkb2N1bWVudElkKGRvY3VtZW50SWQpIHtcbiAgICAgICAgICAgICAgICBzZXREb2N1bWVudElkKGRvY3VtZW50SWQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBkb2N1bWVudElkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudElkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmlzaWJsZSh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh2aXNpYmxlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoKCkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICAgICAgc2V0RGlzYWJsZWQoVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcuZGlzYWJsZWQsIHBhcnNlZENvbmZpZy5pZCkpO1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUoVXRpbHMuaXNOdWxsKHBhcnNlZENvbmZpZy52aXNpYmxlKSB8fCBVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwYXJzZWRDb25maWcuaWQpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLy8gQ0RVSS1jb25maWd1cmFibGU6IGhpZGUgdGhlIG5hdGl2ZSBkb3dubG9hZCBjb250cm9sIGFuZCBibG9jayB0aGUgcmlnaHQtY2xpY2sgXCJzYXZlIHZpZGVvXCJcbiAgICAvLyBtZW51IHVubGVzcyB0aGUgdmlldyBleHBsaWNpdGx5IG9wdHMgaW4gdmlhIGF0dHJpYnV0ZXMuYWxsb3dEb3dubG9hZCA9IHRydWUuIERlZmF1bHQ6IGZhbHNlXG4gICAgLy8gKGRvd25sb2FkIGRpc2FibGVkKS5cbiAgICBjb25zdCBhbGxvd0Rvd25sb2FkID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ2FsbG93RG93bmxvYWQnLCBmYWxzZSkgPT09IHRydWU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpc2libGUgJiZcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtVdGlscy5tZXJnZVN0eWxlcyh7fSwgcHJvcHMuY29uZmlnKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkVXJsICYmXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBsYXllci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlYWN0UGxheWVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7Ym9yZGVyUmFkaXVzOiAnNHB4J319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybD17ZG93bmxvYWRVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlYWN0LXBsYXllclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlpbmc9e3BsYXlpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xzTGlzdDogYWxsb3dEb3dubG9hZCA/IHVuZGVmaW5lZCA6ICdub2Rvd25sb2FkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmU6ICFhbGxvd0Rvd25sb2FkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvbnRleHRNZW51OiBhbGxvd0Rvd25sb2FkID8gdW5kZWZpbmVkIDogKGUpID0+IGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QbGF5PXsoKSA9PiBzZXRQbGF5aW5nKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblBhdXNlPXsoKSA9PiBzZXRQbGF5aW5nKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZyAmJiAhZG93bmxvYWRVcmwgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ2JsYWNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaXJjdWxhclByb2dyZXNzIHNpemU9ezQwfSBzdHlsZT17e2NvbG9yOiAnd2hpdGUnfX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3ttYXJnaW5Ub3A6ICcxMnB4J319PkxvYWRpbmcgdmlkZW/igKY8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICFkb3dubG9hZFVybCAmJiAhbG9hZGluZyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTk8gVFJBSU5JTkcgVklERU8gQVZBSUxBQkxFXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8Lz5cbiAgICApO1xufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBWaWRlb1BsYXllcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FB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
|