my-orders-tickets-widget 1.0.0-beta.7 → 1.0.0-beta.8
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/package.json +9 -2
- package/dist/i18n.js +0 -185
- package/dist/index.css +0 -298
- package/dist/index.js +0 -3087
package/dist/index.js
DELETED
|
@@ -1,3087 +0,0 @@
|
|
|
1
|
-
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
-
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory();
|
|
4
|
-
else if(typeof define === 'function' && define.amd)
|
|
5
|
-
define("my-orders-tickets-widget", [], factory);
|
|
6
|
-
else if(typeof exports === 'object')
|
|
7
|
-
exports["my-orders-tickets-widget"] = factory();
|
|
8
|
-
else
|
|
9
|
-
root["my-orders-tickets-widget"] = factory();
|
|
10
|
-
})(this, () => {
|
|
11
|
-
return /******/ (() => { // webpackBootstrap
|
|
12
|
-
/******/ "use strict";
|
|
13
|
-
/******/ var __webpack_modules__ = ({
|
|
14
|
-
|
|
15
|
-
/***/ "./src/actions.js":
|
|
16
|
-
/*!************************!*\
|
|
17
|
-
!*** ./src/actions.js ***!
|
|
18
|
-
\************************/
|
|
19
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
20
|
-
|
|
21
|
-
__webpack_require__.r(__webpack_exports__);
|
|
22
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
23
|
-
/* harmony export */ ASSIGN_TICKET: () => (/* binding */ ASSIGN_TICKET),
|
|
24
|
-
/* harmony export */ CLEAR_MARKETING_SETTINGS: () => (/* binding */ CLEAR_MARKETING_SETTINGS),
|
|
25
|
-
/* harmony export */ FILTER_USER_ORDERS: () => (/* binding */ FILTER_USER_ORDERS),
|
|
26
|
-
/* harmony export */ FILTER_VAR_DATE: () => (/* binding */ FILTER_VAR_DATE),
|
|
27
|
-
/* harmony export */ FILTER_VAR_ORDER_NUMBER: () => (/* binding */ FILTER_VAR_ORDER_NUMBER),
|
|
28
|
-
/* harmony export */ GET_MAIN_EXTRA_QUESTIONS: () => (/* binding */ GET_MAIN_EXTRA_QUESTIONS),
|
|
29
|
-
/* harmony export */ GET_ORDER_TICKET_DETAILS: () => (/* binding */ GET_ORDER_TICKET_DETAILS),
|
|
30
|
-
/* harmony export */ GET_TICKETS: () => (/* binding */ GET_TICKETS),
|
|
31
|
-
/* harmony export */ GET_TICKETS_BY_ORDER: () => (/* binding */ GET_TICKETS_BY_ORDER),
|
|
32
|
-
/* harmony export */ GET_TICKETS_BY_ORDER_ERROR: () => (/* binding */ GET_TICKETS_BY_ORDER_ERROR),
|
|
33
|
-
/* harmony export */ GET_TICKET_DETAILS: () => (/* binding */ GET_TICKET_DETAILS),
|
|
34
|
-
/* harmony export */ GET_USER_ORDERS: () => (/* binding */ GET_USER_ORDERS),
|
|
35
|
-
/* harmony export */ RECEIVE_MARKETING_SETTINGS: () => (/* binding */ RECEIVE_MARKETING_SETTINGS),
|
|
36
|
-
/* harmony export */ REFUND_ORDER: () => (/* binding */ REFUND_ORDER),
|
|
37
|
-
/* harmony export */ REFUND_TICKET: () => (/* binding */ REFUND_TICKET),
|
|
38
|
-
/* harmony export */ REMOVE_TICKET_ATTENDEE: () => (/* binding */ REMOVE_TICKET_ATTENDEE),
|
|
39
|
-
/* harmony export */ RESEND_NOTIFICATION: () => (/* binding */ RESEND_NOTIFICATION),
|
|
40
|
-
/* harmony export */ RESET_FILTER: () => (/* binding */ RESET_FILTER),
|
|
41
|
-
/* harmony export */ RESET_STATE: () => (/* binding */ RESET_STATE),
|
|
42
|
-
/* harmony export */ SET_ACTIVE_ORDER_ID: () => (/* binding */ SET_ACTIVE_ORDER_ID),
|
|
43
|
-
/* harmony export */ SET_SUMMIT: () => (/* binding */ SET_SUMMIT),
|
|
44
|
-
/* harmony export */ SET_USER: () => (/* binding */ SET_USER),
|
|
45
|
-
/* harmony export */ START_LOADING_IDP_PROFILE: () => (/* binding */ START_LOADING_IDP_PROFILE),
|
|
46
|
-
/* harmony export */ STOP_LOADING_IDP_PROFILE: () => (/* binding */ STOP_LOADING_IDP_PROFILE),
|
|
47
|
-
/* harmony export */ TICKET_ATTENDEE_KEYS: () => (/* binding */ TICKET_ATTENDEE_KEYS),
|
|
48
|
-
/* harmony export */ UPDATE_IDP_PROFILE: () => (/* binding */ UPDATE_IDP_PROFILE),
|
|
49
|
-
/* harmony export */ getSortDirection: () => (/* binding */ getSortDirection),
|
|
50
|
-
/* harmony export */ getTicketsByOrder: () => (/* binding */ getTicketsByOrder),
|
|
51
|
-
/* harmony export */ getUserOrders: () => (/* binding */ getUserOrders),
|
|
52
|
-
/* harmony export */ getUserTickets: () => (/* binding */ getUserTickets),
|
|
53
|
-
/* harmony export */ parseFilter: () => (/* binding */ parseFilter),
|
|
54
|
-
/* harmony export */ refundTicket: () => (/* binding */ refundTicket),
|
|
55
|
-
/* harmony export */ resendNotification: () => (/* binding */ resendNotification),
|
|
56
|
-
/* harmony export */ resetFilter: () => (/* binding */ resetFilter),
|
|
57
|
-
/* harmony export */ resetState: () => (/* binding */ resetState),
|
|
58
|
-
/* harmony export */ setActiveOrderId: () => (/* binding */ setActiveOrderId),
|
|
59
|
-
/* harmony export */ setSummit: () => (/* binding */ setSummit),
|
|
60
|
-
/* harmony export */ setUser: () => (/* binding */ setUser),
|
|
61
|
-
/* harmony export */ updateProfile: () => (/* binding */ updateProfile)
|
|
62
|
-
/* harmony export */ });
|
|
63
|
-
/* harmony import */ var openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! openstack-uicore-foundation/lib/utils/actions */ "openstack-uicore-foundation/lib/utils/actions");
|
|
64
|
-
/* harmony import */ var openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__);
|
|
65
|
-
/* harmony import */ var _utils_auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/auth */ "./src/utils/auth.js");
|
|
66
|
-
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/constants */ "./src/utils/constants.js");
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const RESET_STATE = "RESET_STATE";
|
|
71
|
-
const RESET_FILTER = "RESET_FILTER";
|
|
72
|
-
|
|
73
|
-
// ORDERS CONSTS
|
|
74
|
-
const GET_USER_ORDERS = "GET_ORDERS";
|
|
75
|
-
const REFUND_ORDER = "REFUND_ORDER";
|
|
76
|
-
const SET_ACTIVE_ORDER_ID = "SET_ACTIVE_ORDER_ID";
|
|
77
|
-
const FILTER_USER_ORDERS = "FILTER_USER_ORDERS";
|
|
78
|
-
|
|
79
|
-
// TICKETS CONSTS
|
|
80
|
-
const GET_TICKETS = "GET_TICKETS";
|
|
81
|
-
const ASSIGN_TICKET = "ASSIGN_TICKET";
|
|
82
|
-
const REMOVE_TICKET_ATTENDEE = "REMOVE_TICKET_ATTENDEE";
|
|
83
|
-
const REFUND_TICKET = "REFUND_TICKET";
|
|
84
|
-
const RESEND_NOTIFICATION = "RESEND_NOTIFICATION";
|
|
85
|
-
const GET_TICKETS_BY_ORDER = "GET_TICKETS_BY_ORDER";
|
|
86
|
-
const GET_TICKETS_BY_ORDER_ERROR = "GET_TICKETS_BY_ORDER_ERROR";
|
|
87
|
-
const GET_ORDER_TICKET_DETAILS = "GET_ORDER_TICKET_DETAILS";
|
|
88
|
-
const GET_TICKET_DETAILS = "GET_TICKET_DETAILS";
|
|
89
|
-
const TICKET_ATTENDEE_KEYS = {
|
|
90
|
-
email: "attendee_email",
|
|
91
|
-
firstName: "attendee_first_name",
|
|
92
|
-
lastName: "attendee_last_name",
|
|
93
|
-
company: "attendee_company",
|
|
94
|
-
disclaimerAccepted: "disclaimer_accepted",
|
|
95
|
-
extraQuestions: "extra_questions"
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
// USER CONTS
|
|
99
|
-
const START_LOADING_IDP_PROFILE = "START_LOADING_IDP_PROFILE";
|
|
100
|
-
const STOP_LOADING_IDP_PROFILE = "STOP_LOADING_IDP_PROFILE";
|
|
101
|
-
const UPDATE_IDP_PROFILE = "UPDATE_IDP_PROFILE";
|
|
102
|
-
const SET_USER = "SET_USER";
|
|
103
|
-
|
|
104
|
-
// SUMMIT CONSTS
|
|
105
|
-
const SET_SUMMIT = "SET_SUMMIT";
|
|
106
|
-
const GET_MAIN_EXTRA_QUESTIONS = "GET_MAIN_EXTRA_QUESTIONS";
|
|
107
|
-
const RECEIVE_MARKETING_SETTINGS = "RECEIVE_MARKETING_SETTINGS";
|
|
108
|
-
const CLEAR_MARKETING_SETTINGS = "CLEAR_MARKETING_SETTINGS";
|
|
109
|
-
const resetState = () => dispatch => {
|
|
110
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(RESET_STATE)({}));
|
|
111
|
-
};
|
|
112
|
-
const resetFilter = () => dispatch => {
|
|
113
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(RESET_FILTER)({}));
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
// FILTER / SORT CONSTANTS
|
|
117
|
-
const FILTER_VAR_DATE = "FILTER_VAR_DATE";
|
|
118
|
-
const FILTER_VAR_ORDER_NUMBER = "FILTER_VAR_ORDER_NUMBER";
|
|
119
|
-
|
|
120
|
-
// FILTER/SORT ACTIONS
|
|
121
|
-
const parseFilter = filterObj => {
|
|
122
|
-
const filter = [];
|
|
123
|
-
if (filterObj.type === FILTER_VAR_DATE) {
|
|
124
|
-
filter.push(`${filterObj.name}[]${filterObj.lower}&&${filterObj.upper}`);
|
|
125
|
-
}
|
|
126
|
-
if (filterObj.type === FILTER_VAR_ORDER_NUMBER) {
|
|
127
|
-
filter.push(`${filterObj.name}=@${filterObj.value}`);
|
|
128
|
-
}
|
|
129
|
-
return filter;
|
|
130
|
-
};
|
|
131
|
-
const getSortDirection = direction => direction === "asc" ? "+" : "-";
|
|
132
|
-
|
|
133
|
-
// ORDERS ACTIONS
|
|
134
|
-
const getUserOrders = _ref => {
|
|
135
|
-
let {
|
|
136
|
-
page = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.FIRST_PAGE,
|
|
137
|
-
perPage = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_ITEMS_PER_PAGE,
|
|
138
|
-
filter = {},
|
|
139
|
-
sort = {},
|
|
140
|
-
next = false
|
|
141
|
-
} = _ref;
|
|
142
|
-
return async (dispatch, getState, _ref2) => {
|
|
143
|
-
let {
|
|
144
|
-
apiBaseUrl
|
|
145
|
-
} = _ref2;
|
|
146
|
-
const {
|
|
147
|
-
widgetState: {
|
|
148
|
-
summit
|
|
149
|
-
}
|
|
150
|
-
} = getState();
|
|
151
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
152
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
153
|
-
const params = {
|
|
154
|
-
access_token: accessToken,
|
|
155
|
-
order: "-id",
|
|
156
|
-
"filter[]": ["status==Paid"],
|
|
157
|
-
relations: "none",
|
|
158
|
-
page: next ? page + _utils_constants__WEBPACK_IMPORTED_MODULE_2__.ONE_PAGE_NEXT : page,
|
|
159
|
-
per_page: perPage
|
|
160
|
-
};
|
|
161
|
-
if (Object.keys(filter).length > 0) {
|
|
162
|
-
const filters = parseFilter(filter);
|
|
163
|
-
params["filter[]"] = [...params["filter[]"], ...filters];
|
|
164
|
-
}
|
|
165
|
-
if (Object.keys(sort).length > 0) {
|
|
166
|
-
params.order = `${getSortDirection(sort.direction)}${sort.name}`;
|
|
167
|
-
}
|
|
168
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.getRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(GET_USER_ORDERS), `${apiBaseUrl}/api/v1/summits/${summit.id}/orders/me`, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(payload => {
|
|
169
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
170
|
-
return payload;
|
|
171
|
-
}).catch(e => {
|
|
172
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
173
|
-
return e;
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
};
|
|
177
|
-
const setActiveOrderId = orderId => async dispatch => dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(SET_ACTIVE_ORDER_ID)(orderId));
|
|
178
|
-
|
|
179
|
-
// USER ACTIONS
|
|
180
|
-
const setUser = user => dispatch => dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(SET_USER)(user));
|
|
181
|
-
const updateProfile = profile => async (dispatch, _ref3) => {
|
|
182
|
-
let {
|
|
183
|
-
idpBaseUrl
|
|
184
|
-
} = _ref3;
|
|
185
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
186
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
187
|
-
const params = {
|
|
188
|
-
access_token: accessToken
|
|
189
|
-
};
|
|
190
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(START_LOADING_IDP_PROFILE)());
|
|
191
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.putRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(UPDATE_IDP_PROFILE),
|
|
192
|
-
// TODO: need IDP_BASE_URL
|
|
193
|
-
`${idpBaseUrl}/api/v1/users/me`, profile, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(payload => payload).catch(() => dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(STOP_LOADING_IDP_PROFILE)()));
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
// TICKET ACTIONS
|
|
197
|
-
|
|
198
|
-
const getUserTickets = _ref4 => {
|
|
199
|
-
let {
|
|
200
|
-
page = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.FIRST_PAGE,
|
|
201
|
-
perPage = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_ITEMS_PER_PAGE
|
|
202
|
-
} = _ref4;
|
|
203
|
-
return async (dispatch, getState, _ref5) => {
|
|
204
|
-
let {
|
|
205
|
-
apiBaseUrl
|
|
206
|
-
} = _ref5;
|
|
207
|
-
const {
|
|
208
|
-
userState: {
|
|
209
|
-
userProfile
|
|
210
|
-
},
|
|
211
|
-
summit
|
|
212
|
-
} = getState();
|
|
213
|
-
if (!summit) return Promise.reject();
|
|
214
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
215
|
-
if (!userProfile.id) return Promise.reject();
|
|
216
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
217
|
-
const params = {
|
|
218
|
-
access_token: accessToken,
|
|
219
|
-
filter: "status==Paid",
|
|
220
|
-
expand: "order, owner, ticket_type",
|
|
221
|
-
order: "-id",
|
|
222
|
-
fields: "order.id,order.owner_first_name,order.owner_last_name,order.owner_email,owner.first_name,owner.last_name,owner.status",
|
|
223
|
-
relations: "none",
|
|
224
|
-
page,
|
|
225
|
-
per_page: perPage
|
|
226
|
-
};
|
|
227
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.getRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(GET_TICKETS), `${apiBaseUrl}/api/v1/summits/${summit.id}/orders/all/tickets/me`, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(() => {
|
|
228
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
229
|
-
}).catch(e => {
|
|
230
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
231
|
-
return e;
|
|
232
|
-
});
|
|
233
|
-
};
|
|
234
|
-
};
|
|
235
|
-
const getTicketsByOrder = _ref6 => {
|
|
236
|
-
let {
|
|
237
|
-
orderId,
|
|
238
|
-
page = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.FIRST_PAGE,
|
|
239
|
-
perPage = _utils_constants__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_ITEMS_PER_PAGE
|
|
240
|
-
} = _ref6;
|
|
241
|
-
return async (dispatch, getState, _ref7) => {
|
|
242
|
-
let {
|
|
243
|
-
apiBaseUrl
|
|
244
|
-
} = _ref7;
|
|
245
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
246
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
247
|
-
const params = {
|
|
248
|
-
access_token: accessToken,
|
|
249
|
-
expand: "refund_requests,owner,owner.extra_questions,badge,badge.features,ticket_type",
|
|
250
|
-
order: "+id",
|
|
251
|
-
page,
|
|
252
|
-
per_page: perPage
|
|
253
|
-
};
|
|
254
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.getRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(GET_TICKETS_BY_ORDER), `${apiBaseUrl}/api/v1/summits/all/orders/${orderId}/tickets`, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(payload => {
|
|
255
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
256
|
-
return payload;
|
|
257
|
-
}).catch(e => {
|
|
258
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
259
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(GET_TICKETS_BY_ORDER_ERROR));
|
|
260
|
-
return e;
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
};
|
|
264
|
-
const resendNotification = ticket => async (dispatch, _ref8) => {
|
|
265
|
-
let {
|
|
266
|
-
apiBaseUrl
|
|
267
|
-
} = _ref8;
|
|
268
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
269
|
-
const {
|
|
270
|
-
message
|
|
271
|
-
} = ticket;
|
|
272
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
273
|
-
const orderId = ticket.order ? ticket.order.id : ticket.order_id;
|
|
274
|
-
const params = {
|
|
275
|
-
access_token: accessToken
|
|
276
|
-
};
|
|
277
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.putRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(RESEND_NOTIFICATION), `${apiBaseUrl}/api/v1/summits/all/orders/${orderId}/tickets/${ticket.id}/attendee/reinvite`, {
|
|
278
|
-
message
|
|
279
|
-
}, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(() => {
|
|
280
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
281
|
-
}).catch(e => {
|
|
282
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
283
|
-
return e;
|
|
284
|
-
});
|
|
285
|
-
};
|
|
286
|
-
const refundTicket = _ref9 => {
|
|
287
|
-
let {
|
|
288
|
-
ticket
|
|
289
|
-
} = _ref9;
|
|
290
|
-
return async (dispatch, getState, _ref10) => {
|
|
291
|
-
let {
|
|
292
|
-
apiBaseUrl
|
|
293
|
-
} = _ref10;
|
|
294
|
-
const accessToken = await (0,_utils_auth__WEBPACK_IMPORTED_MODULE_1__.getAccessTokenSafely)().catch(() => Promise.reject());
|
|
295
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.startLoading)());
|
|
296
|
-
const {
|
|
297
|
-
orderState: {
|
|
298
|
-
current_page: orderPage
|
|
299
|
-
},
|
|
300
|
-
ticketState: {
|
|
301
|
-
current_page: ticketPage
|
|
302
|
-
}
|
|
303
|
-
} = getState();
|
|
304
|
-
const orderId = ticket.order ? ticket.order.id : ticket.order_id;
|
|
305
|
-
const params = {
|
|
306
|
-
access_token: accessToken
|
|
307
|
-
};
|
|
308
|
-
return (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.deleteRequest)(null, (0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(REFUND_TICKET), `${apiBaseUrl}/api/v1/summits/all/orders/${orderId}/tickets/${ticket.id}/refund`, {}, openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.authErrorHandler)(params)(dispatch).then(payload => {
|
|
309
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
310
|
-
if (ticket.order_id) {
|
|
311
|
-
dispatch(getUserOrders({
|
|
312
|
-
page: orderPage
|
|
313
|
-
}));
|
|
314
|
-
} else {
|
|
315
|
-
dispatch(getUserTickets({
|
|
316
|
-
page: ticketPage
|
|
317
|
-
}));
|
|
318
|
-
}
|
|
319
|
-
return payload;
|
|
320
|
-
}).catch(e => {
|
|
321
|
-
dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.stopLoading)());
|
|
322
|
-
throw e;
|
|
323
|
-
});
|
|
324
|
-
};
|
|
325
|
-
};
|
|
326
|
-
|
|
327
|
-
// SUMMIT ACTIONS
|
|
328
|
-
const setSummit = summit => async dispatch => dispatch((0,openstack_uicore_foundation_lib_utils_actions__WEBPACK_IMPORTED_MODULE_0__.createAction)(SET_SUMMIT)(summit));
|
|
329
|
-
|
|
330
|
-
/***/ }),
|
|
331
|
-
|
|
332
|
-
/***/ "./src/components/FilterSortSearch/Datepicker.js":
|
|
333
|
-
/*!*******************************************************!*\
|
|
334
|
-
!*** ./src/components/FilterSortSearch/Datepicker.js ***!
|
|
335
|
-
\*******************************************************/
|
|
336
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
337
|
-
|
|
338
|
-
__webpack_require__.r(__webpack_exports__);
|
|
339
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
340
|
-
/* harmony export */ "default": () => (/* binding */ BasicDatePicker)
|
|
341
|
-
/* harmony export */ });
|
|
342
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
343
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
344
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
345
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
346
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material/Stack */ "@mui/material/Stack");
|
|
347
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_2__);
|
|
348
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
349
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);
|
|
350
|
-
/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dayjs */ "dayjs");
|
|
351
|
-
/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_4__);
|
|
352
|
-
/* harmony import */ var _mui_x_date_pickers_AdapterDayjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/x-date-pickers/AdapterDayjs */ "@mui/x-date-pickers/AdapterDayjs");
|
|
353
|
-
/* harmony import */ var _mui_x_date_pickers_AdapterDayjs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_mui_x_date_pickers_AdapterDayjs__WEBPACK_IMPORTED_MODULE_5__);
|
|
354
|
-
/* harmony import */ var _mui_x_date_pickers_LocalizationProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/x-date-pickers/LocalizationProvider */ "@mui/x-date-pickers/LocalizationProvider");
|
|
355
|
-
/* harmony import */ var _mui_x_date_pickers_LocalizationProvider__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_mui_x_date_pickers_LocalizationProvider__WEBPACK_IMPORTED_MODULE_6__);
|
|
356
|
-
/* harmony import */ var _mui_x_date_pickers_DatePicker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/x-date-pickers/DatePicker */ "@mui/x-date-pickers/DatePicker");
|
|
357
|
-
/* harmony import */ var _mui_x_date_pickers_DatePicker__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_mui_x_date_pickers_DatePicker__WEBPACK_IMPORTED_MODULE_7__);
|
|
358
|
-
/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material/Close */ "@mui/icons-material/Close");
|
|
359
|
-
/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8__);
|
|
360
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../actions */ "./src/actions.js");
|
|
361
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils */ "./src/utils/index.js");
|
|
362
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/FilterSortSearch/styles.module.scss");
|
|
363
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
364
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__);
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
function BasicDatePicker(_ref) {
|
|
379
|
-
let {
|
|
380
|
-
onFilter,
|
|
381
|
-
onReset
|
|
382
|
-
} = _ref;
|
|
383
|
-
const {
|
|
384
|
-
t
|
|
385
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_3__.useTranslation)();
|
|
386
|
-
const now = dayjs__WEBPACK_IMPORTED_MODULE_4___default()();
|
|
387
|
-
const [dateValue, setDateValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(now);
|
|
388
|
-
const onDateChange = val => {
|
|
389
|
-
setDateValue(val);
|
|
390
|
-
const date = new Date(val.$d);
|
|
391
|
-
const {
|
|
392
|
-
lower,
|
|
393
|
-
upper
|
|
394
|
-
} = (0,_utils__WEBPACK_IMPORTED_MODULE_10__.getEpochLowerUpperInSeconds)(date);
|
|
395
|
-
onFilter({
|
|
396
|
-
type: _actions__WEBPACK_IMPORTED_MODULE_9__.FILTER_VAR_DATE,
|
|
397
|
-
name: "created",
|
|
398
|
-
date,
|
|
399
|
-
lower,
|
|
400
|
-
upper
|
|
401
|
-
});
|
|
402
|
-
};
|
|
403
|
-
const onResetAction = () => {
|
|
404
|
-
onReset();
|
|
405
|
-
setDateValue(now);
|
|
406
|
-
};
|
|
407
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.Fragment, {
|
|
408
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)("div", {
|
|
409
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.filterDateLabel,
|
|
410
|
-
children: t("filter.purchased_on")
|
|
411
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsxs)((_mui_material_Stack__WEBPACK_IMPORTED_MODULE_2___default()), {
|
|
412
|
-
alignItems: "center",
|
|
413
|
-
direction: "row",
|
|
414
|
-
sx: {
|
|
415
|
-
pt: 2,
|
|
416
|
-
pb: 2
|
|
417
|
-
},
|
|
418
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.datePickerContainer,
|
|
419
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)((_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8___default()), {
|
|
420
|
-
fontSize: "large",
|
|
421
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.datepickerClose,
|
|
422
|
-
onClick: onResetAction
|
|
423
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(_mui_x_date_pickers_LocalizationProvider__WEBPACK_IMPORTED_MODULE_6__.LocalizationProvider, {
|
|
424
|
-
dateAdapter: _mui_x_date_pickers_AdapterDayjs__WEBPACK_IMPORTED_MODULE_5__.AdapterDayjs,
|
|
425
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(_mui_x_date_pickers_DatePicker__WEBPACK_IMPORTED_MODULE_7__.DatePicker, {
|
|
426
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.calendarDisplay,
|
|
427
|
-
onChange: onDateChange,
|
|
428
|
-
value: dateValue
|
|
429
|
-
})
|
|
430
|
-
})]
|
|
431
|
-
})]
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
BasicDatePicker.propTypes = {
|
|
435
|
-
onFilter: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
436
|
-
onReset: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
|
|
437
|
-
};
|
|
438
|
-
|
|
439
|
-
/***/ }),
|
|
440
|
-
|
|
441
|
-
/***/ "./src/components/FilterSortSearch/Filter.js":
|
|
442
|
-
/*!***************************************************!*\
|
|
443
|
-
!*** ./src/components/FilterSortSearch/Filter.js ***!
|
|
444
|
-
\***************************************************/
|
|
445
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
446
|
-
|
|
447
|
-
__webpack_require__.r(__webpack_exports__);
|
|
448
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
449
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
450
|
-
/* harmony export */ });
|
|
451
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
452
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
453
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
454
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
455
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material/Stack */ "@mui/material/Stack");
|
|
456
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_2__);
|
|
457
|
-
/* harmony import */ var _mui_icons_material_FilterList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/FilterList */ "@mui/icons-material/FilterList");
|
|
458
|
-
/* harmony import */ var _mui_icons_material_FilterList__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_FilterList__WEBPACK_IMPORTED_MODULE_3__);
|
|
459
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
460
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_4__);
|
|
461
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
462
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_5__);
|
|
463
|
-
/* harmony import */ var _Datepicker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Datepicker */ "./src/components/FilterSortSearch/Datepicker.js");
|
|
464
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/FilterSortSearch/styles.module.scss");
|
|
465
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
466
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__);
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
function Filter(_ref) {
|
|
477
|
-
let {
|
|
478
|
-
onFilter,
|
|
479
|
-
onReset
|
|
480
|
-
} = _ref;
|
|
481
|
-
const {
|
|
482
|
-
t
|
|
483
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_5__.useTranslation)();
|
|
484
|
-
const [showFilterList, setShowFilterList] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
485
|
-
const [showDatepicker, setShowDatepicker] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
486
|
-
const [filterNumActive, setFilterNumActive] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
487
|
-
const filterRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
488
|
-
const handleFilterClickOutside = event => {
|
|
489
|
-
if (filterRef.current && !filterRef.current.contains(event.target)) {
|
|
490
|
-
if (showFilterList) {
|
|
491
|
-
setShowFilterList(false);
|
|
492
|
-
setShowDatepicker(false);
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
};
|
|
496
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
497
|
-
document.addEventListener("click", handleFilterClickOutside, false);
|
|
498
|
-
return () => {
|
|
499
|
-
document.removeEventListener("click", handleFilterClickOutside, false);
|
|
500
|
-
};
|
|
501
|
-
}, [showFilterList]);
|
|
502
|
-
const toggle = () => {
|
|
503
|
-
setShowFilterList(!showFilterList);
|
|
504
|
-
setShowDatepicker(!showDatepicker);
|
|
505
|
-
};
|
|
506
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__.Box, {
|
|
507
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.filterContainer,
|
|
508
|
-
ref: filterRef,
|
|
509
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)((_mui_material_Stack__WEBPACK_IMPORTED_MODULE_2___default()), {
|
|
510
|
-
alignItems: "center",
|
|
511
|
-
direction: "row",
|
|
512
|
-
sx: {
|
|
513
|
-
pt: 2,
|
|
514
|
-
pb: 2
|
|
515
|
-
},
|
|
516
|
-
onClick: toggle,
|
|
517
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)((_mui_icons_material_FilterList__WEBPACK_IMPORTED_MODULE_3___default()), {
|
|
518
|
-
fontSize: "large",
|
|
519
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.filterIcon
|
|
520
|
-
}), filterNumActive && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
|
|
521
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.filterNumActive,
|
|
522
|
-
children: "1"
|
|
523
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("span", {
|
|
524
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.filterLabel,
|
|
525
|
-
children: t("filter.filter")
|
|
526
|
-
})]
|
|
527
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__.Box, {
|
|
528
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.filterListContainer} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.container} ${showFilterList ? _styles_module_scss__WEBPACK_IMPORTED_MODULE_7__.showDatePicker : ""}`,
|
|
529
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_Datepicker__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
530
|
-
onReset: () => {
|
|
531
|
-
onReset();
|
|
532
|
-
setFilterNumActive(false);
|
|
533
|
-
toggle();
|
|
534
|
-
},
|
|
535
|
-
onFilter: filter => {
|
|
536
|
-
onFilter(filter);
|
|
537
|
-
setFilterNumActive(true);
|
|
538
|
-
}
|
|
539
|
-
})
|
|
540
|
-
})]
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
Filter.propTypes = {
|
|
544
|
-
onFilter: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
|
|
545
|
-
};
|
|
546
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Filter);
|
|
547
|
-
|
|
548
|
-
/***/ }),
|
|
549
|
-
|
|
550
|
-
/***/ "./src/components/FilterSortSearch/Search.js":
|
|
551
|
-
/*!***************************************************!*\
|
|
552
|
-
!*** ./src/components/FilterSortSearch/Search.js ***!
|
|
553
|
-
\***************************************************/
|
|
554
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
555
|
-
|
|
556
|
-
__webpack_require__.r(__webpack_exports__);
|
|
557
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
558
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
559
|
-
/* harmony export */ });
|
|
560
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
561
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
562
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
563
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
564
|
-
/* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material/styles */ "@mui/material/styles");
|
|
565
|
-
/* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material_styles__WEBPACK_IMPORTED_MODULE_2__);
|
|
566
|
-
/* harmony import */ var _mui_icons_material_Search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/Search */ "@mui/icons-material/Search");
|
|
567
|
-
/* harmony import */ var _mui_icons_material_Search__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Search__WEBPACK_IMPORTED_MODULE_3__);
|
|
568
|
-
/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/icons-material/Close */ "@mui/icons-material/Close");
|
|
569
|
-
/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_4__);
|
|
570
|
-
/* harmony import */ var _mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/InputBase */ "@mui/material/InputBase");
|
|
571
|
-
/* harmony import */ var _mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5__);
|
|
572
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
573
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_6__);
|
|
574
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
575
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_7__);
|
|
576
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../actions */ "./src/actions.js");
|
|
577
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
578
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
const SearchContainer = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_2__.styled)("div")(() => ({
|
|
590
|
-
position: "relative",
|
|
591
|
-
marginRight: "0",
|
|
592
|
-
marginLeft: "0",
|
|
593
|
-
width: "100%",
|
|
594
|
-
display: "block"
|
|
595
|
-
}));
|
|
596
|
-
const SearchIconWrapper = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_2__.styled)("div")(() => ({
|
|
597
|
-
height: "100%",
|
|
598
|
-
position: "absolute",
|
|
599
|
-
display: "flex",
|
|
600
|
-
alignItems: "center",
|
|
601
|
-
justifyContent: "center"
|
|
602
|
-
}));
|
|
603
|
-
const StyledInputBase = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_2__.styled)((_mui_material_InputBase__WEBPACK_IMPORTED_MODULE_5___default()))(() => ({
|
|
604
|
-
color: "inherit",
|
|
605
|
-
borderBottom: "1px solid rgba(0, 0, 0, 0.42)",
|
|
606
|
-
paddingLeft: "25px",
|
|
607
|
-
paddingRight: "25px",
|
|
608
|
-
fontSize: "1em"
|
|
609
|
-
}));
|
|
610
|
-
const CloseIconWrapper = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_2__.styled)((_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_4___default()))(() => ({
|
|
611
|
-
padding: "2px",
|
|
612
|
-
fontSize: "1.5em",
|
|
613
|
-
height: "100%",
|
|
614
|
-
position: "absolute",
|
|
615
|
-
top: "0",
|
|
616
|
-
right: "0",
|
|
617
|
-
display: "flex",
|
|
618
|
-
alignItems: "center",
|
|
619
|
-
justifyContent: "center",
|
|
620
|
-
cursor: "pointer",
|
|
621
|
-
zIndex: "1000"
|
|
622
|
-
}));
|
|
623
|
-
function Search(_ref) {
|
|
624
|
-
let {
|
|
625
|
-
onSearch,
|
|
626
|
-
onReset
|
|
627
|
-
} = _ref;
|
|
628
|
-
const {
|
|
629
|
-
t
|
|
630
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_7__.useTranslation)();
|
|
631
|
-
const [showClose, setShowClose] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
632
|
-
const [searchValue, setSearchValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)("");
|
|
633
|
-
const onKeyDown = event => {
|
|
634
|
-
const {
|
|
635
|
-
key,
|
|
636
|
-
nativeEvent: {
|
|
637
|
-
target: {
|
|
638
|
-
value
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
} = event;
|
|
642
|
-
if (key === "Enter") {
|
|
643
|
-
onSearch({
|
|
644
|
-
value,
|
|
645
|
-
name: "number",
|
|
646
|
-
type: _actions__WEBPACK_IMPORTED_MODULE_8__.FILTER_VAR_ORDER_NUMBER
|
|
647
|
-
});
|
|
648
|
-
setShowClose(true);
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
const resetSearch = () => {
|
|
652
|
-
setSearchValue("");
|
|
653
|
-
setShowClose(false);
|
|
654
|
-
onReset();
|
|
655
|
-
};
|
|
656
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__.Box, {
|
|
657
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(SearchContainer, {
|
|
658
|
-
children: [showClose && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(CloseIconWrapper, {
|
|
659
|
-
onClick: resetSearch,
|
|
660
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_4___default()), {})
|
|
661
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(SearchIconWrapper, {
|
|
662
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((_mui_icons_material_Search__WEBPACK_IMPORTED_MODULE_3___default()), {})
|
|
663
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(StyledInputBase, {
|
|
664
|
-
placeholder: t("order_search.order_number"),
|
|
665
|
-
inputProps: {
|
|
666
|
-
"aria-label": "search"
|
|
667
|
-
},
|
|
668
|
-
value: searchValue,
|
|
669
|
-
onChange: e => setSearchValue(e.target.value),
|
|
670
|
-
onKeyDown: onKeyDown
|
|
671
|
-
})]
|
|
672
|
-
})
|
|
673
|
-
});
|
|
674
|
-
}
|
|
675
|
-
Search.propTypes = {
|
|
676
|
-
onSearch: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
677
|
-
onReset: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
|
|
678
|
-
};
|
|
679
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Search);
|
|
680
|
-
|
|
681
|
-
/***/ }),
|
|
682
|
-
|
|
683
|
-
/***/ "./src/components/FilterSortSearch/Sort.js":
|
|
684
|
-
/*!*************************************************!*\
|
|
685
|
-
!*** ./src/components/FilterSortSearch/Sort.js ***!
|
|
686
|
-
\*************************************************/
|
|
687
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
688
|
-
|
|
689
|
-
__webpack_require__.r(__webpack_exports__);
|
|
690
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
691
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
692
|
-
/* harmony export */ });
|
|
693
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
694
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
695
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/material/Stack */ "@mui/material/Stack");
|
|
696
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_1__);
|
|
697
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
698
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_2__);
|
|
699
|
-
/* harmony import */ var _mui_icons_material_ImportExport__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/ImportExport */ "@mui/icons-material/ImportExport");
|
|
700
|
-
/* harmony import */ var _mui_icons_material_ImportExport__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ImportExport__WEBPACK_IMPORTED_MODULE_3__);
|
|
701
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
702
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_4__);
|
|
703
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/FilterSortSearch/styles.module.scss");
|
|
704
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
705
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__);
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
function Sort(_ref) {
|
|
714
|
-
let {
|
|
715
|
-
onSort
|
|
716
|
-
} = _ref;
|
|
717
|
-
const {
|
|
718
|
-
t
|
|
719
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_4__.useTranslation)();
|
|
720
|
-
const [showSort, setShowSort] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
721
|
-
const sortRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
722
|
-
const handleSortClickOutside = event => {
|
|
723
|
-
if (sortRef.current && !sortRef.current.contains(event.target)) {
|
|
724
|
-
setShowSort(false);
|
|
725
|
-
}
|
|
726
|
-
};
|
|
727
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
728
|
-
document.addEventListener("click", handleSortClickOutside, false);
|
|
729
|
-
return () => {
|
|
730
|
-
document.removeEventListener("click", handleSortClickOutside, false);
|
|
731
|
-
};
|
|
732
|
-
}, [showSort]);
|
|
733
|
-
const toggle = () => {
|
|
734
|
-
setShowSort(!showSort);
|
|
735
|
-
};
|
|
736
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
737
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.sortContainer,
|
|
738
|
-
onClick: toggle,
|
|
739
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)((_mui_material_Stack__WEBPACK_IMPORTED_MODULE_1___default()), {
|
|
740
|
-
ref: sortRef,
|
|
741
|
-
alignItems: "center",
|
|
742
|
-
direction: "row",
|
|
743
|
-
sx: {
|
|
744
|
-
pt: 2,
|
|
745
|
-
pb: 2
|
|
746
|
-
},
|
|
747
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)((_mui_icons_material_ImportExport__WEBPACK_IMPORTED_MODULE_3___default()), {
|
|
748
|
-
fontSize: "large",
|
|
749
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.sortIcon
|
|
750
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
|
|
751
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.sortLabel,
|
|
752
|
-
children: t("sort.sort")
|
|
753
|
-
})]
|
|
754
|
-
}), showSort && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
755
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.sortListContainer} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.container}`,
|
|
756
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Button, {
|
|
757
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.label,
|
|
758
|
-
onClick: () => onSort("desc"),
|
|
759
|
-
children: t("sort.new_first")
|
|
760
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Button, {
|
|
761
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.label,
|
|
762
|
-
onClick: () => onSort("asc"),
|
|
763
|
-
children: t("sort.old_first")
|
|
764
|
-
})]
|
|
765
|
-
})]
|
|
766
|
-
});
|
|
767
|
-
}
|
|
768
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Sort);
|
|
769
|
-
|
|
770
|
-
/***/ }),
|
|
771
|
-
|
|
772
|
-
/***/ "./src/components/FilterSortSearch/index.js":
|
|
773
|
-
/*!**************************************************!*\
|
|
774
|
-
!*** ./src/components/FilterSortSearch/index.js ***!
|
|
775
|
-
\**************************************************/
|
|
776
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
777
|
-
|
|
778
|
-
__webpack_require__.r(__webpack_exports__);
|
|
779
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
780
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
781
|
-
/* harmony export */ });
|
|
782
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
783
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
784
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
785
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
786
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
787
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_2__);
|
|
788
|
-
/* harmony import */ var _Filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Filter */ "./src/components/FilterSortSearch/Filter.js");
|
|
789
|
-
/* harmony import */ var _Sort__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Sort */ "./src/components/FilterSortSearch/Sort.js");
|
|
790
|
-
/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Search */ "./src/components/FilterSortSearch/Search.js");
|
|
791
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/FilterSortSearch/styles.module.scss");
|
|
792
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
793
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__);
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
function FilterSortSearch(_ref) {
|
|
803
|
-
let {
|
|
804
|
-
onFilter,
|
|
805
|
-
onSort,
|
|
806
|
-
onSearch,
|
|
807
|
-
onReset
|
|
808
|
-
} = _ref;
|
|
809
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
810
|
-
container: true,
|
|
811
|
-
justify: "flex-end",
|
|
812
|
-
alignItems: "center",
|
|
813
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
814
|
-
item: true,
|
|
815
|
-
xs: 6,
|
|
816
|
-
container: true,
|
|
817
|
-
padding: 1,
|
|
818
|
-
gap: 2,
|
|
819
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.filterSortContainer,
|
|
820
|
-
sx: {
|
|
821
|
-
pt: 2,
|
|
822
|
-
pb: 2
|
|
823
|
-
},
|
|
824
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
825
|
-
item: true,
|
|
826
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_Filter__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
|
827
|
-
onFilter: onFilter,
|
|
828
|
-
onReset: onReset
|
|
829
|
-
})
|
|
830
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
831
|
-
item: true,
|
|
832
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_Sort__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
833
|
-
onSort: onSort
|
|
834
|
-
})
|
|
835
|
-
})]
|
|
836
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
837
|
-
item: true,
|
|
838
|
-
xs: 6,
|
|
839
|
-
container: true,
|
|
840
|
-
justifyContent: "flex-end",
|
|
841
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_Search__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
842
|
-
onSearch: onSearch,
|
|
843
|
-
onReset: onReset
|
|
844
|
-
})
|
|
845
|
-
})]
|
|
846
|
-
});
|
|
847
|
-
}
|
|
848
|
-
FilterSortSearch.propTypes = {
|
|
849
|
-
onFilter: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
850
|
-
onSort: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
851
|
-
onSearch: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
852
|
-
onReset: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
|
|
853
|
-
};
|
|
854
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterSortSearch);
|
|
855
|
-
|
|
856
|
-
/***/ }),
|
|
857
|
-
|
|
858
|
-
/***/ "./src/components/MyOrdersTickets.js":
|
|
859
|
-
/*!*******************************************!*\
|
|
860
|
-
!*** ./src/components/MyOrdersTickets.js ***!
|
|
861
|
-
\*******************************************/
|
|
862
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
863
|
-
|
|
864
|
-
__webpack_require__.r(__webpack_exports__);
|
|
865
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
866
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
867
|
-
/* harmony export */ });
|
|
868
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
869
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
870
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
871
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
872
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
873
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
874
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
875
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
876
|
-
/* harmony import */ var react_infinite_scroll_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-infinite-scroll-component */ "react-infinite-scroll-component");
|
|
877
|
-
/* harmony import */ var react_infinite_scroll_component__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_infinite_scroll_component__WEBPACK_IMPORTED_MODULE_4__);
|
|
878
|
-
/* harmony import */ var _FilterSortSearch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FilterSortSearch */ "./src/components/FilterSortSearch/index.js");
|
|
879
|
-
/* harmony import */ var _OrdersList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./OrdersList */ "./src/components/OrdersList/index.js");
|
|
880
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "./src/utils/index.js");
|
|
881
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../actions */ "./src/actions.js");
|
|
882
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/styles.module.scss");
|
|
883
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
884
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
function MyOrdersTickets() {
|
|
897
|
-
const {
|
|
898
|
-
t
|
|
899
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
900
|
-
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
901
|
-
const {
|
|
902
|
-
summit,
|
|
903
|
-
memberOrders,
|
|
904
|
-
orders_current_page,
|
|
905
|
-
orders_per_page,
|
|
906
|
-
orders_total
|
|
907
|
-
} = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(state => state.widgetState || {}, react_redux__WEBPACK_IMPORTED_MODULE_1__.shallowEqual);
|
|
908
|
-
const [hasMore, setHasMore] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);
|
|
909
|
-
const [searchNext, setSearchNext] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
910
|
-
const [filter, setFilter] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({});
|
|
911
|
-
const [sort, setSort] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({});
|
|
912
|
-
const onReset = () => {
|
|
913
|
-
setSort({});
|
|
914
|
-
setFilter({});
|
|
915
|
-
setSearchNext(false);
|
|
916
|
-
dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_8__.resetFilter)());
|
|
917
|
-
};
|
|
918
|
-
const fetchData = async () => {
|
|
919
|
-
dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_8__.getUserOrders)({
|
|
920
|
-
page: orders_current_page,
|
|
921
|
-
perPage: orders_per_page,
|
|
922
|
-
next: searchNext,
|
|
923
|
-
filter,
|
|
924
|
-
sort
|
|
925
|
-
})).then(res => {
|
|
926
|
-
if (res.response?.data?.length > orders_per_page && memberOrders.length === orders_total) setHasMore(false);
|
|
927
|
-
});
|
|
928
|
-
};
|
|
929
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
930
|
-
fetchData();
|
|
931
|
-
}, [filter, sort, searchNext]);
|
|
932
|
-
const onFilter = filter => {
|
|
933
|
-
setSort({});
|
|
934
|
-
setFilter(filter);
|
|
935
|
-
};
|
|
936
|
-
const onSort = direction => {
|
|
937
|
-
setFilter({});
|
|
938
|
-
setSort({
|
|
939
|
-
direction,
|
|
940
|
-
name: "created"
|
|
941
|
-
});
|
|
942
|
-
};
|
|
943
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.Fragment, {
|
|
944
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_FilterSortSearch__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
945
|
-
onFilter: onFilter,
|
|
946
|
-
onSort: onSort,
|
|
947
|
-
onSearch: onFilter,
|
|
948
|
-
onReset: onReset
|
|
949
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Box, {
|
|
950
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_9__.widgetHeader,
|
|
951
|
-
sx: {
|
|
952
|
-
padding: {
|
|
953
|
-
xs: 2,
|
|
954
|
-
md: 0,
|
|
955
|
-
lg: 0
|
|
956
|
-
}
|
|
957
|
-
},
|
|
958
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("h2", {
|
|
959
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_9__.summitTitleDate,
|
|
960
|
-
children: summit?.name
|
|
961
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("h2", {
|
|
962
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_9__.summitTitleDate,
|
|
963
|
-
children: (0,_utils__WEBPACK_IMPORTED_MODULE_7__.getSummitFormattedDate)(summit)
|
|
964
|
-
})]
|
|
965
|
-
}), memberOrders.length ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)((react_infinite_scroll_component__WEBPACK_IMPORTED_MODULE_4___default()), {
|
|
966
|
-
dataLength: memberOrders.length,
|
|
967
|
-
next: () => setSearchNext(true),
|
|
968
|
-
hasMore: hasMore,
|
|
969
|
-
scrollThreshold: 1,
|
|
970
|
-
children: memberOrders?.map(order => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_OrdersList__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
971
|
-
order: order,
|
|
972
|
-
summit: summit
|
|
973
|
-
}, order.id))
|
|
974
|
-
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Box, {
|
|
975
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_9__.noOrdersFound,
|
|
976
|
-
children: t("orders.no_orders")
|
|
977
|
-
})]
|
|
978
|
-
});
|
|
979
|
-
}
|
|
980
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyOrdersTickets);
|
|
981
|
-
|
|
982
|
-
/***/ }),
|
|
983
|
-
|
|
984
|
-
/***/ "./src/components/OrderSummary/OrderSummaryTable.js":
|
|
985
|
-
/*!**********************************************************!*\
|
|
986
|
-
!*** ./src/components/OrderSummary/OrderSummaryTable.js ***!
|
|
987
|
-
\**********************************************************/
|
|
988
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
989
|
-
|
|
990
|
-
__webpack_require__.r(__webpack_exports__);
|
|
991
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
992
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
993
|
-
/* harmony export */ });
|
|
994
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
995
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
996
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
997
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
998
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
999
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
1000
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1001
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
1002
|
-
/* harmony import */ var _mui_material_Divider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/Divider */ "@mui/material/Divider");
|
|
1003
|
-
/* harmony import */ var _mui_material_Divider__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Divider__WEBPACK_IMPORTED_MODULE_4__);
|
|
1004
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils/index.js");
|
|
1005
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrderSummary/styles.module.scss");
|
|
1006
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1007
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__);
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
function OrderSummaryTable(_ref) {
|
|
1017
|
-
let {
|
|
1018
|
-
order,
|
|
1019
|
-
summit,
|
|
1020
|
-
tickets
|
|
1021
|
-
} = _ref;
|
|
1022
|
-
const {
|
|
1023
|
-
t
|
|
1024
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
1025
|
-
const {
|
|
1026
|
-
discountTotal,
|
|
1027
|
-
refundTotal,
|
|
1028
|
-
taxesTotal,
|
|
1029
|
-
amountTotal,
|
|
1030
|
-
ticketSummary
|
|
1031
|
-
} = (0,_utils__WEBPACK_IMPORTED_MODULE_5__.calculateOrderTotals)({
|
|
1032
|
-
order,
|
|
1033
|
-
summit,
|
|
1034
|
-
tickets
|
|
1035
|
-
});
|
|
1036
|
-
const hundred = 100;
|
|
1037
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Box, {
|
|
1038
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.orderSummaryTable,
|
|
1039
|
-
children: [ticketSummary?.length > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment, {
|
|
1040
|
-
children: ticketSummary.map(ticket => {
|
|
1041
|
-
const ticketTotal = ticket.qty * (ticket.ticket_type.cost * hundred) / hundred;
|
|
1042
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1043
|
-
container: true,
|
|
1044
|
-
sx: {
|
|
1045
|
-
pb: 1
|
|
1046
|
-
},
|
|
1047
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1048
|
-
xs: 8,
|
|
1049
|
-
item: true,
|
|
1050
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("span", {
|
|
1051
|
-
children: ["x", ticket.qty, " ", ticket.ticket_type.name]
|
|
1052
|
-
})
|
|
1053
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1054
|
-
xs: 4,
|
|
1055
|
-
item: true,
|
|
1056
|
-
align: "right",
|
|
1057
|
-
children: (0,_utils__WEBPACK_IMPORTED_MODULE_5__.formatCurrency)(ticketTotal, {
|
|
1058
|
-
currency: order.currency
|
|
1059
|
-
})
|
|
1060
|
-
})]
|
|
1061
|
-
}, `tixorder_${ticket.ticket_type.created}`);
|
|
1062
|
-
})
|
|
1063
|
-
}), order.discount_amount > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1064
|
-
container: true,
|
|
1065
|
-
sx: {
|
|
1066
|
-
pb: 1
|
|
1067
|
-
},
|
|
1068
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1069
|
-
xs: 8,
|
|
1070
|
-
item: true,
|
|
1071
|
-
children: t("order_summary.discounts")
|
|
1072
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1073
|
-
xs: 4,
|
|
1074
|
-
item: true,
|
|
1075
|
-
align: "right",
|
|
1076
|
-
children: ["-", discountTotal]
|
|
1077
|
-
})]
|
|
1078
|
-
}), order.taxes_amount > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1079
|
-
container: true,
|
|
1080
|
-
sx: {
|
|
1081
|
-
pb: 1
|
|
1082
|
-
},
|
|
1083
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1084
|
-
xs: 8,
|
|
1085
|
-
item: true,
|
|
1086
|
-
children: t("order_summary.taxes")
|
|
1087
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1088
|
-
xs: 4,
|
|
1089
|
-
item: true,
|
|
1090
|
-
align: "right",
|
|
1091
|
-
children: taxesTotal
|
|
1092
|
-
})]
|
|
1093
|
-
}), order.status === "Paid" && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1094
|
-
container: true,
|
|
1095
|
-
sx: {
|
|
1096
|
-
pb: 1
|
|
1097
|
-
},
|
|
1098
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1099
|
-
xs: 8,
|
|
1100
|
-
item: true,
|
|
1101
|
-
children: t("order_summary.amount_paid")
|
|
1102
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1103
|
-
xs: 4,
|
|
1104
|
-
item: true,
|
|
1105
|
-
align: "right",
|
|
1106
|
-
children: ["-", amountTotal]
|
|
1107
|
-
})]
|
|
1108
|
-
}), refundTotal > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1109
|
-
container: true,
|
|
1110
|
-
sx: {
|
|
1111
|
-
pb: 1
|
|
1112
|
-
},
|
|
1113
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1114
|
-
xs: 8,
|
|
1115
|
-
item: true,
|
|
1116
|
-
children: t("order_summary.refunds")
|
|
1117
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1118
|
-
xs: 4,
|
|
1119
|
-
item: true,
|
|
1120
|
-
align: "right",
|
|
1121
|
-
children: refundTotal
|
|
1122
|
-
})]
|
|
1123
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)((_mui_material_Divider__WEBPACK_IMPORTED_MODULE_4___default()), {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1124
|
-
container: true,
|
|
1125
|
-
sx: {
|
|
1126
|
-
pt: 1,
|
|
1127
|
-
pb: 1
|
|
1128
|
-
},
|
|
1129
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1130
|
-
xs: 8,
|
|
1131
|
-
item: true,
|
|
1132
|
-
children: t("order_summary.total")
|
|
1133
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1134
|
-
xs: 4,
|
|
1135
|
-
item: true,
|
|
1136
|
-
align: "right",
|
|
1137
|
-
children: order.status === "Paid" ? "$0.00" : amountTotal
|
|
1138
|
-
})]
|
|
1139
|
-
})]
|
|
1140
|
-
});
|
|
1141
|
-
}
|
|
1142
|
-
OrderSummaryTable.propTypes = {
|
|
1143
|
-
order: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1144
|
-
currency: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
1145
|
-
discount_amount: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),
|
|
1146
|
-
taxes_amount: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),
|
|
1147
|
-
status: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
1148
|
-
}),
|
|
1149
|
-
summit: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
|
|
1150
|
-
tickets: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(Object)
|
|
1151
|
-
};
|
|
1152
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderSummaryTable);
|
|
1153
|
-
|
|
1154
|
-
/***/ }),
|
|
1155
|
-
|
|
1156
|
-
/***/ "./src/components/OrderSummary/RefundEmailSupport.js":
|
|
1157
|
-
/*!***********************************************************!*\
|
|
1158
|
-
!*** ./src/components/OrderSummary/RefundEmailSupport.js ***!
|
|
1159
|
-
\***********************************************************/
|
|
1160
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1161
|
-
|
|
1162
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1163
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1164
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1165
|
-
/* harmony export */ });
|
|
1166
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1167
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1168
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1169
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1170
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1171
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
1172
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1173
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
1174
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrderSummary/styles.module.scss");
|
|
1175
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1176
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
function RefundEmailSupport(_ref) {
|
|
1184
|
-
let {
|
|
1185
|
-
onRefundClick,
|
|
1186
|
-
onRefundDetailClick,
|
|
1187
|
-
onEmailSupportClick
|
|
1188
|
-
} = _ref;
|
|
1189
|
-
const {
|
|
1190
|
-
t
|
|
1191
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
1192
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
|
1193
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1194
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.orderSummaryButton,
|
|
1195
|
-
variant: "outlined",
|
|
1196
|
-
size: "large",
|
|
1197
|
-
onClick: onRefundClick,
|
|
1198
|
-
children: t("order_summary.request_refund")
|
|
1199
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1200
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.orderSummaryButton,
|
|
1201
|
-
variant: "outlined",
|
|
1202
|
-
size: "large",
|
|
1203
|
-
onClick: onRefundDetailClick,
|
|
1204
|
-
children: t("order_summary.refund_details")
|
|
1205
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1206
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.orderSummaryButton,
|
|
1207
|
-
variant: "outlined",
|
|
1208
|
-
size: "large",
|
|
1209
|
-
onClick: onEmailSupportClick,
|
|
1210
|
-
children: t("order_info.email_support")
|
|
1211
|
-
})]
|
|
1212
|
-
});
|
|
1213
|
-
}
|
|
1214
|
-
RefundEmailSupport.propTypes = {
|
|
1215
|
-
onRefundClick: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
1216
|
-
onRefundDetailClick: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
|
|
1217
|
-
onEmailSupportClick: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
|
|
1218
|
-
};
|
|
1219
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RefundEmailSupport);
|
|
1220
|
-
|
|
1221
|
-
/***/ }),
|
|
1222
|
-
|
|
1223
|
-
/***/ "./src/components/OrderSummary/index.js":
|
|
1224
|
-
/*!**********************************************!*\
|
|
1225
|
-
!*** ./src/components/OrderSummary/index.js ***!
|
|
1226
|
-
\**********************************************/
|
|
1227
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1228
|
-
|
|
1229
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1230
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1231
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1232
|
-
/* harmony export */ });
|
|
1233
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1234
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1235
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1236
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1237
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1238
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_2__);
|
|
1239
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1240
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);
|
|
1241
|
-
/* harmony import */ var _OrderSummaryTable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./OrderSummaryTable */ "./src/components/OrderSummary/OrderSummaryTable.js");
|
|
1242
|
-
/* harmony import */ var _RefundEmailSupport__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RefundEmailSupport */ "./src/components/OrderSummary/RefundEmailSupport.js");
|
|
1243
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrderSummary/styles.module.scss");
|
|
1244
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1245
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__);
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
function OrderSummary(_ref) {
|
|
1255
|
-
let {
|
|
1256
|
-
order,
|
|
1257
|
-
summit,
|
|
1258
|
-
tickets
|
|
1259
|
-
} = _ref;
|
|
1260
|
-
const {
|
|
1261
|
-
t
|
|
1262
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_3__.useTranslation)();
|
|
1263
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment, {
|
|
1264
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
1265
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.orderSummaryWrapper,
|
|
1266
|
-
sx: {
|
|
1267
|
-
pt: 4,
|
|
1268
|
-
px: 4
|
|
1269
|
-
},
|
|
1270
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("h3", {
|
|
1271
|
-
children: t("order_summary.order_summary")
|
|
1272
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
1273
|
-
container: true,
|
|
1274
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
1275
|
-
xs: 12,
|
|
1276
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.orderSummaryPurchasedInfo,
|
|
1277
|
-
sx: {
|
|
1278
|
-
pb: 3
|
|
1279
|
-
},
|
|
1280
|
-
item: true,
|
|
1281
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_OrderSummaryTable__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
1282
|
-
order: order,
|
|
1283
|
-
summit: summit,
|
|
1284
|
-
tickets: tickets
|
|
1285
|
-
})
|
|
1286
|
-
})
|
|
1287
|
-
})]
|
|
1288
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
1289
|
-
xs: 12,
|
|
1290
|
-
sx: {
|
|
1291
|
-
pb: 3
|
|
1292
|
-
},
|
|
1293
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_RefundEmailSupport__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
|
1294
|
-
onRefundClick: () => {},
|
|
1295
|
-
onRefundDetailClick: () => {},
|
|
1296
|
-
onEmailSupportClick: () => {}
|
|
1297
|
-
})
|
|
1298
|
-
})]
|
|
1299
|
-
});
|
|
1300
|
-
}
|
|
1301
|
-
OrderSummary.propTypes = {
|
|
1302
|
-
order: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
|
|
1303
|
-
summit: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
|
|
1304
|
-
tickets: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(Object)
|
|
1305
|
-
};
|
|
1306
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderSummary);
|
|
1307
|
-
|
|
1308
|
-
/***/ }),
|
|
1309
|
-
|
|
1310
|
-
/***/ "./src/components/OrdersList/OrderListItem.js":
|
|
1311
|
-
/*!****************************************************!*\
|
|
1312
|
-
!*** ./src/components/OrdersList/OrderListItem.js ***!
|
|
1313
|
-
\****************************************************/
|
|
1314
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1315
|
-
|
|
1316
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1317
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1318
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1319
|
-
/* harmony export */ });
|
|
1320
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1321
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1322
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1323
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1324
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1325
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
1326
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1327
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
1328
|
-
/* harmony import */ var _OrderListTickets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./OrderListTickets */ "./src/components/OrdersList/OrderListTickets.js");
|
|
1329
|
-
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/constants */ "./src/utils/constants.js");
|
|
1330
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrdersList/styles.module.scss");
|
|
1331
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1332
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__);
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
function OrderListItem(_ref) {
|
|
1342
|
-
let {
|
|
1343
|
-
tickets,
|
|
1344
|
-
total,
|
|
1345
|
-
onPaginateClick,
|
|
1346
|
-
summit
|
|
1347
|
-
} = _ref;
|
|
1348
|
-
const {
|
|
1349
|
-
t
|
|
1350
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
1351
|
-
const [itemsToDisplay, setItemsToDisplay] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_utils_constants__WEBPACK_IMPORTED_MODULE_5__.PAGINATION_DISPLAY_COUNT);
|
|
1352
|
-
const slicedTickets = tickets?.slice(0, itemsToDisplay);
|
|
1353
|
-
const onViewMore = () => {
|
|
1354
|
-
if (total > tickets.length) {
|
|
1355
|
-
onPaginateClick();
|
|
1356
|
-
}
|
|
1357
|
-
setItemsToDisplay(itemsToDisplay + _utils_constants__WEBPACK_IMPORTED_MODULE_5__.PAGINATION_DISPLAY_COUNT);
|
|
1358
|
-
};
|
|
1359
|
-
const onViewLess = () => setItemsToDisplay(_utils_constants__WEBPACK_IMPORTED_MODULE_5__.PAGINATION_DISPLAY_COUNT);
|
|
1360
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.Fragment, {
|
|
1361
|
-
children: [slicedTickets?.map(ticket => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_OrderListTickets__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
1362
|
-
ticket: ticket,
|
|
1363
|
-
summit: summit
|
|
1364
|
-
}, ticket.id)), tickets?.length > itemsToDisplay ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1365
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.viewMoreButton,
|
|
1366
|
-
onClick: onViewMore,
|
|
1367
|
-
children: t("orders-tickets.view_more")
|
|
1368
|
-
}) : "", slicedTickets?.length > _utils_constants__WEBPACK_IMPORTED_MODULE_5__.PAGINATION_DISPLAY_COUNT && slicedTickets?.length === total ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1369
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_6__.viewMoreButton,
|
|
1370
|
-
onClick: onViewLess,
|
|
1371
|
-
children: t("orders-tickets.view_less")
|
|
1372
|
-
}) : ""]
|
|
1373
|
-
});
|
|
1374
|
-
}
|
|
1375
|
-
OrderListItem.propTypes = {
|
|
1376
|
-
tickets: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(Object)
|
|
1377
|
-
};
|
|
1378
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderListItem);
|
|
1379
|
-
|
|
1380
|
-
/***/ }),
|
|
1381
|
-
|
|
1382
|
-
/***/ "./src/components/OrdersList/OrderListTickets.js":
|
|
1383
|
-
/*!*******************************************************!*\
|
|
1384
|
-
!*** ./src/components/OrdersList/OrderListTickets.js ***!
|
|
1385
|
-
\*******************************************************/
|
|
1386
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1387
|
-
|
|
1388
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1389
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1390
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1391
|
-
/* harmony export */ });
|
|
1392
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1393
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1394
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1395
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1396
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1397
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
1398
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1399
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
1400
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/Stack */ "@mui/material/Stack");
|
|
1401
|
-
/* harmony import */ var _mui_material_Stack__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Stack__WEBPACK_IMPORTED_MODULE_4__);
|
|
1402
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrdersList/styles.module.scss");
|
|
1403
|
-
/* harmony import */ var _TicketStatus__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../TicketStatus */ "./src/components/TicketStatus/index.js");
|
|
1404
|
-
/* harmony import */ var _OrderNumber__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./OrderNumber */ "./src/components/OrdersList/OrderNumber.js");
|
|
1405
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./src/utils/index.js");
|
|
1406
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1407
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
function OrderListTickets(_ref) {
|
|
1419
|
-
let {
|
|
1420
|
-
ticket,
|
|
1421
|
-
summit
|
|
1422
|
-
} = _ref;
|
|
1423
|
-
const {
|
|
1424
|
-
t
|
|
1425
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
1426
|
-
const now = (0,_utils__WEBPACK_IMPORTED_MODULE_8__.useNow)();
|
|
1427
|
-
const getActiveButtonActions = ticket => {
|
|
1428
|
-
if (ticket.owner?.status === "Incomplete") {
|
|
1429
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1430
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.viewFinishTicketButton,
|
|
1431
|
-
children: t("ticket_status.finish_ticket")
|
|
1432
|
-
});
|
|
1433
|
-
}
|
|
1434
|
-
if (ticket.owner?.status === "Complete") {
|
|
1435
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1436
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.viewFinishTicketButton,
|
|
1437
|
-
children: t("ticket_status.view_ticket")
|
|
1438
|
-
});
|
|
1439
|
-
}
|
|
1440
|
-
return null;
|
|
1441
|
-
};
|
|
1442
|
-
const showReassignButton = () => {
|
|
1443
|
-
const reassignDate = (0,_utils__WEBPACK_IMPORTED_MODULE_8__.getSummitReassignDate)(summit);
|
|
1444
|
-
const isReassignable = reassignDate > now;
|
|
1445
|
-
return isReassignable ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1446
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.reassignButton,
|
|
1447
|
-
children: t("ticket_status.reassign_ticket")
|
|
1448
|
-
}) : "";
|
|
1449
|
-
};
|
|
1450
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1451
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.orderWrapper,
|
|
1452
|
-
container: true,
|
|
1453
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1454
|
-
xs: 7,
|
|
1455
|
-
padding: 2,
|
|
1456
|
-
item: true,
|
|
1457
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.ticketTicketType,
|
|
1458
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("h4", {
|
|
1459
|
-
children: ticket.ticket_type?.name
|
|
1460
|
-
})
|
|
1461
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1462
|
-
xs: 5,
|
|
1463
|
-
padding: 2,
|
|
1464
|
-
item: true
|
|
1465
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1466
|
-
xs: 12,
|
|
1467
|
-
sx: {
|
|
1468
|
-
px: 2,
|
|
1469
|
-
pb: 2
|
|
1470
|
-
},
|
|
1471
|
-
item: true,
|
|
1472
|
-
children: [ticket.owner?.email ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
|
|
1473
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Box, {
|
|
1474
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.label,
|
|
1475
|
-
children: [t("ticket_status.assigned_to"), ":"]
|
|
1476
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Box, {
|
|
1477
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.ticketOwnerEmail,
|
|
1478
|
-
children: ticket.owner?.email
|
|
1479
|
-
})]
|
|
1480
|
-
}) : ticket.is_active && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span", {
|
|
1481
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.ticketOwnerEmail,
|
|
1482
|
-
children: t("ticket_status.attendee_status_unassigned")
|
|
1483
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("span", {
|
|
1484
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.ticketNo,
|
|
1485
|
-
children: [t("ticket_status.ticket_no"), ":", " ", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_OrderNumber__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
1486
|
-
number: ticket.number,
|
|
1487
|
-
copy: true,
|
|
1488
|
-
truncated: true
|
|
1489
|
-
})]
|
|
1490
|
-
})]
|
|
1491
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1492
|
-
container: true,
|
|
1493
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1494
|
-
container: true,
|
|
1495
|
-
direction: "row",
|
|
1496
|
-
xs: 12,
|
|
1497
|
-
lg: 6,
|
|
1498
|
-
alignItems: "center",
|
|
1499
|
-
item: true,
|
|
1500
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_TicketStatus__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
1501
|
-
ticket: ticket
|
|
1502
|
-
})
|
|
1503
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1504
|
-
padding: 2,
|
|
1505
|
-
xs: 12,
|
|
1506
|
-
lg: 6,
|
|
1507
|
-
container: true,
|
|
1508
|
-
item: true,
|
|
1509
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Grid, {
|
|
1510
|
-
item: true,
|
|
1511
|
-
container: true,
|
|
1512
|
-
align: "center",
|
|
1513
|
-
sx: {
|
|
1514
|
-
justifyContent: "space-between"
|
|
1515
|
-
},
|
|
1516
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.ticketActionButtons,
|
|
1517
|
-
children: ticket.is_active && (ticket.owner ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)((_mui_material_Stack__WEBPACK_IMPORTED_MODULE_4___default()), {
|
|
1518
|
-
sx: {
|
|
1519
|
-
justifyContent: "space-between",
|
|
1520
|
-
width: "100%"
|
|
1521
|
-
},
|
|
1522
|
-
alignItems: "center",
|
|
1523
|
-
direction: "row",
|
|
1524
|
-
children: [getActiveButtonActions(ticket), showReassignButton()]
|
|
1525
|
-
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1526
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_5__.assignTicketButton,
|
|
1527
|
-
children: t("ticket_status.assign_ticket")
|
|
1528
|
-
}))
|
|
1529
|
-
})
|
|
1530
|
-
})]
|
|
1531
|
-
})]
|
|
1532
|
-
}, ticket.id);
|
|
1533
|
-
}
|
|
1534
|
-
OrderListTickets.propTypes = {
|
|
1535
|
-
ticket: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1536
|
-
id: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),
|
|
1537
|
-
owner: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1538
|
-
email: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
1539
|
-
}),
|
|
1540
|
-
number: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
1541
|
-
total_refunded_amount: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),
|
|
1542
|
-
ticket_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1543
|
-
name: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
1544
|
-
})
|
|
1545
|
-
})
|
|
1546
|
-
};
|
|
1547
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderListTickets);
|
|
1548
|
-
|
|
1549
|
-
/***/ }),
|
|
1550
|
-
|
|
1551
|
-
/***/ "./src/components/OrdersList/OrderNumber.js":
|
|
1552
|
-
/*!**************************************************!*\
|
|
1553
|
-
!*** ./src/components/OrdersList/OrderNumber.js ***!
|
|
1554
|
-
\**************************************************/
|
|
1555
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1556
|
-
|
|
1557
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1558
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1559
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1560
|
-
/* harmony export */ });
|
|
1561
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1562
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1563
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1564
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1565
|
-
/* harmony import */ var _mui_icons_material_ContentCopy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/icons-material/ContentCopy */ "@mui/icons-material/ContentCopy");
|
|
1566
|
-
/* harmony import */ var _mui_icons_material_ContentCopy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ContentCopy__WEBPACK_IMPORTED_MODULE_2__);
|
|
1567
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrdersList/styles.module.scss");
|
|
1568
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1569
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
function OrderNumber(_ref) {
|
|
1576
|
-
let {
|
|
1577
|
-
number,
|
|
1578
|
-
copy = false,
|
|
1579
|
-
truncated = false
|
|
1580
|
-
} = _ref;
|
|
1581
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
1582
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__.orderTicketNoContainer,
|
|
1583
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
1584
|
-
className: truncated && _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__.orderTicketNumberTruncated,
|
|
1585
|
-
children: number
|
|
1586
|
-
}), copy && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)((_mui_icons_material_ContentCopy__WEBPACK_IMPORTED_MODULE_2___default()), {
|
|
1587
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__.copyIcon,
|
|
1588
|
-
onClick: () => navigator.clipboard.writeText(number)
|
|
1589
|
-
})]
|
|
1590
|
-
});
|
|
1591
|
-
}
|
|
1592
|
-
OrderNumber.propTypes = {
|
|
1593
|
-
number: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
1594
|
-
copy: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
|
|
1595
|
-
};
|
|
1596
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderNumber);
|
|
1597
|
-
|
|
1598
|
-
/***/ }),
|
|
1599
|
-
|
|
1600
|
-
/***/ "./src/components/OrdersList/OrdersListDesktopMobile.js":
|
|
1601
|
-
/*!**************************************************************!*\
|
|
1602
|
-
!*** ./src/components/OrdersList/OrdersListDesktopMobile.js ***!
|
|
1603
|
-
\**************************************************************/
|
|
1604
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1605
|
-
|
|
1606
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1607
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1608
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1609
|
-
/* harmony export */ });
|
|
1610
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1611
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1612
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1613
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);
|
|
1614
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1615
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_2__);
|
|
1616
|
-
/* harmony import */ var _mui_material_Tabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material/Tabs */ "@mui/material/Tabs");
|
|
1617
|
-
/* harmony import */ var _mui_material_Tabs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Tabs__WEBPACK_IMPORTED_MODULE_3__);
|
|
1618
|
-
/* harmony import */ var _mui_material_Tab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/Tab */ "@mui/material/Tab");
|
|
1619
|
-
/* harmony import */ var _mui_material_Tab__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_material_Tab__WEBPACK_IMPORTED_MODULE_4__);
|
|
1620
|
-
/* harmony import */ var _mui_icons_material_Error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/icons-material/Error */ "@mui/icons-material/Error");
|
|
1621
|
-
/* harmony import */ var _mui_icons_material_Error__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Error__WEBPACK_IMPORTED_MODULE_5__);
|
|
1622
|
-
/* harmony import */ var _OrderListItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./OrderListItem */ "./src/components/OrdersList/OrderListItem.js");
|
|
1623
|
-
/* harmony import */ var _OrderSummary__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../OrderSummary */ "./src/components/OrderSummary/index.js");
|
|
1624
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrdersList/styles.module.scss");
|
|
1625
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1626
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
function TabPanel(props) {
|
|
1638
|
-
const {
|
|
1639
|
-
children,
|
|
1640
|
-
value,
|
|
1641
|
-
index
|
|
1642
|
-
} = props;
|
|
1643
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
|
|
1644
|
-
role: "tabpanel",
|
|
1645
|
-
hidden: value !== index,
|
|
1646
|
-
id: `tabpanel-${index}`,
|
|
1647
|
-
"aria-labelledby": `tab-${index}`,
|
|
1648
|
-
children: value === index && children
|
|
1649
|
-
});
|
|
1650
|
-
}
|
|
1651
|
-
function OrdersListDesktopMobile(_ref) {
|
|
1652
|
-
let {
|
|
1653
|
-
isMobile,
|
|
1654
|
-
summit,
|
|
1655
|
-
tickets,
|
|
1656
|
-
order,
|
|
1657
|
-
total,
|
|
1658
|
-
detailsRequired,
|
|
1659
|
-
onPaginateClick
|
|
1660
|
-
} = _ref;
|
|
1661
|
-
const {
|
|
1662
|
-
t
|
|
1663
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_1__.useTranslation)();
|
|
1664
|
-
const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
|
|
1665
|
-
const handleChange = (_, newValue) => {
|
|
1666
|
-
setValue(newValue);
|
|
1667
|
-
};
|
|
1668
|
-
const moreDetails = () => detailsRequired && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("span", {
|
|
1669
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__.detailsRequiredLabel,
|
|
1670
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((_mui_icons_material_Error__WEBPACK_IMPORTED_MODULE_5___default()), {
|
|
1671
|
-
sx: {
|
|
1672
|
-
color: "#FF9800"
|
|
1673
|
-
}
|
|
1674
|
-
}), t("ticket_status.status_details_required")]
|
|
1675
|
-
});
|
|
1676
|
-
return isMobile ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
1677
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__.ticketListContainer,
|
|
1678
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Box, {
|
|
1679
|
-
sx: {
|
|
1680
|
-
borderColor: "divider",
|
|
1681
|
-
pb: 2
|
|
1682
|
-
},
|
|
1683
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)((_mui_material_Tabs__WEBPACK_IMPORTED_MODULE_3___default()), {
|
|
1684
|
-
value: value,
|
|
1685
|
-
onChange: handleChange,
|
|
1686
|
-
textColor: "#000",
|
|
1687
|
-
"aria-label": "Tickets & Summary",
|
|
1688
|
-
TabIndicatorProps: {
|
|
1689
|
-
style: {
|
|
1690
|
-
background: "#000"
|
|
1691
|
-
}
|
|
1692
|
-
},
|
|
1693
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((_mui_material_Tab__WEBPACK_IMPORTED_MODULE_4___default()), {
|
|
1694
|
-
label: t("labels.tickets"),
|
|
1695
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__.tabButtons
|
|
1696
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((_mui_material_Tab__WEBPACK_IMPORTED_MODULE_4___default()), {
|
|
1697
|
-
label: t("labels.summary"),
|
|
1698
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__.tabButtons
|
|
1699
|
-
})]
|
|
1700
|
-
})
|
|
1701
|
-
}), moreDetails(), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(TabPanel, {
|
|
1702
|
-
value: value,
|
|
1703
|
-
index: 0,
|
|
1704
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_OrderListItem__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
1705
|
-
order: order,
|
|
1706
|
-
tickets: tickets,
|
|
1707
|
-
total: total,
|
|
1708
|
-
onPaginateClick: onPaginateClick,
|
|
1709
|
-
summit: summit
|
|
1710
|
-
})
|
|
1711
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(TabPanel, {
|
|
1712
|
-
value: value,
|
|
1713
|
-
index: 1,
|
|
1714
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_OrderSummary__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
1715
|
-
order: order,
|
|
1716
|
-
summit: summit,
|
|
1717
|
-
tickets: tickets
|
|
1718
|
-
})
|
|
1719
|
-
})]
|
|
1720
|
-
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
|
|
1721
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
1722
|
-
item: true,
|
|
1723
|
-
md: 12,
|
|
1724
|
-
children: moreDetails()
|
|
1725
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
1726
|
-
padding: 2,
|
|
1727
|
-
item: true,
|
|
1728
|
-
md: 7,
|
|
1729
|
-
order: {
|
|
1730
|
-
md: 1
|
|
1731
|
-
},
|
|
1732
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_8__.ticketListContainer,
|
|
1733
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_OrderListItem__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
|
1734
|
-
order: order,
|
|
1735
|
-
tickets: tickets,
|
|
1736
|
-
total: total,
|
|
1737
|
-
onPaginateClick: onPaginateClick,
|
|
1738
|
-
summit: summit
|
|
1739
|
-
})
|
|
1740
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__.Grid, {
|
|
1741
|
-
padding: 2,
|
|
1742
|
-
item: true,
|
|
1743
|
-
md: 5,
|
|
1744
|
-
order: {
|
|
1745
|
-
md: 1
|
|
1746
|
-
},
|
|
1747
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_OrderSummary__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
1748
|
-
order: order,
|
|
1749
|
-
summit: summit,
|
|
1750
|
-
tickets: tickets
|
|
1751
|
-
})
|
|
1752
|
-
})]
|
|
1753
|
-
});
|
|
1754
|
-
}
|
|
1755
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrdersListDesktopMobile);
|
|
1756
|
-
|
|
1757
|
-
/***/ }),
|
|
1758
|
-
|
|
1759
|
-
/***/ "./src/components/OrdersList/index.js":
|
|
1760
|
-
/*!********************************************!*\
|
|
1761
|
-
!*** ./src/components/OrdersList/index.js ***!
|
|
1762
|
-
\********************************************/
|
|
1763
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1764
|
-
|
|
1765
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1766
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1767
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1768
|
-
/* harmony export */ });
|
|
1769
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1770
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1771
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1772
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1773
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
1774
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
|
|
1775
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1776
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);
|
|
1777
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1778
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_4__);
|
|
1779
|
-
/* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/styles */ "@mui/material/styles");
|
|
1780
|
-
/* harmony import */ var _mui_material_styles__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_mui_material_styles__WEBPACK_IMPORTED_MODULE_5__);
|
|
1781
|
-
/* harmony import */ var _mui_material_useMediaQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material/useMediaQuery */ "@mui/material/useMediaQuery");
|
|
1782
|
-
/* harmony import */ var _mui_material_useMediaQuery__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_mui_material_useMediaQuery__WEBPACK_IMPORTED_MODULE_6__);
|
|
1783
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../actions */ "./src/actions.js");
|
|
1784
|
-
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./src/utils/index.js");
|
|
1785
|
-
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/constants */ "./src/utils/constants.js");
|
|
1786
|
-
/* harmony import */ var _OrderNumber__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./OrderNumber */ "./src/components/OrdersList/OrderNumber.js");
|
|
1787
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/OrdersList/styles.module.scss");
|
|
1788
|
-
/* harmony import */ var _OrdersListDesktopMobile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./OrdersListDesktopMobile */ "./src/components/OrdersList/OrdersListDesktopMobile.js");
|
|
1789
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1790
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__);
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
function OrdersList(props) {
|
|
1806
|
-
const {
|
|
1807
|
-
summit,
|
|
1808
|
-
order
|
|
1809
|
-
} = props;
|
|
1810
|
-
const {
|
|
1811
|
-
t
|
|
1812
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_3__.useTranslation)();
|
|
1813
|
-
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
|
|
1814
|
-
const {
|
|
1815
|
-
per_page,
|
|
1816
|
-
last_page,
|
|
1817
|
-
memberOrders
|
|
1818
|
-
} = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.widgetState || {}, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
|
|
1819
|
-
const theme = (0,_mui_material_styles__WEBPACK_IMPORTED_MODULE_5__.useTheme)();
|
|
1820
|
-
const isMobile = _mui_material_useMediaQuery__WEBPACK_IMPORTED_MODULE_6___default()(theme.breakpoints.down("lg"));
|
|
1821
|
-
const [isMobileViewable, setMobileViewable] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
1822
|
-
const detailsRequired = order.memberTickets?.find(ticket => ticket.owner?.status === "Incomplete");
|
|
1823
|
-
const fetchTicketsByOrder = async () => {
|
|
1824
|
-
await dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_7__.getTicketsByOrder)({
|
|
1825
|
-
orderId: order.id,
|
|
1826
|
-
current_page: last_page,
|
|
1827
|
-
perPage: per_page
|
|
1828
|
-
})).catch(e => {
|
|
1829
|
-
console.log(e);
|
|
1830
|
-
});
|
|
1831
|
-
};
|
|
1832
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
1833
|
-
fetchTicketsByOrder();
|
|
1834
|
-
}, []);
|
|
1835
|
-
const onPaginateClick = () => dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_7__.getTicketsByOrder)({
|
|
1836
|
-
orderId: order.id,
|
|
1837
|
-
page: order.tickets_page_current + _utils_constants__WEBPACK_IMPORTED_MODULE_9__.ONE_PAGE_NEXT,
|
|
1838
|
-
perPage: per_page,
|
|
1839
|
-
next: true
|
|
1840
|
-
}));
|
|
1841
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
|
|
1842
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__.Box, {
|
|
1843
|
-
sx: {
|
|
1844
|
-
padding: {
|
|
1845
|
-
xs: 2,
|
|
1846
|
-
md: 1,
|
|
1847
|
-
lg: 0
|
|
1848
|
-
}
|
|
1849
|
-
},
|
|
1850
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.orderTicketInfoContainer,
|
|
1851
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("span", {
|
|
1852
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.orderTicketInfo,
|
|
1853
|
-
children: [t("orders.purchased"), ": ", (0,_utils__WEBPACK_IMPORTED_MODULE_8__.getFormattedDate)(order.created), " |", " ", t("order_summary.order_no"), ":", " ", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_OrderNumber__WEBPACK_IMPORTED_MODULE_10__["default"], {
|
|
1854
|
-
number: order.number,
|
|
1855
|
-
copy: true,
|
|
1856
|
-
truncated: true
|
|
1857
|
-
})]
|
|
1858
|
-
}), isMobile && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__.Button, {
|
|
1859
|
-
sx: {
|
|
1860
|
-
padding: 0
|
|
1861
|
-
},
|
|
1862
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.blackButton,
|
|
1863
|
-
onClick: () => setMobileViewable(!isMobileViewable),
|
|
1864
|
-
children: isMobileViewable ? t("ticket_status.hide_tickets") : t("ticket_status.view_tickets")
|
|
1865
|
-
})]
|
|
1866
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__.Grid, {
|
|
1867
|
-
container: true,
|
|
1868
|
-
rowSpacing: 1,
|
|
1869
|
-
columnSpacing: {
|
|
1870
|
-
xs: 1,
|
|
1871
|
-
sm: 2,
|
|
1872
|
-
md: 3
|
|
1873
|
-
},
|
|
1874
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.orderTicketContainer} ${isMobile && !isMobileViewable ? _styles_module_scss__WEBPACK_IMPORTED_MODULE_11__.display_none : ""}`,
|
|
1875
|
-
sx: {
|
|
1876
|
-
flexDirection: {
|
|
1877
|
-
md: "row",
|
|
1878
|
-
lg: "row"
|
|
1879
|
-
},
|
|
1880
|
-
padding: {
|
|
1881
|
-
xs: 2,
|
|
1882
|
-
md: 0,
|
|
1883
|
-
lg: 0
|
|
1884
|
-
}
|
|
1885
|
-
},
|
|
1886
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_OrdersListDesktopMobile__WEBPACK_IMPORTED_MODULE_12__["default"], {
|
|
1887
|
-
isMobile: isMobile,
|
|
1888
|
-
summit: summit,
|
|
1889
|
-
order: order,
|
|
1890
|
-
tickets: (0,_utils__WEBPACK_IMPORTED_MODULE_8__.getOrderTickets)(memberOrders, order.id),
|
|
1891
|
-
total: order.tickets_total,
|
|
1892
|
-
detailsRequired: detailsRequired,
|
|
1893
|
-
onPaginateClick: onPaginateClick
|
|
1894
|
-
})
|
|
1895
|
-
}, order.id)]
|
|
1896
|
-
});
|
|
1897
|
-
}
|
|
1898
|
-
OrdersList.propTypes = {
|
|
1899
|
-
summit: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
|
|
1900
|
-
order: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object)
|
|
1901
|
-
};
|
|
1902
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrdersList);
|
|
1903
|
-
|
|
1904
|
-
/***/ }),
|
|
1905
|
-
|
|
1906
|
-
/***/ "./src/components/TicketStatus/index.js":
|
|
1907
|
-
/*!**********************************************!*\
|
|
1908
|
-
!*** ./src/components/TicketStatus/index.js ***!
|
|
1909
|
-
\**********************************************/
|
|
1910
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1911
|
-
|
|
1912
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1913
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1914
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1915
|
-
/* harmony export */ });
|
|
1916
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
1917
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1918
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
1919
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
1920
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
1921
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_2__);
|
|
1922
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
1923
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_3__);
|
|
1924
|
-
/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./styles.module.scss */ "./src/components/TicketStatus/styles.module.scss");
|
|
1925
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
1926
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
function TicketStatus(_ref) {
|
|
1934
|
-
let {
|
|
1935
|
-
ticket
|
|
1936
|
-
} = _ref;
|
|
1937
|
-
const {
|
|
1938
|
-
t
|
|
1939
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.useTranslation)();
|
|
1940
|
-
const isActive = ticket.is_active;
|
|
1941
|
-
const refund_requests = ticket.refund_requests.find(r => r.status === "Requested");
|
|
1942
|
-
const ticket_status_incomplete = ticket.owner?.status === "Incomplete";
|
|
1943
|
-
const ticket_unassigned = ticket.owner_id === 0;
|
|
1944
|
-
const ticket_complete = ticket.owner && ticket.owner?.status === "Complete";
|
|
1945
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Container, {
|
|
1946
|
-
className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.ticketStatusContainer,
|
|
1947
|
-
children: isActive ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
|
|
1948
|
-
children: [refund_requests && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1949
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonPill} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonRefundRequested}`,
|
|
1950
|
-
children: t("ticket_status.status_refund_requested")
|
|
1951
|
-
}), ticket_status_incomplete && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1952
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonPill} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonIncomplete}`,
|
|
1953
|
-
children: t("ticket_status.status_incomplete")
|
|
1954
|
-
}), ticket_unassigned && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1955
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonPill} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonUnassigned}`,
|
|
1956
|
-
children: t("ticket_status.status_unassigned")
|
|
1957
|
-
}), ticket_complete && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1958
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonPill} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonComplete}`,
|
|
1959
|
-
children: t("ticket_status.status_complete")
|
|
1960
|
-
})]
|
|
1961
|
-
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__.Button, {
|
|
1962
|
-
className: `${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonPill} ${_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__.buttonCancelled}`,
|
|
1963
|
-
children: t("ticket_status.status_cancelled")
|
|
1964
|
-
})
|
|
1965
|
-
});
|
|
1966
|
-
}
|
|
1967
|
-
TicketStatus.propTypes = {
|
|
1968
|
-
ticket: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1969
|
-
owner: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
|
|
1970
|
-
status: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
1971
|
-
}),
|
|
1972
|
-
refund_requests: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(Object)
|
|
1973
|
-
})
|
|
1974
|
-
};
|
|
1975
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TicketStatus);
|
|
1976
|
-
|
|
1977
|
-
/***/ }),
|
|
1978
|
-
|
|
1979
|
-
/***/ "./src/reducer.js":
|
|
1980
|
-
/*!************************!*\
|
|
1981
|
-
!*** ./src/reducer.js ***!
|
|
1982
|
-
\************************/
|
|
1983
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1984
|
-
|
|
1985
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1986
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1987
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1988
|
-
/* harmony export */ });
|
|
1989
|
-
/* harmony import */ var openstack_uicore_foundation_lib_security_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! openstack-uicore-foundation/lib/security/actions */ "openstack-uicore-foundation/lib/security/actions");
|
|
1990
|
-
/* harmony import */ var openstack_uicore_foundation_lib_security_actions__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(openstack_uicore_foundation_lib_security_actions__WEBPACK_IMPORTED_MODULE_0__);
|
|
1991
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/actions.js");
|
|
1992
|
-
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/constants */ "./src/utils/constants.js");
|
|
1993
|
-
/**
|
|
1994
|
-
* Copyright 2024 OpenStack Foundation
|
|
1995
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1996
|
-
* you may not use this file except in compliance with the License.
|
|
1997
|
-
* You may obtain a copy of the License at
|
|
1998
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1999
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2000
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2001
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2002
|
-
* See the License for the specific language governing permissions and
|
|
2003
|
-
* limitations under the License.
|
|
2004
|
-
* */
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
const DEFAULT_STATE = {
|
|
2009
|
-
summit: null,
|
|
2010
|
-
user: {},
|
|
2011
|
-
widgetLoading: false,
|
|
2012
|
-
memberOrders: [],
|
|
2013
|
-
errors: {},
|
|
2014
|
-
loading: false,
|
|
2015
|
-
isOrderLoading: false,
|
|
2016
|
-
orders_current_page: 1,
|
|
2017
|
-
orders_last_page: 1,
|
|
2018
|
-
orders_per_page: 5,
|
|
2019
|
-
orders_total: 0,
|
|
2020
|
-
ticket_current_page: 1,
|
|
2021
|
-
ticket_last_page: 1,
|
|
2022
|
-
ticket_per_page: 5,
|
|
2023
|
-
ticket_total: 0
|
|
2024
|
-
};
|
|
2025
|
-
const WidgetReducer = function () {
|
|
2026
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
|
|
2027
|
-
let {
|
|
2028
|
-
type,
|
|
2029
|
-
payload
|
|
2030
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2031
|
-
switch (type) {
|
|
2032
|
-
case openstack_uicore_foundation_lib_security_actions__WEBPACK_IMPORTED_MODULE_0__.LOGOUT_USER:
|
|
2033
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.RESET_STATE:
|
|
2034
|
-
return DEFAULT_STATE;
|
|
2035
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.RESET_FILTER:
|
|
2036
|
-
return {
|
|
2037
|
-
...state,
|
|
2038
|
-
orders_current_page: 1,
|
|
2039
|
-
orders_last_page: 1
|
|
2040
|
-
};
|
|
2041
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.SET_SUMMIT:
|
|
2042
|
-
return {
|
|
2043
|
-
...state,
|
|
2044
|
-
summit: payload
|
|
2045
|
-
};
|
|
2046
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.SET_USER:
|
|
2047
|
-
return {
|
|
2048
|
-
...state,
|
|
2049
|
-
user: payload
|
|
2050
|
-
};
|
|
2051
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.GET_USER_ORDERS:
|
|
2052
|
-
{
|
|
2053
|
-
const {
|
|
2054
|
-
memberOrders
|
|
2055
|
-
} = state;
|
|
2056
|
-
const {
|
|
2057
|
-
data,
|
|
2058
|
-
total,
|
|
2059
|
-
current_page
|
|
2060
|
-
} = payload.response;
|
|
2061
|
-
return {
|
|
2062
|
-
...state,
|
|
2063
|
-
memberOrders: current_page === _utils_constants__WEBPACK_IMPORTED_MODULE_2__.FIRST_PAGE ? data : [...memberOrders, ...data],
|
|
2064
|
-
orders_total: total,
|
|
2065
|
-
orders_current_page: current_page
|
|
2066
|
-
};
|
|
2067
|
-
}
|
|
2068
|
-
case _actions__WEBPACK_IMPORTED_MODULE_1__.GET_TICKETS_BY_ORDER:
|
|
2069
|
-
{
|
|
2070
|
-
const {
|
|
2071
|
-
memberOrders
|
|
2072
|
-
} = state;
|
|
2073
|
-
const {
|
|
2074
|
-
data,
|
|
2075
|
-
total,
|
|
2076
|
-
current_page,
|
|
2077
|
-
last_page
|
|
2078
|
-
} = payload.response;
|
|
2079
|
-
const formerOrder = memberOrders.find(o => o.id === data[0]?.order_id);
|
|
2080
|
-
const updatedOrder = {
|
|
2081
|
-
...formerOrder,
|
|
2082
|
-
memberTickets: current_page === _utils_constants__WEBPACK_IMPORTED_MODULE_2__.FIRST_PAGE ? data : [...formerOrder.memberTickets, ...data],
|
|
2083
|
-
tickets_page_current: current_page,
|
|
2084
|
-
tickets_page_last: last_page,
|
|
2085
|
-
tickets_total: total
|
|
2086
|
-
};
|
|
2087
|
-
return {
|
|
2088
|
-
...state,
|
|
2089
|
-
memberOrders: memberOrders.map(mo => mo.id === updatedOrder.id ? updatedOrder : mo)
|
|
2090
|
-
};
|
|
2091
|
-
}
|
|
2092
|
-
default:
|
|
2093
|
-
return state;
|
|
2094
|
-
}
|
|
2095
|
-
};
|
|
2096
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WidgetReducer);
|
|
2097
|
-
|
|
2098
|
-
/***/ }),
|
|
2099
|
-
|
|
2100
|
-
/***/ "./src/store.js":
|
|
2101
|
-
/*!**********************!*\
|
|
2102
|
-
!*** ./src/store.js ***!
|
|
2103
|
-
\**********************/
|
|
2104
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2105
|
-
|
|
2106
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2107
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2108
|
-
/* harmony export */ getStore: () => (/* binding */ getStore),
|
|
2109
|
-
/* harmony export */ useInitStore: () => (/* binding */ useInitStore)
|
|
2110
|
-
/* harmony export */ });
|
|
2111
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
2112
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2113
|
-
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @reduxjs/toolkit */ "@reduxjs/toolkit");
|
|
2114
|
-
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__);
|
|
2115
|
-
/* harmony import */ var redux_persist__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux-persist */ "redux-persist");
|
|
2116
|
-
/* harmony import */ var redux_persist__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(redux_persist__WEBPACK_IMPORTED_MODULE_2__);
|
|
2117
|
-
/* harmony import */ var redux_persist_lib_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-persist/lib/storage */ "redux-persist/lib/storage");
|
|
2118
|
-
/* harmony import */ var redux_persist_lib_storage__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(redux_persist_lib_storage__WEBPACK_IMPORTED_MODULE_3__);
|
|
2119
|
-
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! redux */ "redux");
|
|
2120
|
-
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_4__);
|
|
2121
|
-
/* harmony import */ var _reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reducer */ "./src/reducer.js");
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
const getStore = _ref => {
|
|
2129
|
-
let {
|
|
2130
|
-
clientId,
|
|
2131
|
-
loginUrl,
|
|
2132
|
-
summit,
|
|
2133
|
-
apiBaseUrl
|
|
2134
|
-
} = _ref;
|
|
2135
|
-
// to add other reducers later
|
|
2136
|
-
const reducers = (0,redux__WEBPACK_IMPORTED_MODULE_4__.combineReducers)({
|
|
2137
|
-
widgetState: _reducer__WEBPACK_IMPORTED_MODULE_5__["default"]
|
|
2138
|
-
});
|
|
2139
|
-
const store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__.configureStore)({
|
|
2140
|
-
reducer: (0,redux_persist__WEBPACK_IMPORTED_MODULE_2__.persistReducer)({
|
|
2141
|
-
key: `root_my_orders_tickets_${clientId}`,
|
|
2142
|
-
storage: (redux_persist_lib_storage__WEBPACK_IMPORTED_MODULE_3___default())
|
|
2143
|
-
}, reducers),
|
|
2144
|
-
middleware: getDefaultMiddleware => getDefaultMiddleware({
|
|
2145
|
-
thunk: {
|
|
2146
|
-
extraArgument: {
|
|
2147
|
-
clientId,
|
|
2148
|
-
apiBaseUrl,
|
|
2149
|
-
summit,
|
|
2150
|
-
loginUrl
|
|
2151
|
-
}
|
|
2152
|
-
},
|
|
2153
|
-
immutableCheck: false,
|
|
2154
|
-
serializableCheck: {
|
|
2155
|
-
ignoredActions: [redux_persist__WEBPACK_IMPORTED_MODULE_2__.FLUSH, redux_persist__WEBPACK_IMPORTED_MODULE_2__.REHYDRATE, redux_persist__WEBPACK_IMPORTED_MODULE_2__.PAUSE, redux_persist__WEBPACK_IMPORTED_MODULE_2__.PERSIST, redux_persist__WEBPACK_IMPORTED_MODULE_2__.PURGE, redux_persist__WEBPACK_IMPORTED_MODULE_2__.REGISTER]
|
|
2156
|
-
}
|
|
2157
|
-
})
|
|
2158
|
-
});
|
|
2159
|
-
return store;
|
|
2160
|
-
};
|
|
2161
|
-
const useInitStore = config => {
|
|
2162
|
-
const store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => getStore(config), []);
|
|
2163
|
-
const persistor = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,redux_persist__WEBPACK_IMPORTED_MODULE_2__.persistStore)(store), [store]);
|
|
2164
|
-
return {
|
|
2165
|
-
store,
|
|
2166
|
-
persistor
|
|
2167
|
-
};
|
|
2168
|
-
};
|
|
2169
|
-
|
|
2170
|
-
/***/ }),
|
|
2171
|
-
|
|
2172
|
-
/***/ "./src/utils/auth.js":
|
|
2173
|
-
/*!***************************!*\
|
|
2174
|
-
!*** ./src/utils/auth.js ***!
|
|
2175
|
-
\***************************/
|
|
2176
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2177
|
-
|
|
2178
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2179
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2180
|
-
/* harmony export */ getAccessTokenSafely: () => (/* binding */ getAccessTokenSafely)
|
|
2181
|
-
/* harmony export */ });
|
|
2182
|
-
/* harmony import */ var openstack_uicore_foundation_lib_security_methods__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! openstack-uicore-foundation/lib/security/methods */ "openstack-uicore-foundation/lib/security/methods");
|
|
2183
|
-
/* harmony import */ var openstack_uicore_foundation_lib_security_methods__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(openstack_uicore_foundation_lib_security_methods__WEBPACK_IMPORTED_MODULE_0__);
|
|
2184
|
-
/* harmony import */ var _sentry_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/react */ "@sentry/react");
|
|
2185
|
-
/* harmony import */ var _sentry_react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_sentry_react__WEBPACK_IMPORTED_MODULE_1__);
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
const getAccessTokenSafely = async () => {
|
|
2189
|
-
try {
|
|
2190
|
-
return await (0,openstack_uicore_foundation_lib_security_methods__WEBPACK_IMPORTED_MODULE_0__.getAccessToken)();
|
|
2191
|
-
} catch (e) {
|
|
2192
|
-
console.log("my-orders-tickets-widge:: getAccessTokenSafely error: ", e);
|
|
2193
|
-
_sentry_react__WEBPACK_IMPORTED_MODULE_1__.captureException(e);
|
|
2194
|
-
(0,openstack_uicore_foundation_lib_security_methods__WEBPACK_IMPORTED_MODULE_0__.initLogOut)();
|
|
2195
|
-
return Promise.reject();
|
|
2196
|
-
}
|
|
2197
|
-
};
|
|
2198
|
-
|
|
2199
|
-
/***/ }),
|
|
2200
|
-
|
|
2201
|
-
/***/ "./src/utils/constants.js":
|
|
2202
|
-
/*!********************************!*\
|
|
2203
|
-
!*** ./src/utils/constants.js ***!
|
|
2204
|
-
\********************************/
|
|
2205
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2206
|
-
|
|
2207
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2208
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2209
|
-
/* harmony export */ DEFAULT_ITEMS_PER_PAGE: () => (/* binding */ DEFAULT_ITEMS_PER_PAGE),
|
|
2210
|
-
/* harmony export */ FIRST_PAGE: () => (/* binding */ FIRST_PAGE),
|
|
2211
|
-
/* harmony export */ LAST_HOUR_OF_24_HOUR: () => (/* binding */ LAST_HOUR_OF_24_HOUR),
|
|
2212
|
-
/* harmony export */ LAST_MINUTE_OF_HOUR: () => (/* binding */ LAST_MINUTE_OF_HOUR),
|
|
2213
|
-
/* harmony export */ MILLISEC_TO_SEC: () => (/* binding */ MILLISEC_TO_SEC),
|
|
2214
|
-
/* harmony export */ ONE_DAY: () => (/* binding */ ONE_DAY),
|
|
2215
|
-
/* harmony export */ ONE_PAGE_NEXT: () => (/* binding */ ONE_PAGE_NEXT),
|
|
2216
|
-
/* harmony export */ PAGINATION_DISPLAY_COUNT: () => (/* binding */ PAGINATION_DISPLAY_COUNT)
|
|
2217
|
-
/* harmony export */ });
|
|
2218
|
-
const LAST_HOUR_OF_24_HOUR = 23;
|
|
2219
|
-
const LAST_MINUTE_OF_HOUR = 59;
|
|
2220
|
-
const ONE_PAGE_NEXT = 1;
|
|
2221
|
-
const MILLISEC_TO_SEC = 1000;
|
|
2222
|
-
const ONE_DAY = 1;
|
|
2223
|
-
const DEFAULT_ITEMS_PER_PAGE = 5;
|
|
2224
|
-
const FIRST_PAGE = 1;
|
|
2225
|
-
const PAGINATION_DISPLAY_COUNT = 3;
|
|
2226
|
-
|
|
2227
|
-
/***/ }),
|
|
2228
|
-
|
|
2229
|
-
/***/ "./src/utils/index.js":
|
|
2230
|
-
/*!****************************!*\
|
|
2231
|
-
!*** ./src/utils/index.js ***!
|
|
2232
|
-
\****************************/
|
|
2233
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2234
|
-
|
|
2235
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2236
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2237
|
-
/* harmony export */ calculateOrderTotals: () => (/* binding */ calculateOrderTotals),
|
|
2238
|
-
/* harmony export */ defaultCurrentTime: () => (/* binding */ defaultCurrentTime),
|
|
2239
|
-
/* harmony export */ formatCurrency: () => (/* binding */ formatCurrency),
|
|
2240
|
-
/* harmony export */ getEpochLowerUpperInSeconds: () => (/* binding */ getEpochLowerUpperInSeconds),
|
|
2241
|
-
/* harmony export */ getFormattedDate: () => (/* binding */ getFormattedDate),
|
|
2242
|
-
/* harmony export */ getNow: () => (/* binding */ getNow),
|
|
2243
|
-
/* harmony export */ getOrderTickets: () => (/* binding */ getOrderTickets),
|
|
2244
|
-
/* harmony export */ getSummitFormattedDate: () => (/* binding */ getSummitFormattedDate),
|
|
2245
|
-
/* harmony export */ getSummitReassignDate: () => (/* binding */ getSummitReassignDate),
|
|
2246
|
-
/* harmony export */ useNow: () => (/* binding */ useNow)
|
|
2247
|
-
/* harmony export */ });
|
|
2248
|
-
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment-timezone */ "moment-timezone");
|
|
2249
|
-
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_0__);
|
|
2250
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
2251
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
2252
|
-
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/utils/constants.js");
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
const formatCurrency = (value, _ref) => {
|
|
2257
|
-
let {
|
|
2258
|
-
locale = "en-US",
|
|
2259
|
-
...options
|
|
2260
|
-
} = _ref;
|
|
2261
|
-
const defaultOptions = {
|
|
2262
|
-
currency: "USD",
|
|
2263
|
-
minimumFractionDigits: 2,
|
|
2264
|
-
maximumFractionDigits: 2
|
|
2265
|
-
};
|
|
2266
|
-
const formatter = new Intl.NumberFormat(locale, {
|
|
2267
|
-
style: "currency",
|
|
2268
|
-
...defaultOptions,
|
|
2269
|
-
...options
|
|
2270
|
-
});
|
|
2271
|
-
return formatter.format(value);
|
|
2272
|
-
};
|
|
2273
|
-
const getFormattedDate = (datetime, timeZone) => {
|
|
2274
|
-
if (timeZone) return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().tz(datetime * _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC, timeZone).format("MMMM DD, YYYY");
|
|
2275
|
-
return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().unix(datetime).format("MMMM DD, YYYY");
|
|
2276
|
-
};
|
|
2277
|
-
const getSummitFormattedDate = summit => {
|
|
2278
|
-
if (!summit) return null;
|
|
2279
|
-
const startDay = moment_timezone__WEBPACK_IMPORTED_MODULE_0___default()(summit.start_date * _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC).tz(summit.time_zone_id);
|
|
2280
|
-
const endDay = moment_timezone__WEBPACK_IMPORTED_MODULE_0___default()(summit.end_date * _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC).tz(summit.time_zone_id);
|
|
2281
|
-
const days = endDay.diff(startDay, "days");
|
|
2282
|
-
let formatStartDate = "MMMM DD, YYYY";
|
|
2283
|
-
let formatEndDate = "MMMM DD, YYYY";
|
|
2284
|
-
if (startDay.year() === endDay.year()) formatStartDate = "MMMM DD";
|
|
2285
|
-
if (startDay.month() === endDay.month()) formatEndDate = "DD, YYYY";
|
|
2286
|
-
const startDate = startDay.format(formatStartDate);
|
|
2287
|
-
const endDate = endDay.format(formatEndDate);
|
|
2288
|
-
if (days > _constants__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY) return `${startDate} - ${endDate}`;
|
|
2289
|
-
return startDate;
|
|
2290
|
-
};
|
|
2291
|
-
const calculateOrderTotals = _ref2 => {
|
|
2292
|
-
let {
|
|
2293
|
-
order,
|
|
2294
|
-
summit,
|
|
2295
|
-
tickets
|
|
2296
|
-
} = _ref2;
|
|
2297
|
-
if (!order || !summit || !tickets) return {};
|
|
2298
|
-
const {
|
|
2299
|
-
refunded_amount,
|
|
2300
|
-
discount_amount,
|
|
2301
|
-
taxes_amount,
|
|
2302
|
-
amount
|
|
2303
|
-
} = order;
|
|
2304
|
-
const {
|
|
2305
|
-
ticket_types
|
|
2306
|
-
} = summit;
|
|
2307
|
-
const ticketSummary = [];
|
|
2308
|
-
let purchaseTicketTotal = 0;
|
|
2309
|
-
const currencyObject = {
|
|
2310
|
-
currency: order.currency
|
|
2311
|
-
};
|
|
2312
|
-
Object.keys(order.tickets_excerpt_by_ticket_type).map(ticket => {
|
|
2313
|
-
const ticketType = ticket_types.find(tt => tt.name === ticket);
|
|
2314
|
-
ticketSummary.push({
|
|
2315
|
-
ticket_type_id: ticketType.id,
|
|
2316
|
-
ticket_type: ticketType,
|
|
2317
|
-
name: ticket,
|
|
2318
|
-
qty: order.tickets_excerpt_by_ticket_type[ticket]
|
|
2319
|
-
});
|
|
2320
|
-
purchaseTicketTotal += ticketType.cost * order.tickets_excerpt_by_ticket_type[ticket];
|
|
2321
|
-
return ticketSummary;
|
|
2322
|
-
});
|
|
2323
|
-
const purchaseTotal = formatCurrency(purchaseTicketTotal, currencyObject);
|
|
2324
|
-
const discountTotal = formatCurrency(discount_amount, currencyObject);
|
|
2325
|
-
const refundTotal = formatCurrency(refunded_amount, currencyObject);
|
|
2326
|
-
const taxesTotal = formatCurrency(taxes_amount, currencyObject);
|
|
2327
|
-
const amountTotal = Object.prototype.hasOwnProperty.call(order, "amount") ? formatCurrency(amount, currencyObject) : formatCurrency(purchaseTotal, currencyObject);
|
|
2328
|
-
return {
|
|
2329
|
-
discountTotal,
|
|
2330
|
-
refundTotal,
|
|
2331
|
-
taxesTotal,
|
|
2332
|
-
amountTotal,
|
|
2333
|
-
ticketSummary
|
|
2334
|
-
};
|
|
2335
|
-
};
|
|
2336
|
-
const getOrderTickets = (memberOrders, orderId) => {
|
|
2337
|
-
const orders = memberOrders.filter(o => o.id === orderId);
|
|
2338
|
-
return orders[0]?.memberTickets;
|
|
2339
|
-
};
|
|
2340
|
-
const getEpochLowerUpperInSeconds = ts => {
|
|
2341
|
-
const lower = ts.setHours(0, 0, 0, 0) / _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC;
|
|
2342
|
-
const upper = ts.setHours(_constants__WEBPACK_IMPORTED_MODULE_2__.LAST_HOUR_OF_24_HOUR, _constants__WEBPACK_IMPORTED_MODULE_2__.LAST_MINUTE_OF_HOUR, 0, 0) / _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC;
|
|
2343
|
-
return {
|
|
2344
|
-
lower,
|
|
2345
|
-
upper
|
|
2346
|
-
};
|
|
2347
|
-
};
|
|
2348
|
-
const getSummitReassignDate = summit => {
|
|
2349
|
-
if (!summit) return null;
|
|
2350
|
-
return summit.reassign_ticket_till_date && summit.reassign_ticket_till_date < summit.end_date ? summit.reassign_ticket_till_date : summit.end_date;
|
|
2351
|
-
};
|
|
2352
|
-
const defaultCurrentTime = () => Math.round(+new Date() / _constants__WEBPACK_IMPORTED_MODULE_2__.MILLISEC_TO_SEC);
|
|
2353
|
-
const getNow = () => (dispatch, getState) => {
|
|
2354
|
-
const {
|
|
2355
|
-
timerState
|
|
2356
|
-
} = getState();
|
|
2357
|
-
return timerState?.nowUtc == null ? defaultCurrentTime() : timerState?.nowUtc;
|
|
2358
|
-
};
|
|
2359
|
-
const useNow = () => {
|
|
2360
|
-
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
|
|
2361
|
-
return dispatch(getNow());
|
|
2362
|
-
};
|
|
2363
|
-
|
|
2364
|
-
/***/ }),
|
|
2365
|
-
|
|
2366
|
-
/***/ "./src/components/FilterSortSearch/styles.module.scss":
|
|
2367
|
-
/*!************************************************************!*\
|
|
2368
|
-
!*** ./src/components/FilterSortSearch/styles.module.scss ***!
|
|
2369
|
-
\************************************************************/
|
|
2370
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2371
|
-
|
|
2372
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2373
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2374
|
-
/* harmony export */ "MuiOutlinedInput-notchedOutline": () => (/* binding */ _1),
|
|
2375
|
-
/* harmony export */ "MuiPickersCalendarHeader-labelContainer": () => (/* binding */ _2),
|
|
2376
|
-
/* harmony export */ calendarDisplay: () => (/* binding */ _3),
|
|
2377
|
-
/* harmony export */ container: () => (/* binding */ _4),
|
|
2378
|
-
/* harmony export */ datePickerContainer: () => (/* binding */ _5),
|
|
2379
|
-
/* harmony export */ datepickerClose: () => (/* binding */ _6),
|
|
2380
|
-
/* harmony export */ filterContainer: () => (/* binding */ _7),
|
|
2381
|
-
/* harmony export */ filterDateLabel: () => (/* binding */ _8),
|
|
2382
|
-
/* harmony export */ filterIcon: () => (/* binding */ _9),
|
|
2383
|
-
/* harmony export */ filterLabel: () => (/* binding */ _a),
|
|
2384
|
-
/* harmony export */ filterListContainer: () => (/* binding */ _b),
|
|
2385
|
-
/* harmony export */ filterNumActive: () => (/* binding */ _c),
|
|
2386
|
-
/* harmony export */ filterSortContainer: () => (/* binding */ _d),
|
|
2387
|
-
/* harmony export */ label: () => (/* binding */ _e),
|
|
2388
|
-
/* harmony export */ showDatePicker: () => (/* binding */ _f),
|
|
2389
|
-
/* harmony export */ sortContainer: () => (/* binding */ _10),
|
|
2390
|
-
/* harmony export */ sortIcon: () => (/* binding */ _11),
|
|
2391
|
-
/* harmony export */ sortLabel: () => (/* binding */ _12),
|
|
2392
|
-
/* harmony export */ sortListContainer: () => (/* binding */ _13)
|
|
2393
|
-
/* harmony export */ });
|
|
2394
|
-
// extracted by mini-css-extract-plugin
|
|
2395
|
-
var _1 = "MuiOutlinedInput-notchedOutline___RoimR";
|
|
2396
|
-
var _2 = "MuiPickersCalendarHeader-labelContainer___ooI0V";
|
|
2397
|
-
var _3 = "calendarDisplay___im_jh";
|
|
2398
|
-
var _4 = "container___N3Y4X";
|
|
2399
|
-
var _5 = "datePickerContainer___JW2lO";
|
|
2400
|
-
var _6 = "datepickerClose___V9gHC";
|
|
2401
|
-
var _7 = "filterContainer___rGpYV";
|
|
2402
|
-
var _8 = "filterDateLabel___ifD4p";
|
|
2403
|
-
var _9 = "filterIcon___l21KI";
|
|
2404
|
-
var _a = "filterLabel____P0wn";
|
|
2405
|
-
var _b = "filterListContainer___VmdGq";
|
|
2406
|
-
var _c = "filterNumActive___VuHCJ";
|
|
2407
|
-
var _d = "filterSortContainer___arBvQ";
|
|
2408
|
-
var _e = "label___yNFyj";
|
|
2409
|
-
var _f = "showDatePicker___UpQbp";
|
|
2410
|
-
var _10 = "sortContainer___lRsjU";
|
|
2411
|
-
var _11 = "sortIcon___fVV5K";
|
|
2412
|
-
var _12 = "sortLabel___UqLTC";
|
|
2413
|
-
var _13 = "sortListContainer___cmnBD";
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
/***/ }),
|
|
2418
|
-
|
|
2419
|
-
/***/ "./src/components/OrderSummary/styles.module.scss":
|
|
2420
|
-
/*!********************************************************!*\
|
|
2421
|
-
!*** ./src/components/OrderSummary/styles.module.scss ***!
|
|
2422
|
-
\********************************************************/
|
|
2423
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2424
|
-
|
|
2425
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2426
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2427
|
-
/* harmony export */ orderDetailsMmount: () => (/* binding */ _1),
|
|
2428
|
-
/* harmony export */ orderDetailsTickets: () => (/* binding */ _2),
|
|
2429
|
-
/* harmony export */ orderOrderNumber: () => (/* binding */ _3),
|
|
2430
|
-
/* harmony export */ orderSummaryButton: () => (/* binding */ _4),
|
|
2431
|
-
/* harmony export */ orderSummaryPurchasedInfo: () => (/* binding */ _5),
|
|
2432
|
-
/* harmony export */ orderSummaryPurchasedNumber: () => (/* binding */ _6),
|
|
2433
|
-
/* harmony export */ orderSummaryTable: () => (/* binding */ _7),
|
|
2434
|
-
/* harmony export */ orderSummaryWrapper: () => (/* binding */ _8)
|
|
2435
|
-
/* harmony export */ });
|
|
2436
|
-
// extracted by mini-css-extract-plugin
|
|
2437
|
-
var _1 = "orderDetailsMmount___r3kRA";
|
|
2438
|
-
var _2 = "orderDetailsTickets___m4IjK";
|
|
2439
|
-
var _3 = "orderOrderNumber___RqCbC";
|
|
2440
|
-
var _4 = "orderSummaryButton___uxjht";
|
|
2441
|
-
var _5 = "orderSummaryPurchasedInfo____RBXE";
|
|
2442
|
-
var _6 = "orderSummaryPurchasedNumber___pqy_I";
|
|
2443
|
-
var _7 = "orderSummaryTable___YDnxV";
|
|
2444
|
-
var _8 = "orderSummaryWrapper___RwIER";
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
/***/ }),
|
|
2449
|
-
|
|
2450
|
-
/***/ "./src/components/OrdersList/styles.module.scss":
|
|
2451
|
-
/*!******************************************************!*\
|
|
2452
|
-
!*** ./src/components/OrdersList/styles.module.scss ***!
|
|
2453
|
-
\******************************************************/
|
|
2454
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2455
|
-
|
|
2456
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2457
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2458
|
-
/* harmony export */ assignTicketButton: () => (/* binding */ _1),
|
|
2459
|
-
/* harmony export */ blackButton: () => (/* binding */ _2),
|
|
2460
|
-
/* harmony export */ copyIcon: () => (/* binding */ _3),
|
|
2461
|
-
/* harmony export */ detailsRequiredLabel: () => (/* binding */ _4),
|
|
2462
|
-
/* harmony export */ display_none: () => (/* binding */ _5),
|
|
2463
|
-
/* harmony export */ label: () => (/* binding */ _6),
|
|
2464
|
-
/* harmony export */ orderTicketContainer: () => (/* binding */ _7),
|
|
2465
|
-
/* harmony export */ orderTicketInfo: () => (/* binding */ _8),
|
|
2466
|
-
/* harmony export */ orderTicketInfoContainer: () => (/* binding */ _9),
|
|
2467
|
-
/* harmony export */ orderTicketNoContainer: () => (/* binding */ _a),
|
|
2468
|
-
/* harmony export */ orderTicketNumberTruncated: () => (/* binding */ _b),
|
|
2469
|
-
/* harmony export */ orderWrapper: () => (/* binding */ _c),
|
|
2470
|
-
/* harmony export */ reassignButton: () => (/* binding */ _d),
|
|
2471
|
-
/* harmony export */ tabButtons: () => (/* binding */ _e),
|
|
2472
|
-
/* harmony export */ ticketActionButtons: () => (/* binding */ _f),
|
|
2473
|
-
/* harmony export */ ticketListContainer: () => (/* binding */ _10),
|
|
2474
|
-
/* harmony export */ ticketNo: () => (/* binding */ _11),
|
|
2475
|
-
/* harmony export */ ticketOwnerEmail: () => (/* binding */ _12),
|
|
2476
|
-
/* harmony export */ ticketTicketType: () => (/* binding */ _13),
|
|
2477
|
-
/* harmony export */ viewFinishTicketButton: () => (/* binding */ _14),
|
|
2478
|
-
/* harmony export */ viewMoreButton: () => (/* binding */ _15)
|
|
2479
|
-
/* harmony export */ });
|
|
2480
|
-
// extracted by mini-css-extract-plugin
|
|
2481
|
-
var _1 = "assignTicketButton___zzLsc";
|
|
2482
|
-
var _2 = "blackButton___l9hj9";
|
|
2483
|
-
var _3 = "copyIcon___NkHGO";
|
|
2484
|
-
var _4 = "detailsRequiredLabel___Y2kor";
|
|
2485
|
-
var _5 = "display_none___CqpL3";
|
|
2486
|
-
var _6 = "label___zXDWz";
|
|
2487
|
-
var _7 = "orderTicketContainer___ZJLzk";
|
|
2488
|
-
var _8 = "orderTicketInfo___gemqB";
|
|
2489
|
-
var _9 = "orderTicketInfoContainer____p66V";
|
|
2490
|
-
var _a = "orderTicketNoContainer___vqohN";
|
|
2491
|
-
var _b = "orderTicketNumberTruncated___HXmdw";
|
|
2492
|
-
var _c = "orderWrapper___yDBAo";
|
|
2493
|
-
var _d = "reassignButton___RojM5";
|
|
2494
|
-
var _e = "tabButtons___xTyJA";
|
|
2495
|
-
var _f = "ticketActionButtons___rpSMQ";
|
|
2496
|
-
var _10 = "ticketListContainer___cfmrr";
|
|
2497
|
-
var _11 = "ticketNo___a2iM9";
|
|
2498
|
-
var _12 = "ticketOwnerEmail___Zt4OE";
|
|
2499
|
-
var _13 = "ticketTicketType___Zq_f0";
|
|
2500
|
-
var _14 = "viewFinishTicketButton___HF6Im";
|
|
2501
|
-
var _15 = "viewMoreButton___K_1zT";
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
/***/ }),
|
|
2506
|
-
|
|
2507
|
-
/***/ "./src/components/TicketStatus/styles.module.scss":
|
|
2508
|
-
/*!********************************************************!*\
|
|
2509
|
-
!*** ./src/components/TicketStatus/styles.module.scss ***!
|
|
2510
|
-
\********************************************************/
|
|
2511
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2512
|
-
|
|
2513
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2514
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2515
|
-
/* harmony export */ buttonCancelled: () => (/* binding */ _1),
|
|
2516
|
-
/* harmony export */ buttonComplete: () => (/* binding */ _2),
|
|
2517
|
-
/* harmony export */ buttonIncomplete: () => (/* binding */ _3),
|
|
2518
|
-
/* harmony export */ buttonPill: () => (/* binding */ _4),
|
|
2519
|
-
/* harmony export */ buttonRefundRequested: () => (/* binding */ _5),
|
|
2520
|
-
/* harmony export */ buttonUnassigned: () => (/* binding */ _6),
|
|
2521
|
-
/* harmony export */ ticketStatusContainer: () => (/* binding */ _7)
|
|
2522
|
-
/* harmony export */ });
|
|
2523
|
-
// extracted by mini-css-extract-plugin
|
|
2524
|
-
var _1 = "buttonCancelled___ErlDZ";
|
|
2525
|
-
var _2 = "buttonComplete___llWkZ";
|
|
2526
|
-
var _3 = "buttonIncomplete___TolHg";
|
|
2527
|
-
var _4 = "buttonPill___zq2tc";
|
|
2528
|
-
var _5 = "buttonRefundRequested___pWt30";
|
|
2529
|
-
var _6 = "buttonUnassigned___YDd8X";
|
|
2530
|
-
var _7 = "ticketStatusContainer___qj6fb";
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
/***/ }),
|
|
2535
|
-
|
|
2536
|
-
/***/ "./src/components/styles.module.scss":
|
|
2537
|
-
/*!*******************************************!*\
|
|
2538
|
-
!*** ./src/components/styles.module.scss ***!
|
|
2539
|
-
\*******************************************/
|
|
2540
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2541
|
-
|
|
2542
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2543
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2544
|
-
/* harmony export */ noOrdersFound: () => (/* binding */ _1),
|
|
2545
|
-
/* harmony export */ summitTitleDate: () => (/* binding */ _2),
|
|
2546
|
-
/* harmony export */ widgetHeader: () => (/* binding */ _3)
|
|
2547
|
-
/* harmony export */ });
|
|
2548
|
-
// extracted by mini-css-extract-plugin
|
|
2549
|
-
var _1 = "noOrdersFound___Aog2p";
|
|
2550
|
-
var _2 = "summitTitleDate___Z19Pm";
|
|
2551
|
-
var _3 = "widgetHeader___yY5ge";
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
/***/ }),
|
|
2556
|
-
|
|
2557
|
-
/***/ "@mui/icons-material/Close":
|
|
2558
|
-
/*!********************************************!*\
|
|
2559
|
-
!*** external "@mui/icons-material/Close" ***!
|
|
2560
|
-
\********************************************/
|
|
2561
|
-
/***/ ((module) => {
|
|
2562
|
-
|
|
2563
|
-
module.exports = require("@mui/icons-material/Close");
|
|
2564
|
-
|
|
2565
|
-
/***/ }),
|
|
2566
|
-
|
|
2567
|
-
/***/ "@mui/icons-material/ContentCopy":
|
|
2568
|
-
/*!**************************************************!*\
|
|
2569
|
-
!*** external "@mui/icons-material/ContentCopy" ***!
|
|
2570
|
-
\**************************************************/
|
|
2571
|
-
/***/ ((module) => {
|
|
2572
|
-
|
|
2573
|
-
module.exports = require("@mui/icons-material/ContentCopy");
|
|
2574
|
-
|
|
2575
|
-
/***/ }),
|
|
2576
|
-
|
|
2577
|
-
/***/ "@mui/icons-material/Error":
|
|
2578
|
-
/*!********************************************!*\
|
|
2579
|
-
!*** external "@mui/icons-material/Error" ***!
|
|
2580
|
-
\********************************************/
|
|
2581
|
-
/***/ ((module) => {
|
|
2582
|
-
|
|
2583
|
-
module.exports = require("@mui/icons-material/Error");
|
|
2584
|
-
|
|
2585
|
-
/***/ }),
|
|
2586
|
-
|
|
2587
|
-
/***/ "@mui/icons-material/FilterList":
|
|
2588
|
-
/*!*************************************************!*\
|
|
2589
|
-
!*** external "@mui/icons-material/FilterList" ***!
|
|
2590
|
-
\*************************************************/
|
|
2591
|
-
/***/ ((module) => {
|
|
2592
|
-
|
|
2593
|
-
module.exports = require("@mui/icons-material/FilterList");
|
|
2594
|
-
|
|
2595
|
-
/***/ }),
|
|
2596
|
-
|
|
2597
|
-
/***/ "@mui/icons-material/ImportExport":
|
|
2598
|
-
/*!***************************************************!*\
|
|
2599
|
-
!*** external "@mui/icons-material/ImportExport" ***!
|
|
2600
|
-
\***************************************************/
|
|
2601
|
-
/***/ ((module) => {
|
|
2602
|
-
|
|
2603
|
-
module.exports = require("@mui/icons-material/ImportExport");
|
|
2604
|
-
|
|
2605
|
-
/***/ }),
|
|
2606
|
-
|
|
2607
|
-
/***/ "@mui/icons-material/Search":
|
|
2608
|
-
/*!*********************************************!*\
|
|
2609
|
-
!*** external "@mui/icons-material/Search" ***!
|
|
2610
|
-
\*********************************************/
|
|
2611
|
-
/***/ ((module) => {
|
|
2612
|
-
|
|
2613
|
-
module.exports = require("@mui/icons-material/Search");
|
|
2614
|
-
|
|
2615
|
-
/***/ }),
|
|
2616
|
-
|
|
2617
|
-
/***/ "@mui/material":
|
|
2618
|
-
/*!********************************!*\
|
|
2619
|
-
!*** external "@mui/material" ***!
|
|
2620
|
-
\********************************/
|
|
2621
|
-
/***/ ((module) => {
|
|
2622
|
-
|
|
2623
|
-
module.exports = require("@mui/material");
|
|
2624
|
-
|
|
2625
|
-
/***/ }),
|
|
2626
|
-
|
|
2627
|
-
/***/ "@mui/material/Divider":
|
|
2628
|
-
/*!****************************************!*\
|
|
2629
|
-
!*** external "@mui/material/Divider" ***!
|
|
2630
|
-
\****************************************/
|
|
2631
|
-
/***/ ((module) => {
|
|
2632
|
-
|
|
2633
|
-
module.exports = require("@mui/material/Divider");
|
|
2634
|
-
|
|
2635
|
-
/***/ }),
|
|
2636
|
-
|
|
2637
|
-
/***/ "@mui/material/InputBase":
|
|
2638
|
-
/*!******************************************!*\
|
|
2639
|
-
!*** external "@mui/material/InputBase" ***!
|
|
2640
|
-
\******************************************/
|
|
2641
|
-
/***/ ((module) => {
|
|
2642
|
-
|
|
2643
|
-
module.exports = require("@mui/material/InputBase");
|
|
2644
|
-
|
|
2645
|
-
/***/ }),
|
|
2646
|
-
|
|
2647
|
-
/***/ "@mui/material/Stack":
|
|
2648
|
-
/*!**************************************!*\
|
|
2649
|
-
!*** external "@mui/material/Stack" ***!
|
|
2650
|
-
\**************************************/
|
|
2651
|
-
/***/ ((module) => {
|
|
2652
|
-
|
|
2653
|
-
module.exports = require("@mui/material/Stack");
|
|
2654
|
-
|
|
2655
|
-
/***/ }),
|
|
2656
|
-
|
|
2657
|
-
/***/ "@mui/material/Tab":
|
|
2658
|
-
/*!************************************!*\
|
|
2659
|
-
!*** external "@mui/material/Tab" ***!
|
|
2660
|
-
\************************************/
|
|
2661
|
-
/***/ ((module) => {
|
|
2662
|
-
|
|
2663
|
-
module.exports = require("@mui/material/Tab");
|
|
2664
|
-
|
|
2665
|
-
/***/ }),
|
|
2666
|
-
|
|
2667
|
-
/***/ "@mui/material/Tabs":
|
|
2668
|
-
/*!*************************************!*\
|
|
2669
|
-
!*** external "@mui/material/Tabs" ***!
|
|
2670
|
-
\*************************************/
|
|
2671
|
-
/***/ ((module) => {
|
|
2672
|
-
|
|
2673
|
-
module.exports = require("@mui/material/Tabs");
|
|
2674
|
-
|
|
2675
|
-
/***/ }),
|
|
2676
|
-
|
|
2677
|
-
/***/ "@mui/material/styles":
|
|
2678
|
-
/*!***************************************!*\
|
|
2679
|
-
!*** external "@mui/material/styles" ***!
|
|
2680
|
-
\***************************************/
|
|
2681
|
-
/***/ ((module) => {
|
|
2682
|
-
|
|
2683
|
-
module.exports = require("@mui/material/styles");
|
|
2684
|
-
|
|
2685
|
-
/***/ }),
|
|
2686
|
-
|
|
2687
|
-
/***/ "@mui/material/useMediaQuery":
|
|
2688
|
-
/*!**********************************************!*\
|
|
2689
|
-
!*** external "@mui/material/useMediaQuery" ***!
|
|
2690
|
-
\**********************************************/
|
|
2691
|
-
/***/ ((module) => {
|
|
2692
|
-
|
|
2693
|
-
module.exports = require("@mui/material/useMediaQuery");
|
|
2694
|
-
|
|
2695
|
-
/***/ }),
|
|
2696
|
-
|
|
2697
|
-
/***/ "@mui/x-date-pickers/AdapterDayjs":
|
|
2698
|
-
/*!***************************************************!*\
|
|
2699
|
-
!*** external "@mui/x-date-pickers/AdapterDayjs" ***!
|
|
2700
|
-
\***************************************************/
|
|
2701
|
-
/***/ ((module) => {
|
|
2702
|
-
|
|
2703
|
-
module.exports = require("@mui/x-date-pickers/AdapterDayjs");
|
|
2704
|
-
|
|
2705
|
-
/***/ }),
|
|
2706
|
-
|
|
2707
|
-
/***/ "@mui/x-date-pickers/DatePicker":
|
|
2708
|
-
/*!*************************************************!*\
|
|
2709
|
-
!*** external "@mui/x-date-pickers/DatePicker" ***!
|
|
2710
|
-
\*************************************************/
|
|
2711
|
-
/***/ ((module) => {
|
|
2712
|
-
|
|
2713
|
-
module.exports = require("@mui/x-date-pickers/DatePicker");
|
|
2714
|
-
|
|
2715
|
-
/***/ }),
|
|
2716
|
-
|
|
2717
|
-
/***/ "@mui/x-date-pickers/LocalizationProvider":
|
|
2718
|
-
/*!***********************************************************!*\
|
|
2719
|
-
!*** external "@mui/x-date-pickers/LocalizationProvider" ***!
|
|
2720
|
-
\***********************************************************/
|
|
2721
|
-
/***/ ((module) => {
|
|
2722
|
-
|
|
2723
|
-
module.exports = require("@mui/x-date-pickers/LocalizationProvider");
|
|
2724
|
-
|
|
2725
|
-
/***/ }),
|
|
2726
|
-
|
|
2727
|
-
/***/ "@reduxjs/toolkit":
|
|
2728
|
-
/*!***********************************!*\
|
|
2729
|
-
!*** external "@reduxjs/toolkit" ***!
|
|
2730
|
-
\***********************************/
|
|
2731
|
-
/***/ ((module) => {
|
|
2732
|
-
|
|
2733
|
-
module.exports = require("@reduxjs/toolkit");
|
|
2734
|
-
|
|
2735
|
-
/***/ }),
|
|
2736
|
-
|
|
2737
|
-
/***/ "@sentry/react":
|
|
2738
|
-
/*!********************************!*\
|
|
2739
|
-
!*** external "@sentry/react" ***!
|
|
2740
|
-
\********************************/
|
|
2741
|
-
/***/ ((module) => {
|
|
2742
|
-
|
|
2743
|
-
module.exports = require("@sentry/react");
|
|
2744
|
-
|
|
2745
|
-
/***/ }),
|
|
2746
|
-
|
|
2747
|
-
/***/ "dayjs":
|
|
2748
|
-
/*!************************!*\
|
|
2749
|
-
!*** external "dayjs" ***!
|
|
2750
|
-
\************************/
|
|
2751
|
-
/***/ ((module) => {
|
|
2752
|
-
|
|
2753
|
-
module.exports = require("dayjs");
|
|
2754
|
-
|
|
2755
|
-
/***/ }),
|
|
2756
|
-
|
|
2757
|
-
/***/ "moment-timezone":
|
|
2758
|
-
/*!**********************************!*\
|
|
2759
|
-
!*** external "moment-timezone" ***!
|
|
2760
|
-
\**********************************/
|
|
2761
|
-
/***/ ((module) => {
|
|
2762
|
-
|
|
2763
|
-
module.exports = require("moment-timezone");
|
|
2764
|
-
|
|
2765
|
-
/***/ }),
|
|
2766
|
-
|
|
2767
|
-
/***/ "openstack-uicore-foundation/lib/security/actions":
|
|
2768
|
-
/*!*******************************************************************!*\
|
|
2769
|
-
!*** external "openstack-uicore-foundation/lib/security/actions" ***!
|
|
2770
|
-
\*******************************************************************/
|
|
2771
|
-
/***/ ((module) => {
|
|
2772
|
-
|
|
2773
|
-
module.exports = require("openstack-uicore-foundation/lib/security/actions");
|
|
2774
|
-
|
|
2775
|
-
/***/ }),
|
|
2776
|
-
|
|
2777
|
-
/***/ "openstack-uicore-foundation/lib/security/methods":
|
|
2778
|
-
/*!*******************************************************************!*\
|
|
2779
|
-
!*** external "openstack-uicore-foundation/lib/security/methods" ***!
|
|
2780
|
-
\*******************************************************************/
|
|
2781
|
-
/***/ ((module) => {
|
|
2782
|
-
|
|
2783
|
-
module.exports = require("openstack-uicore-foundation/lib/security/methods");
|
|
2784
|
-
|
|
2785
|
-
/***/ }),
|
|
2786
|
-
|
|
2787
|
-
/***/ "openstack-uicore-foundation/lib/utils/actions":
|
|
2788
|
-
/*!****************************************************************!*\
|
|
2789
|
-
!*** external "openstack-uicore-foundation/lib/utils/actions" ***!
|
|
2790
|
-
\****************************************************************/
|
|
2791
|
-
/***/ ((module) => {
|
|
2792
|
-
|
|
2793
|
-
module.exports = require("openstack-uicore-foundation/lib/utils/actions");
|
|
2794
|
-
|
|
2795
|
-
/***/ }),
|
|
2796
|
-
|
|
2797
|
-
/***/ "prop-types":
|
|
2798
|
-
/*!*****************************!*\
|
|
2799
|
-
!*** external "prop-types" ***!
|
|
2800
|
-
\*****************************/
|
|
2801
|
-
/***/ ((module) => {
|
|
2802
|
-
|
|
2803
|
-
module.exports = require("prop-types");
|
|
2804
|
-
|
|
2805
|
-
/***/ }),
|
|
2806
|
-
|
|
2807
|
-
/***/ "react":
|
|
2808
|
-
/*!************************!*\
|
|
2809
|
-
!*** external "react" ***!
|
|
2810
|
-
\************************/
|
|
2811
|
-
/***/ ((module) => {
|
|
2812
|
-
|
|
2813
|
-
module.exports = require("react");
|
|
2814
|
-
|
|
2815
|
-
/***/ }),
|
|
2816
|
-
|
|
2817
|
-
/***/ "react-i18next":
|
|
2818
|
-
/*!********************************!*\
|
|
2819
|
-
!*** external "react-i18next" ***!
|
|
2820
|
-
\********************************/
|
|
2821
|
-
/***/ ((module) => {
|
|
2822
|
-
|
|
2823
|
-
module.exports = require("react-i18next");
|
|
2824
|
-
|
|
2825
|
-
/***/ }),
|
|
2826
|
-
|
|
2827
|
-
/***/ "react-infinite-scroll-component":
|
|
2828
|
-
/*!**************************************************!*\
|
|
2829
|
-
!*** external "react-infinite-scroll-component" ***!
|
|
2830
|
-
\**************************************************/
|
|
2831
|
-
/***/ ((module) => {
|
|
2832
|
-
|
|
2833
|
-
module.exports = require("react-infinite-scroll-component");
|
|
2834
|
-
|
|
2835
|
-
/***/ }),
|
|
2836
|
-
|
|
2837
|
-
/***/ "react-redux":
|
|
2838
|
-
/*!******************************!*\
|
|
2839
|
-
!*** external "react-redux" ***!
|
|
2840
|
-
\******************************/
|
|
2841
|
-
/***/ ((module) => {
|
|
2842
|
-
|
|
2843
|
-
module.exports = require("react-redux");
|
|
2844
|
-
|
|
2845
|
-
/***/ }),
|
|
2846
|
-
|
|
2847
|
-
/***/ "react/jsx-runtime":
|
|
2848
|
-
/*!************************************!*\
|
|
2849
|
-
!*** external "react/jsx-runtime" ***!
|
|
2850
|
-
\************************************/
|
|
2851
|
-
/***/ ((module) => {
|
|
2852
|
-
|
|
2853
|
-
module.exports = require("react/jsx-runtime");
|
|
2854
|
-
|
|
2855
|
-
/***/ }),
|
|
2856
|
-
|
|
2857
|
-
/***/ "redux":
|
|
2858
|
-
/*!************************!*\
|
|
2859
|
-
!*** external "redux" ***!
|
|
2860
|
-
\************************/
|
|
2861
|
-
/***/ ((module) => {
|
|
2862
|
-
|
|
2863
|
-
module.exports = require("redux");
|
|
2864
|
-
|
|
2865
|
-
/***/ }),
|
|
2866
|
-
|
|
2867
|
-
/***/ "redux-persist":
|
|
2868
|
-
/*!********************************!*\
|
|
2869
|
-
!*** external "redux-persist" ***!
|
|
2870
|
-
\********************************/
|
|
2871
|
-
/***/ ((module) => {
|
|
2872
|
-
|
|
2873
|
-
module.exports = require("redux-persist");
|
|
2874
|
-
|
|
2875
|
-
/***/ }),
|
|
2876
|
-
|
|
2877
|
-
/***/ "redux-persist/integration/react":
|
|
2878
|
-
/*!**************************************************!*\
|
|
2879
|
-
!*** external "redux-persist/integration/react" ***!
|
|
2880
|
-
\**************************************************/
|
|
2881
|
-
/***/ ((module) => {
|
|
2882
|
-
|
|
2883
|
-
module.exports = require("redux-persist/integration/react");
|
|
2884
|
-
|
|
2885
|
-
/***/ }),
|
|
2886
|
-
|
|
2887
|
-
/***/ "redux-persist/lib/storage":
|
|
2888
|
-
/*!********************************************!*\
|
|
2889
|
-
!*** external "redux-persist/lib/storage" ***!
|
|
2890
|
-
\********************************************/
|
|
2891
|
-
/***/ ((module) => {
|
|
2892
|
-
|
|
2893
|
-
module.exports = require("redux-persist/lib/storage");
|
|
2894
|
-
|
|
2895
|
-
/***/ })
|
|
2896
|
-
|
|
2897
|
-
/******/ });
|
|
2898
|
-
/************************************************************************/
|
|
2899
|
-
/******/ // The module cache
|
|
2900
|
-
/******/ var __webpack_module_cache__ = {};
|
|
2901
|
-
/******/
|
|
2902
|
-
/******/ // The require function
|
|
2903
|
-
/******/ function __webpack_require__(moduleId) {
|
|
2904
|
-
/******/ // Check if module is in cache
|
|
2905
|
-
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
2906
|
-
/******/ if (cachedModule !== undefined) {
|
|
2907
|
-
/******/ return cachedModule.exports;
|
|
2908
|
-
/******/ }
|
|
2909
|
-
/******/ // Create a new module (and put it into the cache)
|
|
2910
|
-
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
2911
|
-
/******/ // no module.id needed
|
|
2912
|
-
/******/ // no module.loaded needed
|
|
2913
|
-
/******/ exports: {}
|
|
2914
|
-
/******/ };
|
|
2915
|
-
/******/
|
|
2916
|
-
/******/ // Execute the module function
|
|
2917
|
-
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
2918
|
-
/******/
|
|
2919
|
-
/******/ // Return the exports of the module
|
|
2920
|
-
/******/ return module.exports;
|
|
2921
|
-
/******/ }
|
|
2922
|
-
/******/
|
|
2923
|
-
/************************************************************************/
|
|
2924
|
-
/******/ /* webpack/runtime/compat get default export */
|
|
2925
|
-
/******/ (() => {
|
|
2926
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
2927
|
-
/******/ __webpack_require__.n = (module) => {
|
|
2928
|
-
/******/ var getter = module && module.__esModule ?
|
|
2929
|
-
/******/ () => (module['default']) :
|
|
2930
|
-
/******/ () => (module);
|
|
2931
|
-
/******/ __webpack_require__.d(getter, { a: getter });
|
|
2932
|
-
/******/ return getter;
|
|
2933
|
-
/******/ };
|
|
2934
|
-
/******/ })();
|
|
2935
|
-
/******/
|
|
2936
|
-
/******/ /* webpack/runtime/define property getters */
|
|
2937
|
-
/******/ (() => {
|
|
2938
|
-
/******/ // define getter functions for harmony exports
|
|
2939
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
2940
|
-
/******/ for(var key in definition) {
|
|
2941
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
2942
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
2943
|
-
/******/ }
|
|
2944
|
-
/******/ }
|
|
2945
|
-
/******/ };
|
|
2946
|
-
/******/ })();
|
|
2947
|
-
/******/
|
|
2948
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
2949
|
-
/******/ (() => {
|
|
2950
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
2951
|
-
/******/ })();
|
|
2952
|
-
/******/
|
|
2953
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
2954
|
-
/******/ (() => {
|
|
2955
|
-
/******/ // define __esModule on exports
|
|
2956
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
2957
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
2958
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2959
|
-
/******/ }
|
|
2960
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
2961
|
-
/******/ };
|
|
2962
|
-
/******/ })();
|
|
2963
|
-
/******/
|
|
2964
|
-
/************************************************************************/
|
|
2965
|
-
var __webpack_exports__ = {};
|
|
2966
|
-
/*!*****************************************!*\
|
|
2967
|
-
!*** ./src/my-orders-tickets-widget.js ***!
|
|
2968
|
-
\*****************************************/
|
|
2969
|
-
__webpack_require__.r(__webpack_exports__);
|
|
2970
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2971
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2972
|
-
/* harmony export */ });
|
|
2973
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
2974
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2975
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
2976
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
2977
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "react-redux");
|
|
2978
|
-
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
|
|
2979
|
-
/* harmony import */ var redux_persist_integration_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-persist/integration/react */ "redux-persist/integration/react");
|
|
2980
|
-
/* harmony import */ var redux_persist_integration_react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(redux_persist_integration_react__WEBPACK_IMPORTED_MODULE_3__);
|
|
2981
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-i18next */ "react-i18next");
|
|
2982
|
-
/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_4__);
|
|
2983
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ "@mui/material");
|
|
2984
|
-
/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_5__);
|
|
2985
|
-
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./store */ "./src/store.js");
|
|
2986
|
-
/* harmony import */ var _components_MyOrdersTickets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/MyOrdersTickets */ "./src/components/MyOrdersTickets.js");
|
|
2987
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions */ "./src/actions.js");
|
|
2988
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
|
|
2989
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
|
|
2990
|
-
/**
|
|
2991
|
-
* Copyright 2024 OpenStack Foundation
|
|
2992
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2993
|
-
* you may not use this file except in compliance with the License.
|
|
2994
|
-
* You may obtain a copy of the License at
|
|
2995
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2996
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2997
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2998
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2999
|
-
* See the License for the specific language governing permissions and
|
|
3000
|
-
* limitations under the License.
|
|
3001
|
-
* */
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
function MyOrdersMyTicketsWidget(props) {
|
|
3013
|
-
const {
|
|
3014
|
-
loginUrl,
|
|
3015
|
-
supportEmail,
|
|
3016
|
-
summit,
|
|
3017
|
-
apiBaseUrl,
|
|
3018
|
-
user,
|
|
3019
|
-
clientId
|
|
3020
|
-
} = props;
|
|
3021
|
-
const {
|
|
3022
|
-
t
|
|
3023
|
-
} = (0,react_i18next__WEBPACK_IMPORTED_MODULE_4__.useTranslation)();
|
|
3024
|
-
const {
|
|
3025
|
-
store,
|
|
3026
|
-
persistor
|
|
3027
|
-
} = (0,_store__WEBPACK_IMPORTED_MODULE_6__.useInitStore)({
|
|
3028
|
-
loginUrl,
|
|
3029
|
-
supportEmail,
|
|
3030
|
-
summit,
|
|
3031
|
-
user,
|
|
3032
|
-
apiBaseUrl,
|
|
3033
|
-
clientId
|
|
3034
|
-
});
|
|
3035
|
-
const handleBeforeLift = () => {
|
|
3036
|
-
const params = new URLSearchParams(window.location.search);
|
|
3037
|
-
const flush = params.has("flushState");
|
|
3038
|
-
if (flush) store.dispatch({
|
|
3039
|
-
type: _actions__WEBPACK_IMPORTED_MODULE_8__.RESET_STATE,
|
|
3040
|
-
payload: null
|
|
3041
|
-
});
|
|
3042
|
-
};
|
|
3043
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
3044
|
-
store.dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_8__.setSummit)(summit));
|
|
3045
|
-
}, [summit]);
|
|
3046
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
3047
|
-
store.dispatch((0,_actions__WEBPACK_IMPORTED_MODULE_8__.setUser)(user));
|
|
3048
|
-
}, [user]);
|
|
3049
|
-
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_redux__WEBPACK_IMPORTED_MODULE_2__.Provider, {
|
|
3050
|
-
store: store,
|
|
3051
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(redux_persist_integration_react__WEBPACK_IMPORTED_MODULE_3__.PersistGate, {
|
|
3052
|
-
onBeforeLift: handleBeforeLift,
|
|
3053
|
-
loading: null,
|
|
3054
|
-
persistor: persistor,
|
|
3055
|
-
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__.Box, {
|
|
3056
|
-
sx: {
|
|
3057
|
-
padding: {
|
|
3058
|
-
xs: 2,
|
|
3059
|
-
md: 0,
|
|
3060
|
-
lg: 0
|
|
3061
|
-
}
|
|
3062
|
-
},
|
|
3063
|
-
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("h3", {
|
|
3064
|
-
children: t("orders.title")
|
|
3065
|
-
})
|
|
3066
|
-
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_MyOrdersTickets__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
|
3067
|
-
loginUrl: loginUrl,
|
|
3068
|
-
supportEmail: supportEmail,
|
|
3069
|
-
summit: summit,
|
|
3070
|
-
apiBaseUrl: apiBaseUrl
|
|
3071
|
-
})]
|
|
3072
|
-
})
|
|
3073
|
-
});
|
|
3074
|
-
}
|
|
3075
|
-
MyOrdersMyTicketsWidget.propTypes = {
|
|
3076
|
-
loginUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
3077
|
-
supportEmail: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
3078
|
-
summit: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
|
|
3079
|
-
apiBaseUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
3080
|
-
user: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object)
|
|
3081
|
-
};
|
|
3082
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyOrdersMyTicketsWidget);
|
|
3083
|
-
/******/ return __webpack_exports__;
|
|
3084
|
-
/******/ })()
|
|
3085
|
-
;
|
|
3086
|
-
});
|
|
3087
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QztFQUVWLG9CQUNFMEMsc0RBQUEsQ0FBQzRZLGlEQUFRO0lBQUN0RSxLQUFLLEVBQUVBLEtBQU07SUFBQXBULFFBQUEsZUFDckJoQix1REFBQSxDQUFDMlksd0VBQVc7TUFDVlUsWUFBWSxFQUFFUCxnQkFBaUI7TUFDL0J6RyxPQUFPLEVBQUUsSUFBSztNQUNkMEMsU0FBUyxFQUFFQSxTQUFVO01BQUEvVCxRQUFBLGdCQUVyQmxCLHNEQUFBLENBQUNxQyw4Q0FBRztRQUFDZixFQUFFLEVBQUU7VUFBRTBELE9BQU8sRUFBRTtZQUFFa0MsRUFBRSxFQUFFLENBQUM7WUFBRTBCLEVBQUUsRUFBRSxDQUFDO1lBQUVDLEVBQUUsRUFBRTtVQUFFO1FBQUUsQ0FBRTtRQUFBM0gsUUFBQSxlQUM1Q2xCLHNEQUFBO1VBQUFrQixRQUFBLEVBQUtWLENBQUMsQ0FBQyxjQUFjO1FBQUMsQ0FBSztNQUFDLENBQ3pCLENBQUMsZUFDTlIsc0RBQUEsQ0FBQzJILG1FQUFlO1FBQ2R5TSxRQUFRLEVBQUVBLFFBQVM7UUFDbkIyRSxZQUFZLEVBQUVBLFlBQWE7UUFDM0I5YyxNQUFNLEVBQUVBLE1BQU87UUFDZkYsVUFBVSxFQUFFQTtNQUFXLENBQ3hCLENBQUM7SUFBQSxDQUNTO0VBQUMsQ0FDTixDQUFDO0FBRWY7QUFFQStjLHVCQUF1QixDQUFDOVcsU0FBUyxHQUFHO0VBQ2xDb1MsUUFBUSxFQUFFL1UsMERBQWdCO0VBQzFCMFosWUFBWSxFQUFFMVosMERBQWdCO0VBQzlCcEQsTUFBTSxFQUFFb0QsMERBQWdCO0VBQ3hCdEQsVUFBVSxFQUFFc0QsMERBQWdCO0VBQzVCL0IsSUFBSSxFQUFFK0IsMERBQWdCdUw7QUFDeEIsQ0FBQztBQUVELGlFQUFla08sdUJBQXVCLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9hY3Rpb25zLmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL0ZpbHRlclNvcnRTZWFyY2gvRGF0ZXBpY2tlci5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJTb3J0U2VhcmNoL0ZpbHRlci5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJTb3J0U2VhcmNoL1NlYXJjaC5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJTb3J0U2VhcmNoL1NvcnQuanMiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvRmlsdGVyU29ydFNlYXJjaC9pbmRleC5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9NeU9yZGVyc1RpY2tldHMuanMiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvT3JkZXJTdW1tYXJ5L09yZGVyU3VtbWFyeVRhYmxlLmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL09yZGVyU3VtbWFyeS9SZWZ1bmRFbWFpbFN1cHBvcnQuanMiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvT3JkZXJTdW1tYXJ5L2luZGV4LmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL09yZGVyc0xpc3QvT3JkZXJMaXN0SXRlbS5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9PcmRlcnNMaXN0L09yZGVyTGlzdFRpY2tldHMuanMiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvT3JkZXJzTGlzdC9PcmRlck51bWJlci5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9PcmRlcnNMaXN0L09yZGVyc0xpc3REZXNrdG9wTW9iaWxlLmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL09yZGVyc0xpc3QvaW5kZXguanMiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvVGlja2V0U3RhdHVzL2luZGV4LmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9yZWR1Y2VyLmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9zdG9yZS5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvdXRpbHMvYXV0aC5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvdXRpbHMvY29uc3RhbnRzLmpzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy91dGlscy9pbmRleC5qcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJTb3J0U2VhcmNoL3N0eWxlcy5tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvY29tcG9uZW50cy9PcmRlclN1bW1hcnkvc3R5bGVzLm1vZHVsZS5zY3NzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL09yZGVyc0xpc3Qvc3R5bGVzLm1vZHVsZS5zY3NzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC8uL3NyYy9jb21wb25lbnRzL1RpY2tldFN0YXR1cy9zdHlsZXMubW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvc3R5bGVzLm1vZHVsZS5zY3NzIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAbXVpL2ljb25zLW1hdGVyaWFsL0NvbnRlbnRDb3B5XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS9pY29ucy1tYXRlcmlhbC9FcnJvclwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRmlsdGVyTGlzdFwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSW1wb3J0RXhwb3J0XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS9pY29ucy1tYXRlcmlhbC9TZWFyY2hcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAbXVpL21hdGVyaWFsXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS9tYXRlcmlhbC9EaXZpZGVyXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS9tYXRlcmlhbC9JbnB1dEJhc2VcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAbXVpL21hdGVyaWFsL1N0YWNrXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS9tYXRlcmlhbC9UYWJcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAbXVpL21hdGVyaWFsL1RhYnNcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkBtdWkvbWF0ZXJpYWwvdXNlTWVkaWFRdWVyeVwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkBtdWkveC1kYXRlLXBpY2tlcnMvQWRhcHRlckRheWpzXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS94LWRhdGUtcGlja2Vycy9EYXRlUGlja2VyXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiQG11aS94LWRhdGUtcGlja2Vycy9Mb2NhbGl6YXRpb25Qcm92aWRlclwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcIkByZWR1eGpzL3Rvb2xraXRcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJAc2VudHJ5L3JlYWN0XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwiZGF5anNcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJtb21lbnQtdGltZXpvbmVcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vbGliL3NlY3VyaXR5L2FjdGlvbnNcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vbGliL3NlY3VyaXR5L21ldGhvZHNcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vbGliL3V0aWxzL2FjdGlvbnNcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJwcm9wLXR5cGVzXCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC1pMThuZXh0XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QtaW5maW5pdGUtc2Nyb2xsLWNvbXBvbmVudFwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0LXJlZHV4XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QvanN4LXJ1bnRpbWVcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWR1eFwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC9leHRlcm5hbCBjb21tb25qcyBcInJlZHV4LXBlcnNpc3RcIiIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWR1eC1wZXJzaXN0L2ludGVncmF0aW9uL3JlYWN0XCIiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L2V4dGVybmFsIGNvbW1vbmpzIFwicmVkdXgtcGVyc2lzdC9saWIvc3RvcmFnZVwiIiwid2VicGFjazovL215LW9yZGVycy10aWNrZXRzLXdpZGdldC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0L3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9teS1vcmRlcnMtdGlja2V0cy13aWRnZXQvLi9zcmMvbXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwibXktb3JkZXJzLXRpY2tldHMtd2lkZ2V0XCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIm15LW9yZGVycy10aWNrZXRzLXdpZGdldFwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJteS1vcmRlcnMtdGlja2V0cy13aWRnZXRcIl0gPSBmYWN0b3J5KCk7XG59KSh0aGlzLCAoKSA9PiB7XG5yZXR1cm4gIiwiaW1wb3J0IHtcbiAgYXV0aEVycm9ySGFuZGxlcixcbiAgZ2V0UmVxdWVzdCxcbiAgZGVsZXRlUmVxdWVzdCxcbiAgY3JlYXRlQWN0aW9uLFxuICBzdG9wTG9hZGluZyxcbiAgc3RhcnRMb2FkaW5nLFxuICBwdXRSZXF1ZXN0XG59IGZyb20gXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vbGliL3V0aWxzL2FjdGlvbnNcIjtcbmltcG9ydCB7IGdldEFjY2Vzc1Rva2VuU2FmZWx5IH0gZnJvbSBcIi4vdXRpbHMvYXV0aFwiO1xuaW1wb3J0IHtcbiAgRklSU1RfUEFHRSxcbiAgREVGQVVMVF9JVEVNU19QRVJfUEFHRSxcbiAgT05FX1BBR0VfTkVYVFxufSBmcm9tIFwiLi91dGlscy9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IFJFU0VUX1NUQVRFID0gXCJSRVNFVF9TVEFURVwiO1xuZXhwb3J0IGNvbnN0IFJFU0VUX0ZJTFRFUiA9IFwiUkVTRVRfRklMVEVSXCI7XG5cbi8vIE9SREVSUyBDT05TVFNcbmV4cG9ydCBjb25zdCBHRVRfVVNFUl9PUkRFUlMgPSBcIkdFVF9PUkRFUlNcIjtcbmV4cG9ydCBjb25zdCBSRUZVTkRfT1JERVIgPSBcIlJFRlVORF9PUkRFUlwiO1xuZXhwb3J0IGNvbnN0IFNFVF9BQ1RJVkVfT1JERVJfSUQgPSBcIlNFVF9BQ1RJVkVfT1JERVJfSURcIjtcbmV4cG9ydCBjb25zdCBGSUxURVJfVVNFUl9PUkRFUlMgPSBcIkZJTFRFUl9VU0VSX09SREVSU1wiO1xuXG4vLyBUSUNLRVRTIENPTlNUU1xuZXhwb3J0IGNvbnN0IEdFVF9USUNLRVRTID0gXCJHRVRfVElDS0VUU1wiO1xuZXhwb3J0IGNvbnN0IEFTU0lHTl9USUNLRVQgPSBcIkFTU0lHTl9USUNLRVRcIjtcbmV4cG9ydCBjb25zdCBSRU1PVkVfVElDS0VUX0FUVEVOREVFID0gXCJSRU1PVkVfVElDS0VUX0FUVEVOREVFXCI7XG5leHBvcnQgY29uc3QgUkVGVU5EX1RJQ0tFVCA9IFwiUkVGVU5EX1RJQ0tFVFwiO1xuZXhwb3J0IGNvbnN0IFJFU0VORF9OT1RJRklDQVRJT04gPSBcIlJFU0VORF9OT1RJRklDQVRJT05cIjtcbmV4cG9ydCBjb25zdCBHRVRfVElDS0VUU19CWV9PUkRFUiA9IFwiR0VUX1RJQ0tFVFNfQllfT1JERVJcIjtcbmV4cG9ydCBjb25zdCBHRVRfVElDS0VUU19CWV9PUkRFUl9FUlJPUiA9IFwiR0VUX1RJQ0tFVFNfQllfT1JERVJfRVJST1JcIjtcbmV4cG9ydCBjb25zdCBHRVRfT1JERVJfVElDS0VUX0RFVEFJTFMgPSBcIkdFVF9PUkRFUl9USUNLRVRfREVUQUlMU1wiO1xuZXhwb3J0IGNvbnN0IEdFVF9USUNLRVRfREVUQUlMUyA9IFwiR0VUX1RJQ0tFVF9ERVRBSUxTXCI7XG5leHBvcnQgY29uc3QgVElDS0VUX0FUVEVOREVFX0tFWVMgPSB7XG4gIGVtYWlsOiBcImF0dGVuZGVlX2VtYWlsXCIsXG4gIGZpcnN0TmFtZTogXCJhdHRlbmRlZV9maXJzdF9uYW1lXCIsXG4gIGxhc3ROYW1lOiBcImF0dGVuZGVlX2xhc3RfbmFtZVwiLFxuICBjb21wYW55OiBcImF0dGVuZGVlX2NvbXBhbnlcIixcbiAgZGlzY2xhaW1lckFjY2VwdGVkOiBcImRpc2NsYWltZXJfYWNjZXB0ZWRcIixcbiAgZXh0cmFRdWVzdGlvbnM6IFwiZXh0cmFfcXVlc3Rpb25zXCJcbn07XG5cbi8vIFVTRVIgQ09OVFNcbmV4cG9ydCBjb25zdCBTVEFSVF9MT0FESU5HX0lEUF9QUk9GSUxFID0gXCJTVEFSVF9MT0FESU5HX0lEUF9QUk9GSUxFXCI7XG5leHBvcnQgY29uc3QgU1RPUF9MT0FESU5HX0lEUF9QUk9GSUxFID0gXCJTVE9QX0xPQURJTkdfSURQX1BST0ZJTEVcIjtcbmV4cG9ydCBjb25zdCBVUERBVEVfSURQX1BST0ZJTEUgPSBcIlVQREFURV9JRFBfUFJPRklMRVwiO1xuZXhwb3J0IGNvbnN0IFNFVF9VU0VSID0gXCJTRVRfVVNFUlwiO1xuXG4vLyBTVU1NSVQgQ09OU1RTXG5leHBvcnQgY29uc3QgU0VUX1NVTU1JVCA9IFwiU0VUX1NVTU1JVFwiO1xuZXhwb3J0IGNvbnN0IEdFVF9NQUlOX0VYVFJBX1FVRVNUSU9OUyA9IFwiR0VUX01BSU5fRVhUUkFfUVVFU1RJT05TXCI7XG5leHBvcnQgY29uc3QgUkVDRUlWRV9NQVJLRVRJTkdfU0VUVElOR1MgPSBcIlJFQ0VJVkVfTUFSS0VUSU5HX1NFVFRJTkdTXCI7XG5leHBvcnQgY29uc3QgQ0xFQVJfTUFSS0VUSU5HX1NFVFRJTkdTID0gXCJDTEVBUl9NQVJLRVRJTkdfU0VUVElOR1NcIjtcblxuZXhwb3J0IGNvbnN0IHJlc2V0U3RhdGUgPSAoKSA9PiAoZGlzcGF0Y2gpID0+IHtcbiAgZGlzcGF0Y2goY3JlYXRlQWN0aW9uKFJFU0VUX1NUQVRFKSh7fSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc2V0RmlsdGVyID0gKCkgPT4gKGRpc3BhdGNoKSA9PiB7XG4gIGRpc3BhdGNoKGNyZWF0ZUFjdGlvbihSRVNFVF9GSUxURVIpKHt9KSk7XG59O1xuXG4vLyBGSUxURVIgLyBTT1JUIENPTlNUQU5UU1xuZXhwb3J0IGNvbnN0IEZJTFRFUl9WQVJfREFURSA9IFwiRklMVEVSX1ZBUl9EQVRFXCI7XG5leHBvcnQgY29uc3QgRklMVEVSX1ZBUl9PUkRFUl9OVU1CRVIgPSBcIkZJTFRFUl9WQVJfT1JERVJfTlVNQkVSXCI7XG5cbi8vIEZJTFRFUi9TT1JUIEFDVElPTlNcbmV4cG9ydCBjb25zdCBwYXJzZUZpbHRlciA9IChmaWx0ZXJPYmopID0+IHtcbiAgY29uc3QgZmlsdGVyID0gW107XG4gIGlmIChmaWx0ZXJPYmoudHlwZSA9PT0gRklMVEVSX1ZBUl9EQVRFKSB7XG4gICAgZmlsdGVyLnB1c2goYCR7ZmlsdGVyT2JqLm5hbWV9W10ke2ZpbHRlck9iai5sb3dlcn0mJiR7ZmlsdGVyT2JqLnVwcGVyfWApO1xuICB9XG4gIGlmIChmaWx0ZXJPYmoudHlwZSA9PT0gRklMVEVSX1ZBUl9PUkRFUl9OVU1CRVIpIHtcbiAgICBmaWx0ZXIucHVzaChgJHtmaWx0ZXJPYmoubmFtZX09QCR7ZmlsdGVyT2JqLnZhbHVlfWApO1xuICB9XG4gIHJldHVybiBmaWx0ZXI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ydERpcmVjdGlvbiA9IChkaXJlY3Rpb24pID0+XG4gIGRpcmVjdGlvbiA9PT0gXCJhc2NcIiA/IFwiK1wiIDogXCItXCI7XG5cbi8vIE9SREVSUyBBQ1RJT05TXG5leHBvcnQgY29uc3QgZ2V0VXNlck9yZGVycyA9XG4gICh7XG4gICAgcGFnZSA9IEZJUlNUX1BBR0UsXG4gICAgcGVyUGFnZSA9IERFRkFVTFRfSVRFTVNfUEVSX1BBR0UsXG4gICAgZmlsdGVyID0ge30sXG4gICAgc29ydCA9IHt9LFxuICAgIG5leHQgPSBmYWxzZVxuICB9KSA9PlxuICBhc3luYyAoZGlzcGF0Y2gsIGdldFN0YXRlLCB7IGFwaUJhc2VVcmwgfSkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHdpZGdldFN0YXRlOiB7IHN1bW1pdCB9XG4gICAgfSA9IGdldFN0YXRlKCk7XG5cbiAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGF3YWl0IGdldEFjY2Vzc1Rva2VuU2FmZWx5KCkuY2F0Y2goKCkgPT5cbiAgICAgIFByb21pc2UucmVqZWN0KClcbiAgICApO1xuXG4gICAgZGlzcGF0Y2goc3RhcnRMb2FkaW5nKCkpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogYWNjZXNzVG9rZW4sXG4gICAgICBvcmRlcjogXCItaWRcIixcbiAgICAgIFwiZmlsdGVyW11cIjogW1wic3RhdHVzPT1QYWlkXCJdLFxuICAgICAgcmVsYXRpb25zOiBcIm5vbmVcIixcbiAgICAgIHBhZ2U6IG5leHQgPyBwYWdlICsgT05FX1BBR0VfTkVYVCA6IHBhZ2UsXG4gICAgICBwZXJfcGFnZTogcGVyUGFnZVxuICAgIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoZmlsdGVyKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWx0ZXJzID0gcGFyc2VGaWx0ZXIoZmlsdGVyKTtcbiAgICAgIHBhcmFtc1tcImZpbHRlcltdXCJdID0gWy4uLnBhcmFtc1tcImZpbHRlcltdXCJdLCAuLi5maWx0ZXJzXTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHNvcnQpLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5vcmRlciA9IGAke2dldFNvcnREaXJlY3Rpb24oc29ydC5kaXJlY3Rpb24pfSR7c29ydC5uYW1lfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldFJlcXVlc3QoXG4gICAgICBudWxsLFxuICAgICAgY3JlYXRlQWN0aW9uKEdFVF9VU0VSX09SREVSUyksXG4gICAgICBgJHthcGlCYXNlVXJsfS9hcGkvdjEvc3VtbWl0cy8ke3N1bW1pdC5pZH0vb3JkZXJzL21lYCxcbiAgICAgIGF1dGhFcnJvckhhbmRsZXJcbiAgICApKHBhcmFtcykoZGlzcGF0Y2gpXG4gICAgICAudGhlbigocGF5bG9hZCkgPT4ge1xuICAgICAgICBkaXNwYXRjaChzdG9wTG9hZGluZygpKTtcbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHN0b3BMb2FkaW5nKCkpO1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pO1xuICB9O1xuXG5leHBvcnQgY29uc3Qgc2V0QWN0aXZlT3JkZXJJZCA9IChvcmRlcklkKSA9PiBhc3luYyAoZGlzcGF0Y2gpID0+XG4gIGRpc3BhdGNoKGNyZWF0ZUFjdGlvbihTRVRfQUNUSVZFX09SREVSX0lEKShvcmRlcklkKSk7XG5cbi8vIFVTRVIgQUNUSU9OU1xuZXhwb3J0IGNvbnN0IHNldFVzZXIgPSAodXNlcikgPT4gKGRpc3BhdGNoKSA9PlxuICBkaXNwYXRjaChjcmVhdGVBY3Rpb24oU0VUX1VTRVIpKHVzZXIpKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVByb2ZpbGUgPVxuICAocHJvZmlsZSkgPT5cbiAgYXN5bmMgKGRpc3BhdGNoLCB7IGlkcEJhc2VVcmwgfSkgPT4ge1xuICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gYXdhaXQgZ2V0QWNjZXNzVG9rZW5TYWZlbHkoKS5jYXRjaCgoKSA9PlxuICAgICAgUHJvbWlzZS5yZWplY3QoKVxuICAgICk7XG5cbiAgICBkaXNwYXRjaChzdGFydExvYWRpbmcoKSk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBhY2Nlc3NfdG9rZW46IGFjY2Vzc1Rva2VuXG4gICAgfTtcblxuICAgIGRpc3BhdGNoKGNyZWF0ZUFjdGlvbihTVEFSVF9MT0FESU5HX0lEUF9QUk9GSUxFKSgpKTtcblxuICAgIHJldHVybiBwdXRSZXF1ZXN0KFxuICAgICAgbnVsbCxcbiAgICAgIGNyZWF0ZUFjdGlvbihVUERBVEVfSURQX1BST0ZJTEUpLFxuICAgICAgLy8gVE9ETzogbmVlZCBJRFBfQkFTRV9VUkxcbiAgICAgIGAke2lkcEJhc2VVcmx9L2FwaS92MS91c2Vycy9tZWAsXG4gICAgICBwcm9maWxlLFxuICAgICAgYXV0aEVycm9ySGFuZGxlclxuICAgICkocGFyYW1zKShkaXNwYXRjaClcbiAgICAgIC50aGVuKChwYXlsb2FkKSA9PiBwYXlsb2FkKVxuICAgICAgLmNhdGNoKCgpID0+IGRpc3BhdGNoKGNyZWF0ZUFjdGlvbihTVE9QX0xPQURJTkdfSURQX1BST0ZJTEUpKCkpKTtcbiAgfTtcblxuLy8gVElDS0VUIEFDVElPTlNcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJUaWNrZXRzID1cbiAgKHsgcGFnZSA9IEZJUlNUX1BBR0UsIHBlclBhZ2UgPSBERUZBVUxUX0lURU1TX1BFUl9QQUdFIH0pID0+XG4gIGFzeW5jIChkaXNwYXRjaCwgZ2V0U3RhdGUsIHsgYXBpQmFzZVVybCB9KSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgdXNlclN0YXRlOiB7IHVzZXJQcm9maWxlIH0sXG4gICAgICBzdW1taXRcbiAgICB9ID0gZ2V0U3RhdGUoKTtcbiAgICBpZiAoIXN1bW1pdCkgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCBnZXRBY2Nlc3NUb2tlblNhZmVseSgpLmNhdGNoKCgpID0+XG4gICAgICBQcm9taXNlLnJlamVjdCgpXG4gICAgKTtcblxuICAgIGlmICghdXNlclByb2ZpbGUuaWQpIHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xuICAgIGRpc3BhdGNoKHN0YXJ0TG9hZGluZygpKTtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBhY2Nlc3NfdG9rZW46IGFjY2Vzc1Rva2VuLFxuICAgICAgZmlsdGVyOiBcInN0YXR1cz09UGFpZFwiLFxuICAgICAgZXhwYW5kOiBcIm9yZGVyLCBvd25lciwgdGlja2V0X3R5cGVcIixcbiAgICAgIG9yZGVyOiBcIi1pZFwiLFxuICAgICAgZmllbGRzOlxuICAgICAgICBcIm9yZGVyLmlkLG9yZGVyLm93bmVyX2ZpcnN0X25hbWUsb3JkZXIub3duZXJfbGFzdF9uYW1lLG9yZGVyLm93bmVyX2VtYWlsLG93bmVyLmZpcnN0X25hbWUsb3duZXIubGFzdF9uYW1lLG93bmVyLnN0YXR1c1wiLFxuICAgICAgcmVsYXRpb25zOiBcIm5vbmVcIixcbiAgICAgIHBhZ2UsXG4gICAgICBwZXJfcGFnZTogcGVyUGFnZVxuICAgIH07XG4gICAgcmV0dXJuIGdldFJlcXVlc3QoXG4gICAgICBudWxsLFxuICAgICAgY3JlYXRlQWN0aW9uKEdFVF9USUNLRVRTKSxcbiAgICAgIGAke2FwaUJhc2VVcmx9L2FwaS92MS9zdW1taXRzLyR7c3VtbWl0LmlkfS9vcmRlcnMvYWxsL3RpY2tldHMvbWVgLFxuICAgICAgYXV0aEVycm9ySGFuZGxlclxuICAgICkocGFyYW1zKShkaXNwYXRjaClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goc3RvcExvYWRpbmcoKSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHN0b3BMb2FkaW5nKCkpO1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pO1xuICB9O1xuXG5leHBvcnQgY29uc3QgZ2V0VGlja2V0c0J5T3JkZXIgPVxuICAoeyBvcmRlcklkLCBwYWdlID0gRklSU1RfUEFHRSwgcGVyUGFnZSA9IERFRkFVTFRfSVRFTVNfUEVSX1BBR0UgfSkgPT5cbiAgYXN5bmMgKGRpc3BhdGNoLCBnZXRTdGF0ZSwgeyBhcGlCYXNlVXJsIH0pID0+IHtcbiAgICBkaXNwYXRjaChzdGFydExvYWRpbmcoKSk7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCBnZXRBY2Nlc3NUb2tlblNhZmVseSgpLmNhdGNoKCgpID0+XG4gICAgICBQcm9taXNlLnJlamVjdCgpXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogYWNjZXNzVG9rZW4sXG4gICAgICBleHBhbmQ6XG4gICAgICAgIFwicmVmdW5kX3JlcXVlc3RzLG93bmVyLG93bmVyLmV4dHJhX3F1ZXN0aW9ucyxiYWRnZSxiYWRnZS5mZWF0dXJlcyx0aWNrZXRfdHlwZVwiLFxuICAgICAgb3JkZXI6IFwiK2lkXCIsXG4gICAgICBwYWdlLFxuICAgICAgcGVyX3BhZ2U6IHBlclBhZ2VcbiAgICB9O1xuICAgIHJldHVybiBnZXRSZXF1ZXN0KFxuICAgICAgbnVsbCxcbiAgICAgIGNyZWF0ZUFjdGlvbihHRVRfVElDS0VUU19CWV9PUkRFUiksXG4gICAgICBgJHthcGlCYXNlVXJsfS9hcGkvdjEvc3VtbWl0cy9hbGwvb3JkZXJzLyR7b3JkZXJJZH0vdGlja2V0c2AsXG4gICAgICBhdXRoRXJyb3JIYW5kbGVyXG4gICAgKShwYXJhbXMpKGRpc3BhdGNoKVxuICAgICAgLnRoZW4oKHBheWxvYWQpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goc3RvcExvYWRpbmcoKSk7XG4gICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICBkaXNwYXRjaChzdG9wTG9hZGluZygpKTtcbiAgICAgICAgZGlzcGF0Y2goY3JlYXRlQWN0aW9uKEdFVF9USUNLRVRTX0JZX09SREVSX0VSUk9SKSk7XG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCByZXNlbmROb3RpZmljYXRpb24gPVxuICAodGlja2V0KSA9PlxuICBhc3luYyAoZGlzcGF0Y2gsIHsgYXBpQmFzZVVybCB9KSA9PiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCBnZXRBY2Nlc3NUb2tlblNhZmVseSgpLmNhdGNoKCgpID0+XG4gICAgICBQcm9taXNlLnJlamVjdCgpXG4gICAgKTtcblxuICAgIGNvbnN0IHsgbWVzc2FnZSB9ID0gdGlja2V0O1xuXG4gICAgZGlzcGF0Y2goc3RhcnRMb2FkaW5nKCkpO1xuXG4gICAgY29uc3Qgb3JkZXJJZCA9IHRpY2tldC5vcmRlciA/IHRpY2tldC5vcmRlci5pZCA6IHRpY2tldC5vcmRlcl9pZDtcblxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogYWNjZXNzVG9rZW5cbiAgICB9O1xuXG4gICAgcmV0dXJuIHB1dFJlcXVlc3QoXG4gICAgICBudWxsLFxuICAgICAgY3JlYXRlQWN0aW9uKFJFU0VORF9OT1RJRklDQVRJT04pLFxuICAgICAgYCR7YXBpQmFzZVVybH0vYXBpL3YxL3N1bW1pdHMvYWxsL29yZGVycy8ke29yZGVySWR9L3RpY2tldHMvJHt0aWNrZXQuaWR9L2F0dGVuZGVlL3JlaW52aXRlYCxcbiAgICAgIHsgbWVzc2FnZSB9LFxuICAgICAgYXV0aEVycm9ySGFuZGxlclxuICAgICkocGFyYW1zKShkaXNwYXRjaClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goc3RvcExvYWRpbmcoKSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHN0b3BMb2FkaW5nKCkpO1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pO1xuICB9O1xuXG5leHBvcnQgY29uc3QgcmVmdW5kVGlja2V0ID1cbiAgKHsgdGlja2V0IH0pID0+XG4gIGFzeW5jIChkaXNwYXRjaCwgZ2V0U3RhdGUsIHsgYXBpQmFzZVVybCB9KSA9PiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCBnZXRBY2Nlc3NUb2tlblNhZmVseSgpLmNhdGNoKCgpID0+XG4gICAgICBQcm9taXNlLnJlamVjdCgpXG4gICAgKTtcblxuICAgIGRpc3BhdGNoKHN0YXJ0TG9hZGluZygpKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIG9yZGVyU3RhdGU6IHsgY3VycmVudF9wYWdlOiBvcmRlclBhZ2UgfSxcbiAgICAgIHRpY2tldFN0YXRlOiB7IGN1cnJlbnRfcGFnZTogdGlja2V0UGFnZSB9XG4gICAgfSA9IGdldFN0YXRlKCk7XG5cbiAgICBjb25zdCBvcmRlcklkID0gdGlja2V0Lm9yZGVyID8gdGlja2V0Lm9yZGVyLmlkIDogdGlja2V0Lm9yZGVyX2lkO1xuXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiBhY2Nlc3NUb2tlblxuICAgIH07XG5cbiAgICByZXR1cm4gZGVsZXRlUmVxdWVzdChcbiAgICAgIG51bGwsXG4gICAgICBjcmVhdGVBY3Rpb24oUkVGVU5EX1RJQ0tFVCksXG4gICAgICBgJHthcGlCYXNlVXJsfS9hcGkvdjEvc3VtbWl0cy9hbGwvb3JkZXJzLyR7b3JkZXJJZH0vdGlja2V0cy8ke3RpY2tldC5pZH0vcmVmdW5kYCxcbiAgICAgIHt9LFxuICAgICAgYXV0aEVycm9ySGFuZGxlclxuICAgICkocGFyYW1zKShkaXNwYXRjaClcbiAgICAgIC50aGVuKChwYXlsb2FkKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHN0b3BMb2FkaW5nKCkpO1xuXG4gICAgICAgIGlmICh0aWNrZXQub3JkZXJfaWQpIHtcbiAgICAgICAgICBkaXNwYXRjaChnZXRVc2VyT3JkZXJzKHsgcGFnZTogb3JkZXJQYWdlIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXNwYXRjaChnZXRVc2VyVGlja2V0cyh7IHBhZ2U6IHRpY2tldFBhZ2UgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICBkaXNwYXRjaChzdG9wTG9hZGluZygpKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH0pO1xuICB9O1xuXG4vLyBTVU1NSVQgQUNUSU9OU1xuZXhwb3J0IGNvbnN0IHNldFN1bW1pdCA9IChzdW1taXQpID0+IGFzeW5jIChkaXNwYXRjaCkgPT5cbiAgZGlzcGF0Y2goY3JlYXRlQWN0aW9uKFNFVF9TVU1NSVQpKHN1bW1pdCkpO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgU3RhY2sgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvU3RhY2tcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCB7IEFkYXB0ZXJEYXlqcyB9IGZyb20gXCJAbXVpL3gtZGF0ZS1waWNrZXJzL0FkYXB0ZXJEYXlqc1wiO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uUHJvdmlkZXIgfSBmcm9tIFwiQG11aS94LWRhdGUtcGlja2Vycy9Mb2NhbGl6YXRpb25Qcm92aWRlclwiO1xuaW1wb3J0IHsgRGF0ZVBpY2tlciB9IGZyb20gXCJAbXVpL3gtZGF0ZS1waWNrZXJzL0RhdGVQaWNrZXJcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIjtcbmltcG9ydCB7IEZJTFRFUl9WQVJfREFURSB9IGZyb20gXCIuLi8uLi9hY3Rpb25zXCI7XG5pbXBvcnQgeyBnZXRFcG9jaExvd2VyVXBwZXJJblNlY29uZHMgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQmFzaWNEYXRlUGlja2VyKHsgb25GaWx0ZXIsIG9uUmVzZXQgfSkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IG5vdyA9IGRheWpzKCk7XG4gIGNvbnN0IFtkYXRlVmFsdWUsIHNldERhdGVWYWx1ZV0gPSB1c2VTdGF0ZShub3cpO1xuICBjb25zdCBvbkRhdGVDaGFuZ2UgPSAodmFsKSA9PiB7XG4gICAgc2V0RGF0ZVZhbHVlKHZhbCk7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbC4kZCk7XG4gICAgY29uc3QgeyBsb3dlciwgdXBwZXIgfSA9IGdldEVwb2NoTG93ZXJVcHBlckluU2Vjb25kcyhkYXRlKTtcbiAgICBvbkZpbHRlcih7XG4gICAgICB0eXBlOiBGSUxURVJfVkFSX0RBVEUsXG4gICAgICBuYW1lOiBcImNyZWF0ZWRcIixcbiAgICAgIGRhdGUsXG4gICAgICBsb3dlcixcbiAgICAgIHVwcGVyXG4gICAgfSk7XG4gIH07XG4gIGNvbnN0IG9uUmVzZXRBY3Rpb24gPSAoKSA9PiB7XG4gICAgb25SZXNldCgpO1xuICAgIHNldERhdGVWYWx1ZShub3cpO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmZpbHRlckRhdGVMYWJlbH0+e3QoXCJmaWx0ZXIucHVyY2hhc2VkX29uXCIpfTwvZGl2PlxuICAgICAgPFN0YWNrXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBzeD17eyBwdDogMiwgcGI6IDIgfX1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuZGF0ZVBpY2tlckNvbnRhaW5lcn1cbiAgICAgID5cbiAgICAgICAgPENsb3NlSWNvblxuICAgICAgICAgIGZvbnRTaXplPVwibGFyZ2VcIlxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmRhdGVwaWNrZXJDbG9zZX1cbiAgICAgICAgICBvbkNsaWNrPXtvblJlc2V0QWN0aW9ufVxuICAgICAgICAvPlxuICAgICAgICA8TG9jYWxpemF0aW9uUHJvdmlkZXIgZGF0ZUFkYXB0ZXI9e0FkYXB0ZXJEYXlqc30+XG4gICAgICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNhbGVuZGFyRGlzcGxheX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkRhdGVDaGFuZ2V9XG4gICAgICAgICAgICB2YWx1ZT17ZGF0ZVZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvTG9jYWxpemF0aW9uUHJvdmlkZXI+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvPlxuICApO1xufVxuXG5CYXNpY0RhdGVQaWNrZXIucHJvcFR5cGVzID0ge1xuICBvbkZpbHRlcjogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUmVzZXQ6IFByb3BUeXBlcy5mdW5jXG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IFN0YWNrIGZyb20gXCJAbXVpL21hdGVyaWFsL1N0YWNrXCI7XG5pbXBvcnQgRmlsdGVyTGlzdEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRmlsdGVyTGlzdFwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBCYXNpY0RhdGVQaWNrZXIgZnJvbSBcIi4vRGF0ZXBpY2tlclwiO1xuaW1wb3J0ICogYXMgc3R5bGVzIGZyb20gXCIuL3N0eWxlcy5tb2R1bGUuc2Nzc1wiO1xuXG5mdW5jdGlvbiBGaWx0ZXIoeyBvbkZpbHRlciwgb25SZXNldCB9KSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW3Nob3dGaWx0ZXJMaXN0LCBzZXRTaG93RmlsdGVyTGlzdF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93RGF0ZXBpY2tlciwgc2V0U2hvd0RhdGVwaWNrZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZmlsdGVyTnVtQWN0aXZlLCBzZXRGaWx0ZXJOdW1BY3RpdmVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBmaWx0ZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGhhbmRsZUZpbHRlckNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgIGlmIChmaWx0ZXJSZWYuY3VycmVudCAmJiAhZmlsdGVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgaWYgKHNob3dGaWx0ZXJMaXN0KSB7XG4gICAgICAgIHNldFNob3dGaWx0ZXJMaXN0KGZhbHNlKTtcbiAgICAgICAgc2V0U2hvd0RhdGVwaWNrZXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlRmlsdGVyQ2xpY2tPdXRzaWRlLCBmYWxzZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVGaWx0ZXJDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9O1xuICB9LCBbc2hvd0ZpbHRlckxpc3RdKTtcblxuICBjb25zdCB0b2dnbGUgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0ZpbHRlckxpc3QoIXNob3dGaWx0ZXJMaXN0KTtcbiAgICBzZXRTaG93RGF0ZXBpY2tlcighc2hvd0RhdGVwaWNrZXIpO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDxCb3ggY2xhc3NOYW1lPXtzdHlsZXMuZmlsdGVyQ29udGFpbmVyfSByZWY9e2ZpbHRlclJlZn0+XG4gICAgICA8U3RhY2tcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIHN4PXt7IHB0OiAyLCBwYjogMiB9fVxuICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICA+XG4gICAgICAgIDxGaWx0ZXJMaXN0SWNvbiBmb250U2l6ZT1cImxhcmdlXCIgY2xhc3NOYW1lPXtzdHlsZXMuZmlsdGVySWNvbn0gLz5cbiAgICAgICAgey8qKiBjdXJyZW50bHkganVzdCBzaG93aW5nIFwiMVwiIGJlY2F1c2Ugd2UncmUgY3VycmVudGx5IG9ubHkgZmlsdGVyaW5nIG9uZSBjcml0ZXJpYSAtIGNyZWF0ZWQgZGF0ZSAqL31cbiAgICAgICAge2ZpbHRlck51bUFjdGl2ZSAmJiA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmZpbHRlck51bUFjdGl2ZX0+MTwvZGl2Pn1cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuZmlsdGVyTGFiZWx9Pnt0KFwiZmlsdGVyLmZpbHRlclwiKX08L3NwYW4+XG4gICAgICA8L1N0YWNrPlxuICAgICAgPEJveFxuICAgICAgICBjbGFzc05hbWU9e2Ake3N0eWxlcy5maWx0ZXJMaXN0Q29udGFpbmVyfSAke3N0eWxlcy5jb250YWluZXJ9ICR7XG4gICAgICAgICAgc2hvd0ZpbHRlckxpc3QgPyBzdHlsZXMuc2hvd0RhdGVQaWNrZXIgOiBcIlwiXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8QmFzaWNEYXRlUGlja2VyXG4gICAgICAgICAgb25SZXNldD17KCkgPT4ge1xuICAgICAgICAgICAgb25SZXNldCgpO1xuICAgICAgICAgICAgc2V0RmlsdGVyTnVtQWN0aXZlKGZhbHNlKTtcbiAgICAgICAgICAgIHRvZ2dsZSgpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25GaWx0ZXI9eyhmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIG9uRmlsdGVyKGZpbHRlcik7XG4gICAgICAgICAgICBzZXRGaWx0ZXJOdW1BY3RpdmUodHJ1ZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm94PlxuICAgIDwvQm94PlxuICApO1xufVxuXG5GaWx0ZXIucHJvcFR5cGVzID0ge1xuICBvbkZpbHRlcjogUHJvcFR5cGVzLmZ1bmNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbHRlcjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgU2VhcmNoSWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9TZWFyY2hcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2VcIjtcbmltcG9ydCBJbnB1dEJhc2UgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvSW5wdXRCYXNlXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgRklMVEVSX1ZBUl9PUkRFUl9OVU1CRVIgfSBmcm9tIFwiLi4vLi4vYWN0aW9uc1wiO1xuXG5jb25zdCBTZWFyY2hDb250YWluZXIgPSBzdHlsZWQoXCJkaXZcIikoKCkgPT4gKHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgbWFyZ2luUmlnaHQ6IFwiMFwiLFxuICBtYXJnaW5MZWZ0OiBcIjBcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxuICBkaXNwbGF5OiBcImJsb2NrXCJcbn0pKTtcbmNvbnN0IFNlYXJjaEljb25XcmFwcGVyID0gc3R5bGVkKFwiZGl2XCIpKCgpID0+ICh7XG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIGRpc3BsYXk6IFwiZmxleFwiLFxuICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxufSkpO1xuY29uc3QgU3R5bGVkSW5wdXRCYXNlID0gc3R5bGVkKElucHV0QmFzZSkoKCkgPT4gKHtcbiAgY29sb3I6IFwiaW5oZXJpdFwiLFxuICBib3JkZXJCb3R0b206IFwiMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC40MilcIixcbiAgcGFkZGluZ0xlZnQ6IFwiMjVweFwiLFxuICBwYWRkaW5nUmlnaHQ6IFwiMjVweFwiLFxuICBmb250U2l6ZTogXCIxZW1cIlxufSkpO1xuY29uc3QgQ2xvc2VJY29uV3JhcHBlciA9IHN0eWxlZChDbG9zZUljb24pKCgpID0+ICh7XG4gIHBhZGRpbmc6IFwiMnB4XCIsXG4gIGZvbnRTaXplOiBcIjEuNWVtXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIHRvcDogXCIwXCIsXG4gIHJpZ2h0OiBcIjBcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICB6SW5kZXg6IFwiMTAwMFwiXG59KSk7XG5cbmZ1bmN0aW9uIFNlYXJjaCh7IG9uU2VhcmNoLCBvblJlc2V0IH0pIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbc2hvd0Nsb3NlLCBzZXRTaG93Q2xvc2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBvbktleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBrZXksXG4gICAgICBuYXRpdmVFdmVudDoge1xuICAgICAgICB0YXJnZXQ6IHsgdmFsdWUgfVxuICAgICAgfVxuICAgIH0gPSBldmVudDtcbiAgICBpZiAoa2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgIG9uU2VhcmNoKHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIG5hbWU6IFwibnVtYmVyXCIsXG4gICAgICAgIHR5cGU6IEZJTFRFUl9WQVJfT1JERVJfTlVNQkVSXG4gICAgICB9KTtcbiAgICAgIHNldFNob3dDbG9zZSh0cnVlKTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IHJlc2V0U2VhcmNoID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKFwiXCIpO1xuICAgIHNldFNob3dDbG9zZShmYWxzZSk7XG4gICAgb25SZXNldCgpO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDxCb3g+XG4gICAgICA8U2VhcmNoQ29udGFpbmVyPlxuICAgICAgICB7c2hvd0Nsb3NlICYmIChcbiAgICAgICAgICA8Q2xvc2VJY29uV3JhcHBlciBvbkNsaWNrPXtyZXNldFNlYXJjaH0+XG4gICAgICAgICAgICA8Q2xvc2VJY29uIC8+XG4gICAgICAgICAgPC9DbG9zZUljb25XcmFwcGVyPlxuICAgICAgICApfVxuICAgICAgICA8U2VhcmNoSWNvbldyYXBwZXI+XG4gICAgICAgICAgPFNlYXJjaEljb24gLz5cbiAgICAgICAgPC9TZWFyY2hJY29uV3JhcHBlcj5cbiAgICAgICAgPFN0eWxlZElucHV0QmFzZVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KFwib3JkZXJfc2VhcmNoLm9yZGVyX251bWJlclwiKX1cbiAgICAgICAgICBpbnB1dFByb3BzPXt7IFwiYXJpYS1sYWJlbFwiOiBcInNlYXJjaFwiIH19XG4gICAgICAgICAgdmFsdWU9e3NlYXJjaFZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U2VhcmNoVmFsdWUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAvPlxuICAgICAgPC9TZWFyY2hDb250YWluZXI+XG4gICAgPC9Cb3g+XG4gICk7XG59XG5cblNlYXJjaC5wcm9wVHlwZXMgPSB7XG4gIG9uU2VhcmNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25SZXNldDogUHJvcFR5cGVzLmZ1bmNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlYXJjaDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdGFjayBmcm9tIFwiQG11aS9tYXRlcmlhbC9TdGFja1wiO1xuaW1wb3J0IHsgQm94LCBCdXR0b24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IEltcG9ydEV4cG9ydEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSW1wb3J0RXhwb3J0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSBcIi4vc3R5bGVzLm1vZHVsZS5zY3NzXCI7XG5cbmZ1bmN0aW9uIFNvcnQoeyBvblNvcnQgfSkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtzaG93U29ydCwgc2V0U2hvd1NvcnRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzb3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBoYW5kbGVTb3J0Q2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKHNvcnRSZWYuY3VycmVudCAmJiAhc29ydFJlZi5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHNldFNob3dTb3J0KGZhbHNlKTtcbiAgICB9XG4gIH07XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZVNvcnRDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZVNvcnRDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9O1xuICB9LCBbc2hvd1NvcnRdKTtcblxuICBjb25zdCB0b2dnbGUgPSAoKSA9PiB7XG4gICAgc2V0U2hvd1NvcnQoIXNob3dTb3J0KTtcbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8Qm94IGNsYXNzTmFtZT17c3R5bGVzLnNvcnRDb250YWluZXJ9IG9uQ2xpY2s9e3RvZ2dsZX0+XG4gICAgICA8U3RhY2tcbiAgICAgICAgcmVmPXtzb3J0UmVmfVxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgc3g9e3sgcHQ6IDIsIHBiOiAyIH19XG4gICAgICA+XG4gICAgICAgIDxJbXBvcnRFeHBvcnRJY29uIGZvbnRTaXplPVwibGFyZ2VcIiBjbGFzc05hbWU9e3N0eWxlcy5zb3J0SWNvbn0gLz5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuc29ydExhYmVsfT57dChcInNvcnQuc29ydFwiKX08L3NwYW4+XG4gICAgICA8L1N0YWNrPlxuICAgICAge3Nob3dTb3J0ICYmIChcbiAgICAgICAgPEJveCBjbGFzc05hbWU9e2Ake3N0eWxlcy5zb3J0TGlzdENvbnRhaW5lcn0gJHtzdHlsZXMuY29udGFpbmVyfWB9PlxuICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtzdHlsZXMubGFiZWx9IG9uQ2xpY2s9eygpID0+IG9uU29ydChcImRlc2NcIil9PlxuICAgICAgICAgICAge3QoXCJzb3J0Lm5ld19maXJzdFwiKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT17c3R5bGVzLmxhYmVsfSBvbkNsaWNrPXsoKSA9PiBvblNvcnQoXCJhc2NcIil9PlxuICAgICAgICAgICAge3QoXCJzb3J0Lm9sZF9maXJzdFwiKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICApfVxuICAgIDwvQm94PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTb3J0O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgR3JpZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgRmlsdGVyIGZyb20gXCIuL0ZpbHRlclwiO1xuaW1wb3J0IFNvcnQgZnJvbSBcIi4vU29ydFwiO1xuaW1wb3J0IFNlYXJjaCBmcm9tIFwiLi9TZWFyY2hcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcblxuZnVuY3Rpb24gRmlsdGVyU29ydFNlYXJjaCh7IG9uRmlsdGVyLCBvblNvcnQsIG9uU2VhcmNoLCBvblJlc2V0IH0pIHtcbiAgcmV0dXJuIChcbiAgICA8R3JpZCBjb250YWluZXIganVzdGlmeT1cImZsZXgtZW5kXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgPEdyaWRcbiAgICAgICAgaXRlbVxuICAgICAgICB4cz17Nn1cbiAgICAgICAgY29udGFpbmVyXG4gICAgICAgIHBhZGRpbmc9ezF9XG4gICAgICAgIGdhcD17Mn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuZmlsdGVyU29ydENvbnRhaW5lcn1cbiAgICAgICAgc3g9e3sgcHQ6IDIsIHBiOiAyIH19XG4gICAgICA+XG4gICAgICAgIDxHcmlkIGl0ZW0+XG4gICAgICAgICAgPEZpbHRlciBvbkZpbHRlcj17b25GaWx0ZXJ9IG9uUmVzZXQ9e29uUmVzZXR9IC8+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICAgPEdyaWQgaXRlbT5cbiAgICAgICAgICA8U29ydCBvblNvcnQ9e29uU29ydH0gLz5cbiAgICAgICAgPC9HcmlkPlxuICAgICAgPC9HcmlkPlxuICAgICAgPEdyaWQgaXRlbSB4cz17Nn0gY29udGFpbmVyIGp1c3RpZnlDb250ZW50PVwiZmxleC1lbmRcIj5cbiAgICAgICAgPFNlYXJjaCBvblNlYXJjaD17b25TZWFyY2h9IG9uUmVzZXQ9e29uUmVzZXR9IC8+XG4gICAgICA8L0dyaWQ+XG4gICAgPC9HcmlkPlxuICApO1xufVxuXG5GaWx0ZXJTb3J0U2VhcmNoLnByb3BUeXBlcyA9IHtcbiAgb25GaWx0ZXI6IFByb3BUeXBlcy5mdW5jLFxuICBvblNvcnQ6IFByb3BUeXBlcy5mdW5jLFxuICBvblNlYXJjaDogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUmVzZXQ6IFByb3BUeXBlcy5mdW5jXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJTb3J0U2VhcmNoO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3Rvciwgc2hhbGxvd0VxdWFsIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IEluZmluaXRlU2Nyb2xsIGZyb20gXCJyZWFjdC1pbmZpbml0ZS1zY3JvbGwtY29tcG9uZW50XCI7XG5pbXBvcnQgRmlsdGVyU29ydFNlYXJjaCBmcm9tIFwiLi9GaWx0ZXJTb3J0U2VhcmNoXCI7XG5pbXBvcnQgT3JkZXJzTGlzdCBmcm9tIFwiLi9PcmRlcnNMaXN0XCI7XG5pbXBvcnQgeyBnZXRTdW1taXRGb3JtYXR0ZWREYXRlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBnZXRVc2VyT3JkZXJzLCByZXNldEZpbHRlciB9IGZyb20gXCIuLi9hY3Rpb25zXCI7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSBcIi4vc3R5bGVzLm1vZHVsZS5zY3NzXCI7XG5cbmZ1bmN0aW9uIE15T3JkZXJzVGlja2V0cygpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHtcbiAgICBzdW1taXQsXG4gICAgbWVtYmVyT3JkZXJzLFxuICAgIG9yZGVyc19jdXJyZW50X3BhZ2UsXG4gICAgb3JkZXJzX3Blcl9wYWdlLFxuICAgIG9yZGVyc190b3RhbFxuICB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53aWRnZXRTdGF0ZSB8fCB7fSwgc2hhbGxvd0VxdWFsKTtcbiAgY29uc3QgW2hhc01vcmUsIHNldEhhc01vcmVdID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtzZWFyY2hOZXh0LCBzZXRTZWFyY2hOZXh0XSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2ZpbHRlciwgc2V0RmlsdGVyXSA9IHVzZVN0YXRlKHt9KTtcbiAgY29uc3QgW3NvcnQsIHNldFNvcnRdID0gdXNlU3RhdGUoe30pO1xuXG4gIGNvbnN0IG9uUmVzZXQgPSAoKSA9PiB7XG4gICAgc2V0U29ydCh7fSk7XG4gICAgc2V0RmlsdGVyKHt9KTtcbiAgICBzZXRTZWFyY2hOZXh0KGZhbHNlKTtcbiAgICBkaXNwYXRjaChyZXNldEZpbHRlcigpKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaERhdGEgPSBhc3luYyAoKSA9PiB7XG4gICAgZGlzcGF0Y2goXG4gICAgICBnZXRVc2VyT3JkZXJzKHtcbiAgICAgICAgcGFnZTogb3JkZXJzX2N1cnJlbnRfcGFnZSxcbiAgICAgICAgcGVyUGFnZTogb3JkZXJzX3Blcl9wYWdlLFxuICAgICAgICBuZXh0OiBzZWFyY2hOZXh0LFxuICAgICAgICBmaWx0ZXIsXG4gICAgICAgIHNvcnRcbiAgICAgIH0pXG4gICAgKS50aGVuKChyZXMpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcmVzLnJlc3BvbnNlPy5kYXRhPy5sZW5ndGggPiBvcmRlcnNfcGVyX3BhZ2UgJiZcbiAgICAgICAgbWVtYmVyT3JkZXJzLmxlbmd0aCA9PT0gb3JkZXJzX3RvdGFsXG4gICAgICApXG4gICAgICAgIHNldEhhc01vcmUoZmFsc2UpO1xuICAgIH0pO1xuICB9O1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoRGF0YSgpO1xuICB9LCBbZmlsdGVyLCBzb3J0LCBzZWFyY2hOZXh0XSk7XG5cbiAgY29uc3Qgb25GaWx0ZXIgPSAoZmlsdGVyKSA9PiB7XG4gICAgc2V0U29ydCh7fSk7XG4gICAgc2V0RmlsdGVyKGZpbHRlcik7XG4gIH07XG4gIGNvbnN0IG9uU29ydCA9IChkaXJlY3Rpb24pID0+IHtcbiAgICBzZXRGaWx0ZXIoe30pO1xuICAgIHNldFNvcnQoeyBkaXJlY3Rpb24sIG5hbWU6IFwiY3JlYXRlZFwiIH0pO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxGaWx0ZXJTb3J0U2VhcmNoXG4gICAgICAgIG9uRmlsdGVyPXtvbkZpbHRlcn1cbiAgICAgICAgb25Tb3J0PXtvblNvcnR9XG4gICAgICAgIG9uU2VhcmNoPXtvbkZpbHRlcn1cbiAgICAgICAgb25SZXNldD17b25SZXNldH1cbiAgICAgIC8+XG4gICAgICA8Qm94XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLndpZGdldEhlYWRlcn1cbiAgICAgICAgc3g9e3sgcGFkZGluZzogeyB4czogMiwgbWQ6IDAsIGxnOiAwIH0gfX1cbiAgICAgID5cbiAgICAgICAgPGgyIGNsYXNzTmFtZT17c3R5bGVzLnN1bW1pdFRpdGxlRGF0ZX0+e3N1bW1pdD8ubmFtZX08L2gyPlxuICAgICAgICA8aDIgY2xhc3NOYW1lPXtzdHlsZXMuc3VtbWl0VGl0bGVEYXRlfT5cbiAgICAgICAgICB7Z2V0U3VtbWl0Rm9ybWF0dGVkRGF0ZShzdW1taXQpfVxuICAgICAgICA8L2gyPlxuICAgICAgPC9Cb3g+XG4gICAgICB7bWVtYmVyT3JkZXJzLmxlbmd0aCA/IChcbiAgICAgICAgPEluZmluaXRlU2Nyb2xsXG4gICAgICAgICAgZGF0YUxlbmd0aD17bWVtYmVyT3JkZXJzLmxlbmd0aH1cbiAgICAgICAgICBuZXh0PXsoKSA9PiBzZXRTZWFyY2hOZXh0KHRydWUpfVxuICAgICAgICAgIGhhc01vcmU9e2hhc01vcmV9XG4gICAgICAgICAgc2Nyb2xsVGhyZXNob2xkPXsxfVxuICAgICAgICA+XG4gICAgICAgICAge21lbWJlck9yZGVycz8ubWFwKChvcmRlcikgPT4gKFxuICAgICAgICAgICAgPE9yZGVyc0xpc3Qga2V5PXtvcmRlci5pZH0gb3JkZXI9e29yZGVyfSBzdW1taXQ9e3N1bW1pdH0gLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9JbmZpbml0ZVNjcm9sbD5cbiAgICAgICkgOiAoXG4gICAgICAgIDxCb3ggY2xhc3NOYW1lPXtzdHlsZXMubm9PcmRlcnNGb3VuZH0+e3QoXCJvcmRlcnMubm9fb3JkZXJzXCIpfTwvQm94PlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn1cbmV4cG9ydCBkZWZhdWx0IE15T3JkZXJzVGlja2V0cztcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IEdyaWQsIEJveCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgRGl2aWRlciBmcm9tIFwiQG11aS9tYXRlcmlhbC9EaXZpZGVyXCI7XG5pbXBvcnQgeyBjYWxjdWxhdGVPcmRlclRvdGFscywgZm9ybWF0Q3VycmVuY3kgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcblxuZnVuY3Rpb24gT3JkZXJTdW1tYXJ5VGFibGUoeyBvcmRlciwgc3VtbWl0LCB0aWNrZXRzIH0pIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB7IGRpc2NvdW50VG90YWwsIHJlZnVuZFRvdGFsLCB0YXhlc1RvdGFsLCBhbW91bnRUb3RhbCwgdGlja2V0U3VtbWFyeSB9ID1cbiAgICBjYWxjdWxhdGVPcmRlclRvdGFscyh7IG9yZGVyLCBzdW1taXQsIHRpY2tldHMgfSk7XG4gIGNvbnN0IGh1bmRyZWQgPSAxMDA7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IGNsYXNzTmFtZT17c3R5bGVzLm9yZGVyU3VtbWFyeVRhYmxlfT5cbiAgICAgIHt0aWNrZXRTdW1tYXJ5Py5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7dGlja2V0U3VtbWFyeS5tYXAoKHRpY2tldCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGlja2V0VG90YWwgPVxuICAgICAgICAgICAgICAodGlja2V0LnF0eSAqICh0aWNrZXQudGlja2V0X3R5cGUuY29zdCAqIGh1bmRyZWQpKSAvIGh1bmRyZWQ7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxHcmlkXG4gICAgICAgICAgICAgICAgY29udGFpbmVyXG4gICAgICAgICAgICAgICAga2V5PXtgdGl4b3JkZXJfJHt0aWNrZXQudGlja2V0X3R5cGUuY3JlYXRlZH1gfVxuICAgICAgICAgICAgICAgIHN4PXt7IHBiOiAxIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8R3JpZCB4cz17OH0gaXRlbT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICB4e3RpY2tldC5xdHl9IHt0aWNrZXQudGlja2V0X3R5cGUubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgPEdyaWQgeHM9ezR9IGl0ZW0gYWxpZ249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAge2Zvcm1hdEN1cnJlbmN5KHRpY2tldFRvdGFsLCB7IGN1cnJlbmN5OiBvcmRlci5jdXJyZW5jeSB9KX1cbiAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICAgIHtvcmRlci5kaXNjb3VudF9hbW91bnQgPiAwICYmIChcbiAgICAgICAgPEdyaWQgY29udGFpbmVyIHN4PXt7IHBiOiAxIH19PlxuICAgICAgICAgIDxHcmlkIHhzPXs4fSBpdGVtPlxuICAgICAgICAgICAge3QoXCJvcmRlcl9zdW1tYXJ5LmRpc2NvdW50c1wiKX1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgPEdyaWQgeHM9ezR9IGl0ZW0gYWxpZ249XCJyaWdodFwiPlxuICAgICAgICAgICAgLXtkaXNjb3VudFRvdGFsfVxuICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgPC9HcmlkPlxuICAgICAgKX1cbiAgICAgIHtvcmRlci50YXhlc19hbW91bnQgPiAwICYmIChcbiAgICAgICAgPEdyaWQgY29udGFpbmVyIHN4PXt7IHBiOiAxIH19PlxuICAgICAgICAgIDxHcmlkIHhzPXs4fSBpdGVtPlxuICAgICAgICAgICAge3QoXCJvcmRlcl9zdW1tYXJ5LnRheGVzXCIpfVxuICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICA8R3JpZCB4cz17NH0gaXRlbSBhbGlnbj1cInJpZ2h0XCI+XG4gICAgICAgICAgICB7dGF4ZXNUb3RhbH1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICl9XG4gICAgICB7b3JkZXIuc3RhdHVzID09PSBcIlBhaWRcIiAmJiAoXG4gICAgICAgIDxHcmlkIGNvbnRhaW5lciBzeD17eyBwYjogMSB9fT5cbiAgICAgICAgICA8R3JpZCB4cz17OH0gaXRlbT5cbiAgICAgICAgICAgIHt0KFwib3JkZXJfc3VtbWFyeS5hbW91bnRfcGFpZFwiKX1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgPEdyaWQgeHM9ezR9IGl0ZW0gYWxpZ249XCJyaWdodFwiPlxuICAgICAgICAgICAgLXthbW91bnRUb3RhbH1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICl9XG4gICAgICB7cmVmdW5kVG90YWwgPiAwICYmIChcbiAgICAgICAgPEdyaWQgY29udGFpbmVyIHN4PXt7IHBiOiAxIH19PlxuICAgICAgICAgIDxHcmlkIHhzPXs4fSBpdGVtPlxuICAgICAgICAgICAge3QoXCJvcmRlcl9zdW1tYXJ5LnJlZnVuZHNcIil9XG4gICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgIDxHcmlkIHhzPXs0fSBpdGVtIGFsaWduPVwicmlnaHRcIj5cbiAgICAgICAgICAgIHtyZWZ1bmRUb3RhbH1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICl9XG4gICAgICA8RGl2aWRlciAvPlxuICAgICAgPEdyaWQgY29udGFpbmVyIHN4PXt7IHB0OiAxLCBwYjogMSB9fT5cbiAgICAgICAgPEdyaWQgeHM9ezh9IGl0ZW0+XG4gICAgICAgICAge3QoXCJvcmRlcl9zdW1tYXJ5LnRvdGFsXCIpfVxuICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDxHcmlkIHhzPXs0fSBpdGVtIGFsaWduPVwicmlnaHRcIj5cbiAgICAgICAgICB7b3JkZXIuc3RhdHVzID09PSBcIlBhaWRcIiA/IFwiJDAuMDBcIiA6IGFtb3VudFRvdGFsfVxuICAgICAgICA8L0dyaWQ+XG4gICAgICA8L0dyaWQ+XG4gICAgPC9Cb3g+XG4gICk7XG59XG5cbk9yZGVyU3VtbWFyeVRhYmxlLnByb3BUeXBlcyA9IHtcbiAgb3JkZXI6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY3VycmVuY3k6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzY291bnRfYW1vdW50OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIHRheGVzX2Ftb3VudDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBzdGF0dXM6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSksXG4gIHN1bW1pdDogUHJvcFR5cGVzLm9iamVjdCxcbiAgdGlja2V0czogUHJvcFR5cGVzLmFycmF5T2YoT2JqZWN0KVxufTtcblxuZXhwb3J0IGRlZmF1bHQgT3JkZXJTdW1tYXJ5VGFibGU7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0ICogYXMgc3R5bGVzIGZyb20gXCIuL3N0eWxlcy5tb2R1bGUuc2Nzc1wiO1xuXG5mdW5jdGlvbiBSZWZ1bmRFbWFpbFN1cHBvcnQoe1xuICBvblJlZnVuZENsaWNrLFxuICBvblJlZnVuZERldGFpbENsaWNrLFxuICBvbkVtYWlsU3VwcG9ydENsaWNrXG59KSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vcmRlclN1bW1hcnlCdXR0b259XG4gICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIG9uQ2xpY2s9e29uUmVmdW5kQ2xpY2t9XG4gICAgICA+XG4gICAgICAgIHt0KFwib3JkZXJfc3VtbWFyeS5yZXF1ZXN0X3JlZnVuZFwiKX1cbiAgICAgIDwvQnV0dG9uPlxuICAgICAgPEJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vcmRlclN1bW1hcnlCdXR0b259XG4gICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIG9uQ2xpY2s9e29uUmVmdW5kRGV0YWlsQ2xpY2t9XG4gICAgICA+XG4gICAgICAgIHt0KFwib3JkZXJfc3VtbWFyeS5yZWZ1bmRfZGV0YWlsc1wiKX1cbiAgICAgIDwvQnV0dG9uPlxuICAgICAgPEJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vcmRlclN1bW1hcnlCdXR0b259XG4gICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIG9uQ2xpY2s9e29uRW1haWxTdXBwb3J0Q2xpY2t9XG4gICAgICA+XG4gICAgICAgIHt0KFwib3JkZXJfaW5mby5lbWFpbF9zdXBwb3J0XCIpfVxuICAgICAgPC9CdXR0b24+XG4gICAgPC8+XG4gICk7XG59XG5cblJlZnVuZEVtYWlsU3VwcG9ydC5wcm9wVHlwZXMgPSB7XG4gIG9uUmVmdW5kQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICBvblJlZnVuZERldGFpbENsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25FbWFpbFN1cHBvcnRDbGljazogUHJvcFR5cGVzLmZ1bmNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlZnVuZEVtYWlsU3VwcG9ydDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCB7IEdyaWQsIEJveCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgT3JkZXJTdW1tYXJ5VGFibGUgZnJvbSBcIi4vT3JkZXJTdW1tYXJ5VGFibGVcIjtcbmltcG9ydCBSZWZ1bmRFbWFpbFN1cHBvcnQgZnJvbSBcIi4vUmVmdW5kRW1haWxTdXBwb3J0XCI7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSBcIi4vc3R5bGVzLm1vZHVsZS5zY3NzXCI7XG5cbmZ1bmN0aW9uIE9yZGVyU3VtbWFyeSh7IG9yZGVyLCBzdW1taXQsIHRpY2tldHMgfSkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxCb3ggY2xhc3NOYW1lPXtzdHlsZXMub3JkZXJTdW1tYXJ5V3JhcHBlcn0gc3g9e3sgcHQ6IDQsIHB4OiA0IH19PlxuICAgICAgICA8aDM+e3QoXCJvcmRlcl9zdW1tYXJ5Lm9yZGVyX3N1bW1hcnlcIil9PC9oMz5cbiAgICAgICAgPEdyaWQgY29udGFpbmVyPlxuICAgICAgICAgIDxHcmlkXG4gICAgICAgICAgICB4cz17MTJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5vcmRlclN1bW1hcnlQdXJjaGFzZWRJbmZvfVxuICAgICAgICAgICAgc3g9e3sgcGI6IDMgfX1cbiAgICAgICAgICAgIGl0ZW1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8T3JkZXJTdW1tYXJ5VGFibGVcbiAgICAgICAgICAgICAgb3JkZXI9e29yZGVyfVxuICAgICAgICAgICAgICBzdW1taXQ9e3N1bW1pdH1cbiAgICAgICAgICAgICAgdGlja2V0cz17dGlja2V0c31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9HcmlkPlxuICAgICAgICA8L0dyaWQ+XG4gICAgICA8L0JveD5cbiAgICAgIDxCb3ggeHM9ezEyfSBzeD17eyBwYjogMyB9fT5cbiAgICAgICAgPFJlZnVuZEVtYWlsU3VwcG9ydFxuICAgICAgICAgIG9uUmVmdW5kQ2xpY2s9eygpID0+IHt9fVxuICAgICAgICAgIG9uUmVmdW5kRGV0YWlsQ2xpY2s9eygpID0+IHt9fVxuICAgICAgICAgIG9uRW1haWxTdXBwb3J0Q2xpY2s9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgPC9Cb3g+XG4gICAgPC8+XG4gICk7XG59XG5cbk9yZGVyU3VtbWFyeS5wcm9wVHlwZXMgPSB7XG4gIG9yZGVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzdW1taXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gIHRpY2tldHM6IFByb3BUeXBlcy5hcnJheU9mKE9iamVjdClcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyU3VtbWFyeTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBPcmRlckxpc3RUaWNrZXRzIGZyb20gXCIuL09yZGVyTGlzdFRpY2tldHNcIjtcbmltcG9ydCB7IFBBR0lOQVRJT05fRElTUExBWV9DT1VOVCB9IGZyb20gXCIuLi8uLi91dGlscy9jb25zdGFudHNcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcblxuZnVuY3Rpb24gT3JkZXJMaXN0SXRlbSh7IHRpY2tldHMsIHRvdGFsLCBvblBhZ2luYXRlQ2xpY2ssIHN1bW1pdCB9KSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2l0ZW1zVG9EaXNwbGF5LCBzZXRJdGVtc1RvRGlzcGxheV0gPSB1c2VTdGF0ZShcbiAgICBQQUdJTkFUSU9OX0RJU1BMQVlfQ09VTlRcbiAgKTtcbiAgY29uc3Qgc2xpY2VkVGlja2V0cyA9IHRpY2tldHM/LnNsaWNlKDAsIGl0ZW1zVG9EaXNwbGF5KTtcbiAgY29uc3Qgb25WaWV3TW9yZSA9ICgpID0+IHtcbiAgICBpZiAodG90YWwgPiB0aWNrZXRzLmxlbmd0aCkge1xuICAgICAgb25QYWdpbmF0ZUNsaWNrKCk7XG4gICAgfVxuICAgIHNldEl0ZW1zVG9EaXNwbGF5KGl0ZW1zVG9EaXNwbGF5ICsgUEFHSU5BVElPTl9ESVNQTEFZX0NPVU5UKTtcbiAgfTtcblxuICBjb25zdCBvblZpZXdMZXNzID0gKCkgPT4gc2V0SXRlbXNUb0Rpc3BsYXkoUEFHSU5BVElPTl9ESVNQTEFZX0NPVU5UKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7c2xpY2VkVGlja2V0cz8ubWFwKCh0aWNrZXQpID0+IChcbiAgICAgICAgPE9yZGVyTGlzdFRpY2tldHMga2V5PXt0aWNrZXQuaWR9IHRpY2tldD17dGlja2V0fSBzdW1taXQ9e3N1bW1pdH0gLz5cbiAgICAgICkpfVxuICAgICAge3RpY2tldHM/Lmxlbmd0aCA+IGl0ZW1zVG9EaXNwbGF5ID8gKFxuICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT17c3R5bGVzLnZpZXdNb3JlQnV0dG9ufSBvbkNsaWNrPXtvblZpZXdNb3JlfT5cbiAgICAgICAgICB7dChcIm9yZGVycy10aWNrZXRzLnZpZXdfbW9yZVwiKX1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApIDogKFxuICAgICAgICBcIlwiXG4gICAgICApfVxuICAgICAge3NsaWNlZFRpY2tldHM/Lmxlbmd0aCA+IFBBR0lOQVRJT05fRElTUExBWV9DT1VOVCAmJlxuICAgICAgc2xpY2VkVGlja2V0cz8ubGVuZ3RoID09PSB0b3RhbCA/IChcbiAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9e3N0eWxlcy52aWV3TW9yZUJ1dHRvbn0gb25DbGljaz17b25WaWV3TGVzc30+XG4gICAgICAgICAge3QoXCJvcmRlcnMtdGlja2V0cy52aWV3X2xlc3NcIil9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKSA6IChcbiAgICAgICAgXCJcIlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn1cblxuT3JkZXJMaXN0SXRlbS5wcm9wVHlwZXMgPSB7XG4gIHRpY2tldHM6IFByb3BUeXBlcy5hcnJheU9mKE9iamVjdClcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyTGlzdEl0ZW07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBCb3gsIEdyaWQsIEJ1dHRvbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgU3RhY2sgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvU3RhY2tcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcbmltcG9ydCBUaWNrZXRTdGF0dXMgZnJvbSBcIi4uL1RpY2tldFN0YXR1c1wiO1xuaW1wb3J0IE9yZGVyTnVtYmVyIGZyb20gXCIuL09yZGVyTnVtYmVyXCI7XG5pbXBvcnQgeyBnZXRTdW1taXRSZWFzc2lnbkRhdGUsIHVzZU5vdyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuXG5mdW5jdGlvbiBPcmRlckxpc3RUaWNrZXRzKHsgdGlja2V0LCBzdW1taXQgfSkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IG5vdyA9IHVzZU5vdygpO1xuICBjb25zdCBnZXRBY3RpdmVCdXR0b25BY3Rpb25zID0gKHRpY2tldCkgPT4ge1xuICAgIGlmICh0aWNrZXQub3duZXI/LnN0YXR1cyA9PT0gXCJJbmNvbXBsZXRlXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtzdHlsZXMudmlld0ZpbmlzaFRpY2tldEJ1dHRvbn0+XG4gICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLmZpbmlzaF90aWNrZXRcIil9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRpY2tldC5vd25lcj8uc3RhdHVzID09PSBcIkNvbXBsZXRlXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtzdHlsZXMudmlld0ZpbmlzaFRpY2tldEJ1dHRvbn0+XG4gICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLnZpZXdfdGlja2V0XCIpfVxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuICBjb25zdCBzaG93UmVhc3NpZ25CdXR0b24gPSAoKSA9PiB7XG4gICAgY29uc3QgcmVhc3NpZ25EYXRlID0gZ2V0U3VtbWl0UmVhc3NpZ25EYXRlKHN1bW1pdCk7XG4gICAgY29uc3QgaXNSZWFzc2lnbmFibGUgPSByZWFzc2lnbkRhdGUgPiBub3c7XG4gICAgcmV0dXJuIGlzUmVhc3NpZ25hYmxlID8gKFxuICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9e3N0eWxlcy5yZWFzc2lnbkJ1dHRvbn0+XG4gICAgICAgIHt0KFwidGlja2V0X3N0YXR1cy5yZWFzc2lnbl90aWNrZXRcIil9XG4gICAgICA8L0J1dHRvbj5cbiAgICApIDogKFxuICAgICAgXCJcIlxuICAgICk7XG4gIH07XG4gIHJldHVybiAoXG4gICAgPEdyaWQga2V5PXt0aWNrZXQuaWR9IGNsYXNzTmFtZT17c3R5bGVzLm9yZGVyV3JhcHBlcn0gY29udGFpbmVyPlxuICAgICAgPEdyaWQgeHM9ezd9IHBhZGRpbmc9ezJ9IGl0ZW0gY2xhc3NOYW1lPXtzdHlsZXMudGlja2V0VGlja2V0VHlwZX0+XG4gICAgICAgIDxoND57dGlja2V0LnRpY2tldF90eXBlPy5uYW1lfTwvaDQ+XG4gICAgICA8L0dyaWQ+XG4gICAgICA8R3JpZCB4cz17NX0gcGFkZGluZz17Mn0gaXRlbT5cbiAgICAgICAgey8qIFRvIGFkZCBiYWRnZSBmZWF0dXJlcyAqL31cbiAgICAgIDwvR3JpZD5cbiAgICAgIDxHcmlkIHhzPXsxMn0gc3g9e3sgcHg6IDIsIHBiOiAyIH19IGl0ZW0+XG4gICAgICAgIHt0aWNrZXQub3duZXI/LmVtYWlsID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8Qm94IGNsYXNzTmFtZT17c3R5bGVzLmxhYmVsfT5cbiAgICAgICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLmFzc2lnbmVkX3RvXCIpfTpcbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPEJveCBjbGFzc05hbWU9e3N0eWxlcy50aWNrZXRPd25lckVtYWlsfT57dGlja2V0Lm93bmVyPy5lbWFpbH08L0JveD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICB0aWNrZXQuaXNfYWN0aXZlICYmIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLnRpY2tldE93bmVyRW1haWx9PlxuICAgICAgICAgICAgICB7dChcInRpY2tldF9zdGF0dXMuYXR0ZW5kZWVfc3RhdHVzX3VuYXNzaWduZWRcIil9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlcy50aWNrZXROb30+XG4gICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLnRpY2tldF9ub1wiKX06e1wiIFwifVxuICAgICAgICAgIDxPcmRlck51bWJlciBudW1iZXI9e3RpY2tldC5udW1iZXJ9IGNvcHkgdHJ1bmNhdGVkIC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvR3JpZD5cbiAgICAgIDxHcmlkIGNvbnRhaW5lcj5cbiAgICAgICAgPEdyaWQgY29udGFpbmVyIGRpcmVjdGlvbj1cInJvd1wiIHhzPXsxMn0gbGc9ezZ9IGFsaWduSXRlbXM9XCJjZW50ZXJcIiBpdGVtPlxuICAgICAgICAgIDxUaWNrZXRTdGF0dXMgdGlja2V0PXt0aWNrZXR9IC8+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgICAgPEdyaWQgcGFkZGluZz17Mn0geHM9ezEyfSBsZz17Nn0gY29udGFpbmVyIGl0ZW0+XG4gICAgICAgICAgPEdyaWRcbiAgICAgICAgICAgIGl0ZW1cbiAgICAgICAgICAgIGNvbnRhaW5lclxuICAgICAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudGlja2V0QWN0aW9uQnV0dG9uc31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dGlja2V0LmlzX2FjdGl2ZSAmJlxuICAgICAgICAgICAgICAodGlja2V0Lm93bmVyID8gKFxuICAgICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2dldEFjdGl2ZUJ1dHRvbkFjdGlvbnModGlja2V0KX1cbiAgICAgICAgICAgICAgICAgIHtzaG93UmVhc3NpZ25CdXR0b24oKX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtzdHlsZXMuYXNzaWduVGlja2V0QnV0dG9ufT5cbiAgICAgICAgICAgICAgICAgIHt0KFwidGlja2V0X3N0YXR1cy5hc3NpZ25fdGlja2V0XCIpfVxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgIDwvR3JpZD5cbiAgICAgIDwvR3JpZD5cbiAgICA8L0dyaWQ+XG4gICk7XG59XG5cbk9yZGVyTGlzdFRpY2tldHMucHJvcFR5cGVzID0ge1xuICB0aWNrZXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgaWQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb3duZXI6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBlbWFpbDogUHJvcFR5cGVzLnN0cmluZ1xuICAgIH0pLFxuICAgIG51bWJlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0b3RhbF9yZWZ1bmRlZF9hbW91bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgdGlja2V0X3R5cGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgfSlcbiAgfSlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyTGlzdFRpY2tldHM7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgQ29udGVudENvcHlJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0NvbnRlbnRDb3B5XCI7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSBcIi4vc3R5bGVzLm1vZHVsZS5zY3NzXCI7XG5cbmZ1bmN0aW9uIE9yZGVyTnVtYmVyKHsgbnVtYmVyLCBjb3B5ID0gZmFsc2UsIHRydW5jYXRlZCA9IGZhbHNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLm9yZGVyVGlja2V0Tm9Db250YWluZXJ9PlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPXt0cnVuY2F0ZWQgJiYgc3R5bGVzLm9yZGVyVGlja2V0TnVtYmVyVHJ1bmNhdGVkfT5cbiAgICAgICAge251bWJlcn1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtjb3B5ICYmIChcbiAgICAgICAgPENvbnRlbnRDb3B5SWNvblxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNvcHlJY29ufVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KG51bWJlcil9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5PcmRlck51bWJlci5wcm9wVHlwZXMgPSB7XG4gIG51bWJlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgY29weTogUHJvcFR5cGVzLmJvb2xcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyTnVtYmVyO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBHcmlkLCBCb3ggfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IFRhYnMgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvVGFic1wiO1xuaW1wb3J0IFRhYiBmcm9tIFwiQG11aS9tYXRlcmlhbC9UYWJcIjtcbmltcG9ydCBFcnJvckljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRXJyb3JcIjtcbmltcG9ydCBPcmRlckxpc3RJdGVtIGZyb20gXCIuL09yZGVyTGlzdEl0ZW1cIjtcbmltcG9ydCBPcmRlclN1bW1hcnkgZnJvbSBcIi4uL09yZGVyU3VtbWFyeVwiO1xuaW1wb3J0ICogYXMgc3R5bGVzIGZyb20gXCIuL3N0eWxlcy5tb2R1bGUuc2Nzc1wiO1xuXG5mdW5jdGlvbiBUYWJQYW5lbChwcm9wcykge1xuICBjb25zdCB7IGNoaWxkcmVuLCB2YWx1ZSwgaW5kZXggfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICBoaWRkZW49e3ZhbHVlICE9PSBpbmRleH1cbiAgICAgIGlkPXtgdGFicGFuZWwtJHtpbmRleH1gfVxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtgdGFiLSR7aW5kZXh9YH1cbiAgICA+XG4gICAgICB7dmFsdWUgPT09IGluZGV4ICYmIGNoaWxkcmVufVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBPcmRlcnNMaXN0RGVza3RvcE1vYmlsZSh7XG4gIGlzTW9iaWxlLFxuICBzdW1taXQsXG4gIHRpY2tldHMsXG4gIG9yZGVyLFxuICB0b3RhbCxcbiAgZGV0YWlsc1JlcXVpcmVkLFxuICBvblBhZ2luYXRlQ2xpY2tcbn0pIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoXywgbmV3VmFsdWUpID0+IHtcbiAgICBzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIH07XG5cbiAgY29uc3QgbW9yZURldGFpbHMgPSAoKSA9PlxuICAgIGRldGFpbHNSZXF1aXJlZCAmJiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlcy5kZXRhaWxzUmVxdWlyZWRMYWJlbH0+XG4gICAgICAgIDxFcnJvckljb24gc3g9e3sgY29sb3I6IFwiI0ZGOTgwMFwiIH19IC8+XG4gICAgICAgIHt0KFwidGlja2V0X3N0YXR1cy5zdGF0dXNfZGV0YWlsc19yZXF1aXJlZFwiKX1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gIHJldHVybiBpc01vYmlsZSA/IChcbiAgICA8Qm94IGNsYXNzTmFtZT17c3R5bGVzLnRpY2tldExpc3RDb250YWluZXJ9PlxuICAgICAgPEJveCBzeD17eyBib3JkZXJDb2xvcjogXCJkaXZpZGVyXCIsIHBiOiAyIH19PlxuICAgICAgICA8VGFic1xuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIHRleHRDb2xvcj1cIiMwMDBcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJUaWNrZXRzICYgU3VtbWFyeVwiXG4gICAgICAgICAgVGFiSW5kaWNhdG9yUHJvcHM9e3tcbiAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IFwiIzAwMFwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUYWIgbGFiZWw9e3QoXCJsYWJlbHMudGlja2V0c1wiKX0gY2xhc3NOYW1lPXtzdHlsZXMudGFiQnV0dG9uc30gLz5cbiAgICAgICAgICA8VGFiIGxhYmVsPXt0KFwibGFiZWxzLnN1bW1hcnlcIil9IGNsYXNzTmFtZT17c3R5bGVzLnRhYkJ1dHRvbnN9IC8+XG4gICAgICAgIDwvVGFicz5cbiAgICAgIDwvQm94PlxuICAgICAge21vcmVEZXRhaWxzKCl9XG4gICAgICA8VGFiUGFuZWwgdmFsdWU9e3ZhbHVlfSBpbmRleD17MH0+XG4gICAgICAgIDxPcmRlckxpc3RJdGVtXG4gICAgICAgICAgb3JkZXI9e29yZGVyfVxuICAgICAgICAgIHRpY2tldHM9e3RpY2tldHN9XG4gICAgICAgICAgdG90YWw9e3RvdGFsfVxuICAgICAgICAgIG9uUGFnaW5hdGVDbGljaz17b25QYWdpbmF0ZUNsaWNrfVxuICAgICAgICAgIHN1bW1pdD17c3VtbWl0fVxuICAgICAgICAvPlxuICAgICAgPC9UYWJQYW5lbD5cbiAgICAgIDxUYWJQYW5lbCB2YWx1ZT17dmFsdWV9IGluZGV4PXsxfT5cbiAgICAgICAgPE9yZGVyU3VtbWFyeSBvcmRlcj17b3JkZXJ9IHN1bW1pdD17c3VtbWl0fSB0aWNrZXRzPXt0aWNrZXRzfSAvPlxuICAgICAgPC9UYWJQYW5lbD5cbiAgICA8L0JveD5cbiAgKSA6IChcbiAgICA8PlxuICAgICAgPEdyaWQgaXRlbSBtZD17MTJ9PlxuICAgICAgICB7bW9yZURldGFpbHMoKX1cbiAgICAgIDwvR3JpZD5cbiAgICAgIDxHcmlkXG4gICAgICAgIHBhZGRpbmc9ezJ9XG4gICAgICAgIGl0ZW1cbiAgICAgICAgbWQ9ezd9XG4gICAgICAgIG9yZGVyPXt7IG1kOiAxIH19XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnRpY2tldExpc3RDb250YWluZXJ9XG4gICAgICA+XG4gICAgICAgIDxPcmRlckxpc3RJdGVtXG4gICAgICAgICAgb3JkZXI9e29yZGVyfVxuICAgICAgICAgIHRpY2tldHM9e3RpY2tldHN9XG4gICAgICAgICAgdG90YWw9e3RvdGFsfVxuICAgICAgICAgIG9uUGFnaW5hdGVDbGljaz17b25QYWdpbmF0ZUNsaWNrfVxuICAgICAgICAgIHN1bW1pdD17c3VtbWl0fVxuICAgICAgICAvPlxuICAgICAgPC9HcmlkPlxuICAgICAgPEdyaWQgcGFkZGluZz17Mn0gaXRlbSBtZD17NX0gb3JkZXI9e3sgbWQ6IDEgfX0+XG4gICAgICAgIDxPcmRlclN1bW1hcnkgb3JkZXI9e29yZGVyfSBzdW1taXQ9e3N1bW1pdH0gdGlja2V0cz17dGlja2V0c30gLz5cbiAgICAgIDwvR3JpZD5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgT3JkZXJzTGlzdERlc2t0b3BNb2JpbGU7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yLCBzaGFsbG93RXF1YWwgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IEdyaWQsIEJveCwgQnV0dG9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgdXNlTWVkaWFRdWVyeSBmcm9tIFwiQG11aS9tYXRlcmlhbC91c2VNZWRpYVF1ZXJ5XCI7XG5pbXBvcnQgeyBnZXRUaWNrZXRzQnlPcmRlciB9IGZyb20gXCIuLi8uLi9hY3Rpb25zXCI7XG5pbXBvcnQgeyBnZXRPcmRlclRpY2tldHMsIGdldEZvcm1hdHRlZERhdGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IE9ORV9QQUdFX05FWFQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvY29uc3RhbnRzXCI7XG5pbXBvcnQgT3JkZXJOdW1iZXIgZnJvbSBcIi4vT3JkZXJOdW1iZXJcIjtcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tIFwiLi9zdHlsZXMubW9kdWxlLnNjc3NcIjtcbmltcG9ydCBPcmRlcnNMaXN0RGVza3RvcE1vYmlsZSBmcm9tIFwiLi9PcmRlcnNMaXN0RGVza3RvcE1vYmlsZVwiO1xuXG5mdW5jdGlvbiBPcmRlcnNMaXN0KHByb3BzKSB7XG4gIGNvbnN0IHsgc3VtbWl0LCBvcmRlciB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHBlcl9wYWdlLCBsYXN0X3BhZ2UsIG1lbWJlck9yZGVycyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS53aWRnZXRTdGF0ZSB8fCB7fSxcbiAgICBzaGFsbG93RXF1YWxcbiAgKTtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBpc01vYmlsZSA9IHVzZU1lZGlhUXVlcnkodGhlbWUuYnJlYWtwb2ludHMuZG93bihcImxnXCIpKTtcbiAgY29uc3QgW2lzTW9iaWxlVmlld2FibGUsIHNldE1vYmlsZVZpZXdhYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGV0YWlsc1JlcXVpcmVkID0gb3JkZXIubWVtYmVyVGlja2V0cz8uZmluZChcbiAgICAodGlja2V0KSA9PiB0aWNrZXQub3duZXI/LnN0YXR1cyA9PT0gXCJJbmNvbXBsZXRlXCJcbiAgKTtcbiAgY29uc3QgZmV0Y2hUaWNrZXRzQnlPcmRlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkaXNwYXRjaChcbiAgICAgIGdldFRpY2tldHNCeU9yZGVyKHtcbiAgICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXG4gICAgICAgIGN1cnJlbnRfcGFnZTogbGFzdF9wYWdlLFxuICAgICAgICBwZXJQYWdlOiBwZXJfcGFnZVxuICAgICAgfSlcbiAgICApLmNhdGNoKChlKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoVGlja2V0c0J5T3JkZXIoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IG9uUGFnaW5hdGVDbGljayA9ICgpID0+XG4gICAgZGlzcGF0Y2goXG4gICAgICBnZXRUaWNrZXRzQnlPcmRlcih7XG4gICAgICAgIG9yZGVySWQ6IG9yZGVyLmlkLFxuICAgICAgICBwYWdlOiBvcmRlci50aWNrZXRzX3BhZ2VfY3VycmVudCArIE9ORV9QQUdFX05FWFQsXG4gICAgICAgIHBlclBhZ2U6IHBlcl9wYWdlLFxuICAgICAgICBuZXh0OiB0cnVlXG4gICAgICB9KVxuICAgICk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEJveFxuICAgICAgICBzeD17e1xuICAgICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICAgIHhzOiAyLFxuICAgICAgICAgICAgbWQ6IDEsXG4gICAgICAgICAgICBsZzogMFxuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMub3JkZXJUaWNrZXRJbmZvQ29udGFpbmVyfVxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlcy5vcmRlclRpY2tldEluZm99PlxuICAgICAgICAgIHt0KFwib3JkZXJzLnB1cmNoYXNlZFwiKX06IHtnZXRGb3JtYXR0ZWREYXRlKG9yZGVyLmNyZWF0ZWQpfSB8e1wiIFwifVxuICAgICAgICAgIHt0KFwib3JkZXJfc3VtbWFyeS5vcmRlcl9ub1wiKX06e1wiIFwifVxuICAgICAgICAgIDxPcmRlck51bWJlciBudW1iZXI9e29yZGVyLm51bWJlcn0gY29weSB0cnVuY2F0ZWQgLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB7aXNNb2JpbGUgJiYgKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIHN4PXt7IHBhZGRpbmc6IDAgfX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmJsYWNrQnV0dG9ufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlVmlld2FibGUoIWlzTW9iaWxlVmlld2FibGUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc01vYmlsZVZpZXdhYmxlXG4gICAgICAgICAgICAgID8gdChcInRpY2tldF9zdGF0dXMuaGlkZV90aWNrZXRzXCIpXG4gICAgICAgICAgICAgIDogdChcInRpY2tldF9zdGF0dXMudmlld190aWNrZXRzXCIpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9Cb3g+XG4gICAgICA8R3JpZFxuICAgICAgICBrZXk9e29yZGVyLmlkfVxuICAgICAgICBjb250YWluZXJcbiAgICAgICAgcm93U3BhY2luZz17MX1cbiAgICAgICAgY29sdW1uU3BhY2luZz17eyB4czogMSwgc206IDIsIG1kOiAzIH19XG4gICAgICAgIGNsYXNzTmFtZT17YCR7c3R5bGVzLm9yZGVyVGlja2V0Q29udGFpbmVyfSAke1xuICAgICAgICAgIGlzTW9iaWxlICYmICFpc01vYmlsZVZpZXdhYmxlID8gc3R5bGVzLmRpc3BsYXlfbm9uZSA6IFwiXCJcbiAgICAgICAgfWB9XG4gICAgICAgIHN4PXt7XG4gICAgICAgICAgZmxleERpcmVjdGlvbjoge1xuICAgICAgICAgICAgbWQ6IFwicm93XCIsXG4gICAgICAgICAgICBsZzogXCJyb3dcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgeHM6IDIsXG4gICAgICAgICAgICBtZDogMCxcbiAgICAgICAgICAgIGxnOiAwXG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8T3JkZXJzTGlzdERlc2t0b3BNb2JpbGVcbiAgICAgICAgICBpc01vYmlsZT17aXNNb2JpbGV9XG4gICAgICAgICAgc3VtbWl0PXtzdW1taXR9XG4gICAgICAgICAgb3JkZXI9e29yZGVyfVxuICAgICAgICAgIHRpY2tldHM9e2dldE9yZGVyVGlja2V0cyhtZW1iZXJPcmRlcnMsIG9yZGVyLmlkKX1cbiAgICAgICAgICB0b3RhbD17b3JkZXIudGlja2V0c190b3RhbH1cbiAgICAgICAgICBkZXRhaWxzUmVxdWlyZWQ9e2RldGFpbHNSZXF1aXJlZH1cbiAgICAgICAgICBvblBhZ2luYXRlQ2xpY2s9e29uUGFnaW5hdGVDbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvR3JpZD5cbiAgICA8Lz5cbiAgKTtcbn1cblxuT3JkZXJzTGlzdC5wcm9wVHlwZXMgPSB7XG4gIHN1bW1pdDogUHJvcFR5cGVzLm9iamVjdCxcbiAgb3JkZXI6IFByb3BUeXBlcy5vYmplY3Rcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyc0xpc3Q7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gXCJyZWFjdC1pMThuZXh0XCI7XG5pbXBvcnQgeyBDb250YWluZXIsIEJ1dHRvbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSBcIi4vc3R5bGVzLm1vZHVsZS5zY3NzXCI7XG5cbmZ1bmN0aW9uIFRpY2tldFN0YXR1cyh7IHRpY2tldCB9KSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgaXNBY3RpdmUgPSB0aWNrZXQuaXNfYWN0aXZlO1xuICBjb25zdCByZWZ1bmRfcmVxdWVzdHMgPSB0aWNrZXQucmVmdW5kX3JlcXVlc3RzLmZpbmQoXG4gICAgKHIpID0+IHIuc3RhdHVzID09PSBcIlJlcXVlc3RlZFwiXG4gICk7XG4gIGNvbnN0IHRpY2tldF9zdGF0dXNfaW5jb21wbGV0ZSA9IHRpY2tldC5vd25lcj8uc3RhdHVzID09PSBcIkluY29tcGxldGVcIjtcbiAgY29uc3QgdGlja2V0X3VuYXNzaWduZWQgPSB0aWNrZXQub3duZXJfaWQgPT09IDA7XG4gIGNvbnN0IHRpY2tldF9jb21wbGV0ZSA9IHRpY2tldC5vd25lciAmJiB0aWNrZXQub3duZXI/LnN0YXR1cyA9PT0gXCJDb21wbGV0ZVwiO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lciBjbGFzc05hbWU9e3N0eWxlcy50aWNrZXRTdGF0dXNDb250YWluZXJ9PlxuICAgICAge2lzQWN0aXZlID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIHtyZWZ1bmRfcmVxdWVzdHMgJiYgKFxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake3N0eWxlcy5idXR0b25QaWxsfSAke3N0eWxlcy5idXR0b25SZWZ1bmRSZXF1ZXN0ZWR9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLnN0YXR1c19yZWZ1bmRfcmVxdWVzdGVkXCIpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dGlja2V0X3N0YXR1c19pbmNvbXBsZXRlICYmIChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtzdHlsZXMuYnV0dG9uUGlsbH0gJHtzdHlsZXMuYnV0dG9uSW5jb21wbGV0ZX1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dChcInRpY2tldF9zdGF0dXMuc3RhdHVzX2luY29tcGxldGVcIil9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0aWNrZXRfdW5hc3NpZ25lZCAmJiAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7c3R5bGVzLmJ1dHRvblBpbGx9ICR7c3R5bGVzLmJ1dHRvblVuYXNzaWduZWR9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoXCJ0aWNrZXRfc3RhdHVzLnN0YXR1c191bmFzc2lnbmVkXCIpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dGlja2V0X2NvbXBsZXRlICYmIChcbiAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtgJHtzdHlsZXMuYnV0dG9uUGlsbH0gJHtzdHlsZXMuYnV0dG9uQ29tcGxldGV9YH0+XG4gICAgICAgICAgICAgIHt0KFwidGlja2V0X3N0YXR1cy5zdGF0dXNfY29tcGxldGVcIil9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPXtgJHtzdHlsZXMuYnV0dG9uUGlsbH0gJHtzdHlsZXMuYnV0dG9uQ2FuY2VsbGVkfWB9PlxuICAgICAgICAgIHt0KFwidGlja2V0X3N0YXR1cy5zdGF0dXNfY2FuY2VsbGVkXCIpfVxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59XG5cblRpY2tldFN0YXR1cy5wcm9wVHlwZXMgPSB7XG4gIHRpY2tldDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBvd25lcjogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHN0YXR1czogUHJvcFR5cGVzLnN0cmluZ1xuICAgIH0pLFxuICAgIHJlZnVuZF9yZXF1ZXN0czogUHJvcFR5cGVzLmFycmF5T2YoT2JqZWN0KVxuICB9KVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGlja2V0U3RhdHVzO1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAyNCBPcGVuU3RhY2sgRm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogKi9cbmltcG9ydCB7IExPR09VVF9VU0VSIH0gZnJvbSBcIm9wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi9saWIvc2VjdXJpdHkvYWN0aW9uc1wiO1xuaW1wb3J0IHtcbiAgUkVTRVRfU1RBVEUsXG4gIFJFU0VUX0ZJTFRFUixcbiAgU0VUX1NVTU1JVCxcbiAgU0VUX1VTRVIsXG4gIEdFVF9VU0VSX09SREVSUyxcbiAgR0VUX1RJQ0tFVFNfQllfT1JERVJcbn0gZnJvbSBcIi4vYWN0aW9uc1wiO1xuaW1wb3J0IHsgRklSU1RfUEFHRSB9IGZyb20gXCIuL3V0aWxzL2NvbnN0YW50c1wiO1xuXG5jb25zdCBERUZBVUxUX1NUQVRFID0ge1xuICBzdW1taXQ6IG51bGwsXG4gIHVzZXI6IHt9LFxuICB3aWRnZXRMb2FkaW5nOiBmYWxzZSxcbiAgbWVtYmVyT3JkZXJzOiBbXSxcbiAgZXJyb3JzOiB7fSxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGlzT3JkZXJMb2FkaW5nOiBmYWxzZSxcbiAgb3JkZXJzX2N1cnJlbnRfcGFnZTogMSxcbiAgb3JkZXJzX2xhc3RfcGFnZTogMSxcbiAgb3JkZXJzX3Blcl9wYWdlOiA1LFxuICBvcmRlcnNfdG90YWw6IDAsXG4gIHRpY2tldF9jdXJyZW50X3BhZ2U6IDEsXG4gIHRpY2tldF9sYXN0X3BhZ2U6IDEsXG4gIHRpY2tldF9wZXJfcGFnZTogNSxcbiAgdGlja2V0X3RvdGFsOiAwXG59O1xuXG5jb25zdCBXaWRnZXRSZWR1Y2VyID0gKHN0YXRlID0gREVGQVVMVF9TVEFURSwgeyB0eXBlLCBwYXlsb2FkIH0gPSB7fSkgPT4ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIExPR09VVF9VU0VSOlxuICAgIGNhc2UgUkVTRVRfU1RBVEU6XG4gICAgICByZXR1cm4gREVGQVVMVF9TVEFURTtcbiAgICBjYXNlIFJFU0VUX0ZJTFRFUjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBvcmRlcnNfY3VycmVudF9wYWdlOiAxLFxuICAgICAgICBvcmRlcnNfbGFzdF9wYWdlOiAxXG4gICAgICB9O1xuICAgIGNhc2UgU0VUX1NVTU1JVDpcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzdW1taXQ6IHBheWxvYWQgfTtcbiAgICBjYXNlIFNFVF9VU0VSOlxuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHVzZXI6IHBheWxvYWQgfTtcbiAgICBjYXNlIEdFVF9VU0VSX09SREVSUzoge1xuICAgICAgY29uc3QgeyBtZW1iZXJPcmRlcnMgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgeyBkYXRhLCB0b3RhbCwgY3VycmVudF9wYWdlIH0gPSBwYXlsb2FkLnJlc3BvbnNlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIG1lbWJlck9yZGVyczpcbiAgICAgICAgICBjdXJyZW50X3BhZ2UgPT09IEZJUlNUX1BBR0UgPyBkYXRhIDogWy4uLm1lbWJlck9yZGVycywgLi4uZGF0YV0sXG4gICAgICAgIG9yZGVyc190b3RhbDogdG90YWwsXG4gICAgICAgIG9yZGVyc19jdXJyZW50X3BhZ2U6IGN1cnJlbnRfcGFnZVxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBHRVRfVElDS0VUU19CWV9PUkRFUjoge1xuICAgICAgY29uc3QgeyBtZW1iZXJPcmRlcnMgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgeyBkYXRhLCB0b3RhbCwgY3VycmVudF9wYWdlLCBsYXN0X3BhZ2UgfSA9IHBheWxvYWQucmVzcG9uc2U7XG4gICAgICBjb25zdCBmb3JtZXJPcmRlciA9IG1lbWJlck9yZGVycy5maW5kKChvKSA9PiBvLmlkID09PSBkYXRhWzBdPy5vcmRlcl9pZCk7XG4gICAgICBjb25zdCB1cGRhdGVkT3JkZXIgPSB7XG4gICAgICAgIC4uLmZvcm1lck9yZGVyLFxuICAgICAgICBtZW1iZXJUaWNrZXRzOlxuICAgICAgICAgIGN1cnJlbnRfcGFnZSA9PT0gRklSU1RfUEFHRVxuICAgICAgICAgICAgPyBkYXRhXG4gICAgICAgICAgICA6IFsuLi5mb3JtZXJPcmRlci5tZW1iZXJUaWNrZXRzLCAuLi5kYXRhXSxcbiAgICAgICAgdGlja2V0c19wYWdlX2N1cnJlbnQ6IGN1cnJlbnRfcGFnZSxcbiAgICAgICAgdGlja2V0c19wYWdlX2xhc3Q6IGxhc3RfcGFnZSxcbiAgICAgICAgdGlja2V0c190b3RhbDogdG90YWxcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbWVtYmVyT3JkZXJzOiBtZW1iZXJPcmRlcnMubWFwKChtbykgPT5cbiAgICAgICAgICBtby5pZCA9PT0gdXBkYXRlZE9yZGVyLmlkID8gdXBkYXRlZE9yZGVyIDogbW9cbiAgICAgICAgKVxuICAgICAgfTtcbiAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgV2lkZ2V0UmVkdWNlcjtcbiIsImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVN0b3JlIH0gZnJvbSBcIkByZWR1eGpzL3Rvb2xraXRcIjtcbmltcG9ydCB7XG4gIHBlcnNpc3RTdG9yZSxcbiAgcGVyc2lzdFJlZHVjZXIsXG4gIEZMVVNILFxuICBSRUhZRFJBVEUsXG4gIFBBVVNFLFxuICBQRVJTSVNULFxuICBQVVJHRSxcbiAgUkVHSVNURVJcbn0gZnJvbSBcInJlZHV4LXBlcnNpc3RcIjtcbmltcG9ydCBzdG9yYWdlIGZyb20gXCJyZWR1eC1wZXJzaXN0L2xpYi9zdG9yYWdlXCI7XG5pbXBvcnQgeyBjb21iaW5lUmVkdWNlcnMgfSBmcm9tIFwicmVkdXhcIjtcbmltcG9ydCBXaWRnZXRSZWR1Y2VyIGZyb20gXCIuL3JlZHVjZXJcIjtcblxuZXhwb3J0IGNvbnN0IGdldFN0b3JlID0gKHsgY2xpZW50SWQsIGxvZ2luVXJsLCBzdW1taXQsIGFwaUJhc2VVcmwgfSkgPT4ge1xuICAvLyB0byBhZGQgb3RoZXIgcmVkdWNlcnMgbGF0ZXJcbiAgY29uc3QgcmVkdWNlcnMgPSBjb21iaW5lUmVkdWNlcnMoe1xuICAgIHdpZGdldFN0YXRlOiBXaWRnZXRSZWR1Y2VyXG4gIH0pO1xuXG4gIGNvbnN0IHN0b3JlID0gY29uZmlndXJlU3RvcmUoe1xuICAgIHJlZHVjZXI6IHBlcnNpc3RSZWR1Y2VyKFxuICAgICAge1xuICAgICAgICBrZXk6IGByb290X215X29yZGVyc190aWNrZXRzXyR7Y2xpZW50SWR9YCxcbiAgICAgICAgc3RvcmFnZVxuICAgICAgfSxcbiAgICAgIHJlZHVjZXJzXG4gICAgKSxcbiAgICBtaWRkbGV3YXJlOiAoZ2V0RGVmYXVsdE1pZGRsZXdhcmUpID0+XG4gICAgICBnZXREZWZhdWx0TWlkZGxld2FyZSh7XG4gICAgICAgIHRodW5rOiB7XG4gICAgICAgICAgZXh0cmFBcmd1bWVudDoge1xuICAgICAgICAgICAgY2xpZW50SWQsXG4gICAgICAgICAgICBhcGlCYXNlVXJsLFxuICAgICAgICAgICAgc3VtbWl0LFxuICAgICAgICAgICAgbG9naW5VcmxcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGltbXV0YWJsZUNoZWNrOiBmYWxzZSxcbiAgICAgICAgc2VyaWFsaXphYmxlQ2hlY2s6IHtcbiAgICAgICAgICBpZ25vcmVkQWN0aW9uczogW0ZMVVNILCBSRUhZRFJBVEUsIFBBVVNFLCBQRVJTSVNULCBQVVJHRSwgUkVHSVNURVJdXG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH0pO1xuXG4gIHJldHVybiBzdG9yZTtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VJbml0U3RvcmUgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IHN0b3JlID0gdXNlTWVtbygoKSA9PiBnZXRTdG9yZShjb25maWcpLCBbXSk7XG4gIGNvbnN0IHBlcnNpc3RvciA9IHVzZU1lbW8oKCkgPT4gcGVyc2lzdFN0b3JlKHN0b3JlKSwgW3N0b3JlXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdG9yZSxcbiAgICBwZXJzaXN0b3JcbiAgfTtcbn07XG4iLCJpbXBvcnQge1xuICBpbml0TG9nT3V0LFxuICBnZXRBY2Nlc3NUb2tlblxufSBmcm9tIFwib3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL2xpYi9zZWN1cml0eS9tZXRob2RzXCI7XG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSBcIkBzZW50cnkvcmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IGdldEFjY2Vzc1Rva2VuU2FmZWx5ID0gYXN5bmMgKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBnZXRBY2Nlc3NUb2tlbigpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5sb2coXCJteS1vcmRlcnMtdGlja2V0cy13aWRnZTo6IGdldEFjY2Vzc1Rva2VuU2FmZWx5IGVycm9yOiBcIiwgZSk7XG4gICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZSk7XG4gICAgaW5pdExvZ091dCgpO1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xuICB9XG59O1xuIiwiZXhwb3J0IGNvbnN0IExBU1RfSE9VUl9PRl8yNF9IT1VSID0gMjM7XG5leHBvcnQgY29uc3QgTEFTVF9NSU5VVEVfT0ZfSE9VUiA9IDU5O1xuZXhwb3J0IGNvbnN0IE9ORV9QQUdFX05FWFQgPSAxO1xuZXhwb3J0IGNvbnN0IE1JTExJU0VDX1RPX1NFQyA9IDEwMDA7XG5leHBvcnQgY29uc3QgT05FX0RBWSA9IDE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JVEVNU19QRVJfUEFHRSA9IDU7XG5leHBvcnQgY29uc3QgRklSU1RfUEFHRSA9IDE7XG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9ESVNQTEFZX0NPVU5UID0gMztcbiIsImltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7XG4gIExBU1RfSE9VUl9PRl8yNF9IT1VSLFxuICBMQVNUX01JTlVURV9PRl9IT1VSLFxuICBNSUxMSVNFQ19UT19TRUMsXG4gIE9ORV9EQVlcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDdXJyZW5jeSA9ICh2YWx1ZSwgeyBsb2NhbGUgPSBcImVuLVVTXCIsIC4uLm9wdGlvbnMgfSkgPT4ge1xuICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBjdXJyZW5jeTogXCJVU0RcIixcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyXG4gIH07XG5cbiAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xuICAgIHN0eWxlOiBcImN1cnJlbmN5XCIsXG4gICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgLi4ub3B0aW9uc1xuICB9KTtcblxuICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rm9ybWF0dGVkRGF0ZSA9IChkYXRldGltZSwgdGltZVpvbmUpID0+IHtcbiAgaWYgKHRpbWVab25lKVxuICAgIHJldHVybiBtb21lbnRcbiAgICAgIC50eihkYXRldGltZSAqIE1JTExJU0VDX1RPX1NFQywgdGltZVpvbmUpXG4gICAgICAuZm9ybWF0KFwiTU1NTSBERCwgWVlZWVwiKTtcblxuICByZXR1cm4gbW9tZW50LnVuaXgoZGF0ZXRpbWUpLmZvcm1hdChcIk1NTU0gREQsIFlZWVlcIik7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3VtbWl0Rm9ybWF0dGVkRGF0ZSA9IChzdW1taXQpID0+IHtcbiAgaWYgKCFzdW1taXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHN0YXJ0RGF5ID0gbW9tZW50KHN1bW1pdC5zdGFydF9kYXRlICogTUlMTElTRUNfVE9fU0VDKS50eihcbiAgICBzdW1taXQudGltZV96b25lX2lkXG4gICk7XG4gIGNvbnN0IGVuZERheSA9IG1vbWVudChzdW1taXQuZW5kX2RhdGUgKiBNSUxMSVNFQ19UT19TRUMpLnR6KFxuICAgIHN1bW1pdC50aW1lX3pvbmVfaWRcbiAgKTtcbiAgY29uc3QgZGF5cyA9IGVuZERheS5kaWZmKHN0YXJ0RGF5LCBcImRheXNcIik7XG4gIGxldCBmb3JtYXRTdGFydERhdGUgPSBcIk1NTU0gREQsIFlZWVlcIjtcbiAgbGV0IGZvcm1hdEVuZERhdGUgPSBcIk1NTU0gREQsIFlZWVlcIjtcbiAgaWYgKHN0YXJ0RGF5LnllYXIoKSA9PT0gZW5kRGF5LnllYXIoKSkgZm9ybWF0U3RhcnREYXRlID0gXCJNTU1NIEREXCI7XG4gIGlmIChzdGFydERheS5tb250aCgpID09PSBlbmREYXkubW9udGgoKSkgZm9ybWF0RW5kRGF0ZSA9IFwiREQsIFlZWVlcIjtcblxuICBjb25zdCBzdGFydERhdGUgPSBzdGFydERheS5mb3JtYXQoZm9ybWF0U3RhcnREYXRlKTtcbiAgY29uc3QgZW5kRGF0ZSA9IGVuZERheS5mb3JtYXQoZm9ybWF0RW5kRGF0ZSk7XG5cbiAgaWYgKGRheXMgPiBPTkVfREFZKSByZXR1cm4gYCR7c3RhcnREYXRlfSAtICR7ZW5kRGF0ZX1gO1xuXG4gIHJldHVybiBzdGFydERhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlT3JkZXJUb3RhbHMgPSAoeyBvcmRlciwgc3VtbWl0LCB0aWNrZXRzIH0pID0+IHtcbiAgaWYgKCFvcmRlciB8fCAhc3VtbWl0IHx8ICF0aWNrZXRzKSByZXR1cm4ge307XG5cbiAgY29uc3QgeyByZWZ1bmRlZF9hbW91bnQsIGRpc2NvdW50X2Ftb3VudCwgdGF4ZXNfYW1vdW50LCBhbW91bnQgfSA9IG9yZGVyO1xuICBjb25zdCB7IHRpY2tldF90eXBlcyB9ID0gc3VtbWl0O1xuXG4gIGNvbnN0IHRpY2tldFN1bW1hcnkgPSBbXTtcbiAgbGV0IHB1cmNoYXNlVGlja2V0VG90YWwgPSAwO1xuXG4gIGNvbnN0IGN1cnJlbmN5T2JqZWN0ID0geyBjdXJyZW5jeTogb3JkZXIuY3VycmVuY3kgfTtcblxuICBPYmplY3Qua2V5cyhvcmRlci50aWNrZXRzX2V4Y2VycHRfYnlfdGlja2V0X3R5cGUpLm1hcCgodGlja2V0KSA9PiB7XG4gICAgY29uc3QgdGlja2V0VHlwZSA9IHRpY2tldF90eXBlcy5maW5kKCh0dCkgPT4gdHQubmFtZSA9PT0gdGlja2V0KTtcbiAgICB0aWNrZXRTdW1tYXJ5LnB1c2goe1xuICAgICAgdGlja2V0X3R5cGVfaWQ6IHRpY2tldFR5cGUuaWQsXG4gICAgICB0aWNrZXRfdHlwZTogdGlja2V0VHlwZSxcbiAgICAgIG5hbWU6IHRpY2tldCxcbiAgICAgIHF0eTogb3JkZXIudGlja2V0c19leGNlcnB0X2J5X3RpY2tldF90eXBlW3RpY2tldF1cbiAgICB9KTtcbiAgICBwdXJjaGFzZVRpY2tldFRvdGFsICs9XG4gICAgICB0aWNrZXRUeXBlLmNvc3QgKiBvcmRlci50aWNrZXRzX2V4Y2VycHRfYnlfdGlja2V0X3R5cGVbdGlja2V0XTtcblxuICAgIHJldHVybiB0aWNrZXRTdW1tYXJ5O1xuICB9KTtcblxuICBjb25zdCBwdXJjaGFzZVRvdGFsID0gZm9ybWF0Q3VycmVuY3kocHVyY2hhc2VUaWNrZXRUb3RhbCwgY3VycmVuY3lPYmplY3QpO1xuXG4gIGNvbnN0IGRpc2NvdW50VG90YWwgPSBmb3JtYXRDdXJyZW5jeShkaXNjb3VudF9hbW91bnQsIGN1cnJlbmN5T2JqZWN0KTtcbiAgY29uc3QgcmVmdW5kVG90YWwgPSBmb3JtYXRDdXJyZW5jeShyZWZ1bmRlZF9hbW91bnQsIGN1cnJlbmN5T2JqZWN0KTtcbiAgY29uc3QgdGF4ZXNUb3RhbCA9IGZvcm1hdEN1cnJlbmN5KHRheGVzX2Ftb3VudCwgY3VycmVuY3lPYmplY3QpO1xuICBjb25zdCBhbW91bnRUb3RhbCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcmRlciwgXCJhbW91bnRcIilcbiAgICA/IGZvcm1hdEN1cnJlbmN5KGFtb3VudCwgY3VycmVuY3lPYmplY3QpXG4gICAgOiBmb3JtYXRDdXJyZW5jeShwdXJjaGFzZVRvdGFsLCBjdXJyZW5jeU9iamVjdCk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNjb3VudFRvdGFsLFxuICAgIHJlZnVuZFRvdGFsLFxuICAgIHRheGVzVG90YWwsXG4gICAgYW1vdW50VG90YWwsXG4gICAgdGlja2V0U3VtbWFyeVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE9yZGVyVGlja2V0cyA9IChtZW1iZXJPcmRlcnMsIG9yZGVySWQpID0+IHtcbiAgY29uc3Qgb3JkZXJzID0gbWVtYmVyT3JkZXJzLmZpbHRlcigobykgPT4gby5pZCA9PT0gb3JkZXJJZCk7XG4gIHJldHVybiBvcmRlcnNbMF0/Lm1lbWJlclRpY2tldHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RXBvY2hMb3dlclVwcGVySW5TZWNvbmRzID0gKHRzKSA9PiB7XG4gIGNvbnN0IGxvd2VyID0gdHMuc2V0SG91cnMoMCwgMCwgMCwgMCkgLyBNSUxMSVNFQ19UT19TRUM7XG4gIGNvbnN0IHVwcGVyID1cbiAgICB0cy5zZXRIb3VycyhMQVNUX0hPVVJfT0ZfMjRfSE9VUiwgTEFTVF9NSU5VVEVfT0ZfSE9VUiwgMCwgMCkgL1xuICAgIE1JTExJU0VDX1RPX1NFQztcbiAgcmV0dXJuIHtcbiAgICBsb3dlcixcbiAgICB1cHBlclxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN1bW1pdFJlYXNzaWduRGF0ZSA9IChzdW1taXQpID0+IHtcbiAgaWYgKCFzdW1taXQpIHJldHVybiBudWxsO1xuICByZXR1cm4gc3VtbWl0LnJlYXNzaWduX3RpY2tldF90aWxsX2RhdGUgJiZcbiAgICBzdW1taXQucmVhc3NpZ25fdGlja2V0X3RpbGxfZGF0ZSA8IHN1bW1pdC5lbmRfZGF0ZVxuICAgID8gc3VtbWl0LnJlYXNzaWduX3RpY2tldF90aWxsX2RhdGVcbiAgICA6IHN1bW1pdC5lbmRfZGF0ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q3VycmVudFRpbWUgPSAoKSA9PlxuICBNYXRoLnJvdW5kKCtuZXcgRGF0ZSgpIC8gTUlMTElTRUNfVE9fU0VDKTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdyA9ICgpID0+IChkaXNwYXRjaCwgZ2V0U3RhdGUpID0+IHtcbiAgY29uc3QgeyB0aW1lclN0YXRlIH0gPSBnZXRTdGF0ZSgpO1xuICByZXR1cm4gdGltZXJTdGF0ZT8ubm93VXRjID09IG51bGwgPyBkZWZhdWx0Q3VycmVudFRpbWUoKSA6IHRpbWVyU3RhdGU/Lm5vd1V0Yztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VOb3cgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICByZXR1cm4gZGlzcGF0Y2goZ2V0Tm93KCkpO1xufTtcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxudmFyIF8xID0gXCJNdWlPdXRsaW5lZElucHV0LW5vdGNoZWRPdXRsaW5lX19fUm9pbVJcIjtcbnZhciBfMiA9IFwiTXVpUGlja2Vyc0NhbGVuZGFySGVhZGVyLWxhYmVsQ29udGFpbmVyX19fb29JMFZcIjtcbnZhciBfMyA9IFwiY2FsZW5kYXJEaXNwbGF5X19faW1famhcIjtcbnZhciBfNCA9IFwiY29udGFpbmVyX19fTjNZNFhcIjtcbnZhciBfNSA9IFwiZGF0ZVBpY2tlckNvbnRhaW5lcl9fX0pXMmxPXCI7XG52YXIgXzYgPSBcImRhdGVwaWNrZXJDbG9zZV9fX1Y5Z0hDXCI7XG52YXIgXzcgPSBcImZpbHRlckNvbnRhaW5lcl9fX3JHcFlWXCI7XG52YXIgXzggPSBcImZpbHRlckRhdGVMYWJlbF9fX2lmRDRwXCI7XG52YXIgXzkgPSBcImZpbHRlckljb25fX19sMjFLSVwiO1xudmFyIF9hID0gXCJmaWx0ZXJMYWJlbF9fX19QMHduXCI7XG52YXIgX2IgPSBcImZpbHRlckxpc3RDb250YWluZXJfX19WbWRHcVwiO1xudmFyIF9jID0gXCJmaWx0ZXJOdW1BY3RpdmVfX19WdUhDSlwiO1xudmFyIF9kID0gXCJmaWx0ZXJTb3J0Q29udGFpbmVyX19fYXJCdlFcIjtcbnZhciBfZSA9IFwibGFiZWxfX195TkZ5alwiO1xudmFyIF9mID0gXCJzaG93RGF0ZVBpY2tlcl9fX1VwUWJwXCI7XG52YXIgXzEwID0gXCJzb3J0Q29udGFpbmVyX19fbFJzalVcIjtcbnZhciBfMTEgPSBcInNvcnRJY29uX19fZlZWNUtcIjtcbnZhciBfMTIgPSBcInNvcnRMYWJlbF9fX1VxTFRDXCI7XG52YXIgXzEzID0gXCJzb3J0TGlzdENvbnRhaW5lcl9fX2NtbkJEXCI7XG5leHBvcnQgeyBfMSBhcyBcIk11aU91dGxpbmVkSW5wdXQtbm90Y2hlZE91dGxpbmVcIiwgXzIgYXMgXCJNdWlQaWNrZXJzQ2FsZW5kYXJIZWFkZXItbGFiZWxDb250YWluZXJcIiwgXzMgYXMgXCJjYWxlbmRhckRpc3BsYXlcIiwgXzQgYXMgXCJjb250YWluZXJcIiwgXzUgYXMgXCJkYXRlUGlja2VyQ29udGFpbmVyXCIsIF82IGFzIFwiZGF0ZXBpY2tlckNsb3NlXCIsIF83IGFzIFwiZmlsdGVyQ29udGFpbmVyXCIsIF84IGFzIFwiZmlsdGVyRGF0ZUxhYmVsXCIsIF85IGFzIFwiZmlsdGVySWNvblwiLCBfYSBhcyBcImZpbHRlckxhYmVsXCIsIF9iIGFzIFwiZmlsdGVyTGlzdENvbnRhaW5lclwiLCBfYyBhcyBcImZpbHRlck51bUFjdGl2ZVwiLCBfZCBhcyBcImZpbHRlclNvcnRDb250YWluZXJcIiwgX2UgYXMgXCJsYWJlbFwiLCBfZiBhcyBcInNob3dEYXRlUGlja2VyXCIsIF8xMCBhcyBcInNvcnRDb250YWluZXJcIiwgXzExIGFzIFwic29ydEljb25cIiwgXzEyIGFzIFwic29ydExhYmVsXCIsIF8xMyBhcyBcInNvcnRMaXN0Q29udGFpbmVyXCIgfVxuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG52YXIgXzEgPSBcIm9yZGVyRGV0YWlsc01tb3VudF9fX3Iza1JBXCI7XG52YXIgXzIgPSBcIm9yZGVyRGV0YWlsc1RpY2tldHNfX19tNElqS1wiO1xudmFyIF8zID0gXCJvcmRlck9yZGVyTnVtYmVyX19fUnFDYkNcIjtcbnZhciBfNCA9IFwib3JkZXJTdW1tYXJ5QnV0dG9uX19fdXhqaHRcIjtcbnZhciBfNSA9IFwib3JkZXJTdW1tYXJ5UHVyY2hhc2VkSW5mb19fX19SQlhFXCI7XG52YXIgXzYgPSBcIm9yZGVyU3VtbWFyeVB1cmNoYXNlZE51bWJlcl9fX3BxeV9JXCI7XG52YXIgXzcgPSBcIm9yZGVyU3VtbWFyeVRhYmxlX19fWURueFZcIjtcbnZhciBfOCA9IFwib3JkZXJTdW1tYXJ5V3JhcHBlcl9fX1J3SUVSXCI7XG5leHBvcnQgeyBfMSBhcyBcIm9yZGVyRGV0YWlsc01tb3VudFwiLCBfMiBhcyBcIm9yZGVyRGV0YWlsc1RpY2tldHNcIiwgXzMgYXMgXCJvcmRlck9yZGVyTnVtYmVyXCIsIF80IGFzIFwib3JkZXJTdW1tYXJ5QnV0dG9uXCIsIF81IGFzIFwib3JkZXJTdW1tYXJ5UHVyY2hhc2VkSW5mb1wiLCBfNiBhcyBcIm9yZGVyU3VtbWFyeVB1cmNoYXNlZE51bWJlclwiLCBfNyBhcyBcIm9yZGVyU3VtbWFyeVRhYmxlXCIsIF84IGFzIFwib3JkZXJTdW1tYXJ5V3JhcHBlclwiIH1cbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxudmFyIF8xID0gXCJhc3NpZ25UaWNrZXRCdXR0b25fX196ekxzY1wiO1xudmFyIF8yID0gXCJibGFja0J1dHRvbl9fX2w5aGo5XCI7XG52YXIgXzMgPSBcImNvcHlJY29uX19fTmtIR09cIjtcbnZhciBfNCA9IFwiZGV0YWlsc1JlcXVpcmVkTGFiZWxfX19ZMmtvclwiO1xudmFyIF81ID0gXCJkaXNwbGF5X25vbmVfX19DcXBMM1wiO1xudmFyIF82ID0gXCJsYWJlbF9fX3pYRFd6XCI7XG52YXIgXzcgPSBcIm9yZGVyVGlja2V0Q29udGFpbmVyX19fWkpMemtcIjtcbnZhciBfOCA9IFwib3JkZXJUaWNrZXRJbmZvX19fZ2VtcUJcIjtcbnZhciBfOSA9IFwib3JkZXJUaWNrZXRJbmZvQ29udGFpbmVyX19fX3A2NlZcIjtcbnZhciBfYSA9IFwib3JkZXJUaWNrZXROb0NvbnRhaW5lcl9fX3Zxb2hOXCI7XG52YXIgX2IgPSBcIm9yZGVyVGlja2V0TnVtYmVyVHJ1bmNhdGVkX19fSFhtZHdcIjtcbnZhciBfYyA9IFwib3JkZXJXcmFwcGVyX19feURCQW9cIjtcbnZhciBfZCA9IFwicmVhc3NpZ25CdXR0b25fX19Sb2pNNVwiO1xudmFyIF9lID0gXCJ0YWJCdXR0b25zX19feFR5SkFcIjtcbnZhciBfZiA9IFwidGlja2V0QWN0aW9uQnV0dG9uc19fX3JwU01RXCI7XG52YXIgXzEwID0gXCJ0aWNrZXRMaXN0Q29udGFpbmVyX19fY2ZtcnJcIjtcbnZhciBfMTEgPSBcInRpY2tldE5vX19fYTJpTTlcIjtcbnZhciBfMTIgPSBcInRpY2tldE93bmVyRW1haWxfX19adDRPRVwiO1xudmFyIF8xMyA9IFwidGlja2V0VGlja2V0VHlwZV9fX1pxX2YwXCI7XG52YXIgXzE0ID0gXCJ2aWV3RmluaXNoVGlja2V0QnV0dG9uX19fSEY2SW1cIjtcbnZhciBfMTUgPSBcInZpZXdNb3JlQnV0dG9uX19fS18xelRcIjtcbmV4cG9ydCB7IF8xIGFzIFwiYXNzaWduVGlja2V0QnV0dG9uXCIsIF8yIGFzIFwiYmxhY2tCdXR0b25cIiwgXzMgYXMgXCJjb3B5SWNvblwiLCBfNCBhcyBcImRldGFpbHNSZXF1aXJlZExhYmVsXCIsIF81IGFzIFwiZGlzcGxheV9ub25lXCIsIF82IGFzIFwibGFiZWxcIiwgXzcgYXMgXCJvcmRlclRpY2tldENvbnRhaW5lclwiLCBfOCBhcyBcIm9yZGVyVGlja2V0SW5mb1wiLCBfOSBhcyBcIm9yZGVyVGlja2V0SW5mb0NvbnRhaW5lclwiLCBfYSBhcyBcIm9yZGVyVGlja2V0Tm9Db250YWluZXJcIiwgX2IgYXMgXCJvcmRlclRpY2tldE51bWJlclRydW5jYXRlZFwiLCBfYyBhcyBcIm9yZGVyV3JhcHBlclwiLCBfZCBhcyBcInJlYXNzaWduQnV0dG9uXCIsIF9lIGFzIFwidGFiQnV0dG9uc1wiLCBfZiBhcyBcInRpY2tldEFjdGlvbkJ1dHRvbnNcIiwgXzEwIGFzIFwidGlja2V0TGlzdENvbnRhaW5lclwiLCBfMTEgYXMgXCJ0aWNrZXROb1wiLCBfMTIgYXMgXCJ0aWNrZXRPd25lckVtYWlsXCIsIF8xMyBhcyBcInRpY2tldFRpY2tldFR5cGVcIiwgXzE0IGFzIFwidmlld0ZpbmlzaFRpY2tldEJ1dHRvblwiLCBfMTUgYXMgXCJ2aWV3TW9yZUJ1dHRvblwiIH1cbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxudmFyIF8xID0gXCJidXR0b25DYW5jZWxsZWRfX19FcmxEWlwiO1xudmFyIF8yID0gXCJidXR0b25Db21wbGV0ZV9fX2xsV2taXCI7XG52YXIgXzMgPSBcImJ1dHRvbkluY29tcGxldGVfX19Ub2xIZ1wiO1xudmFyIF80ID0gXCJidXR0b25QaWxsX19fenEydGNcIjtcbnZhciBfNSA9IFwiYnV0dG9uUmVmdW5kUmVxdWVzdGVkX19fcFd0MzBcIjtcbnZhciBfNiA9IFwiYnV0dG9uVW5hc3NpZ25lZF9fX1lEZDhYXCI7XG52YXIgXzcgPSBcInRpY2tldFN0YXR1c0NvbnRhaW5lcl9fX3FqNmZiXCI7XG5leHBvcnQgeyBfMSBhcyBcImJ1dHRvbkNhbmNlbGxlZFwiLCBfMiBhcyBcImJ1dHRvbkNvbXBsZXRlXCIsIF8zIGFzIFwiYnV0dG9uSW5jb21wbGV0ZVwiLCBfNCBhcyBcImJ1dHRvblBpbGxcIiwgXzUgYXMgXCJidXR0b25SZWZ1bmRSZXF1ZXN0ZWRcIiwgXzYgYXMgXCJidXR0b25VbmFzc2lnbmVkXCIsIF83IGFzIFwidGlja2V0U3RhdHVzQ29udGFpbmVyXCIgfVxuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG52YXIgXzEgPSBcIm5vT3JkZXJzRm91bmRfX19Bb2cycFwiO1xudmFyIF8yID0gXCJzdW1taXRUaXRsZURhdGVfX19aMTlQbVwiO1xudmFyIF8zID0gXCJ3aWRnZXRIZWFkZXJfX195WTVnZVwiO1xuZXhwb3J0IHsgXzEgYXMgXCJub09yZGVyc0ZvdW5kXCIsIF8yIGFzIFwic3VtbWl0VGl0bGVEYXRlXCIsIF8zIGFzIFwid2lkZ2V0SGVhZGVyXCIgfVxuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS9pY29ucy1tYXRlcmlhbC9DbG9zZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbXVpL2ljb25zLW1hdGVyaWFsL0NvbnRlbnRDb3B5XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRXJyb3JcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS9pY29ucy1tYXRlcmlhbC9GaWx0ZXJMaXN0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvSW1wb3J0RXhwb3J0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvU2VhcmNoXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvbWF0ZXJpYWxcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS9tYXRlcmlhbC9EaXZpZGVyXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvbWF0ZXJpYWwvSW5wdXRCYXNlXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvbWF0ZXJpYWwvU3RhY2tcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS9tYXRlcmlhbC9UYWJcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS9tYXRlcmlhbC9UYWJzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBtdWkvbWF0ZXJpYWwvdXNlTWVkaWFRdWVyeVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbXVpL3gtZGF0ZS1waWNrZXJzL0FkYXB0ZXJEYXlqc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbXVpL3gtZGF0ZS1waWNrZXJzL0RhdGVQaWNrZXJcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG11aS94LWRhdGUtcGlja2Vycy9Mb2NhbGl6YXRpb25Qcm92aWRlclwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAcmVkdXhqcy90b29sa2l0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBzZW50cnkvcmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiZGF5anNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibW9tZW50LXRpbWV6b25lXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm9wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi9saWIvc2VjdXJpdHkvYWN0aW9uc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vbGliL3NlY3VyaXR5L21ldGhvZHNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwib3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL2xpYi91dGlscy9hY3Rpb25zXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInByb3AtdHlwZXNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3QtaTE4bmV4dFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdC1pbmZpbml0ZS1zY3JvbGwtY29tcG9uZW50XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0LXJlZHV4XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlZHV4XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlZHV4LXBlcnNpc3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVkdXgtcGVyc2lzdC9pbnRlZ3JhdGlvbi9yZWFjdFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWR1eC1wZXJzaXN0L2xpYi9zdG9yYWdlXCIpOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCIvKipcbiAqIENvcHlyaWdodCAyMDI0IE9wZW5TdGFjayBGb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IFBlcnNpc3RHYXRlIH0gZnJvbSBcInJlZHV4LXBlcnNpc3QvaW50ZWdyYXRpb24vcmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyB1c2VJbml0U3RvcmUgfSBmcm9tIFwiLi9zdG9yZVwiO1xuaW1wb3J0IE15T3JkZXJzVGlja2V0cyBmcm9tIFwiLi9jb21wb25lbnRzL015T3JkZXJzVGlja2V0c1wiO1xuaW1wb3J0IHsgUkVTRVRfU1RBVEUsIHNldFN1bW1pdCwgc2V0VXNlciB9IGZyb20gXCIuL2FjdGlvbnNcIjtcblxuZnVuY3Rpb24gTXlPcmRlcnNNeVRpY2tldHNXaWRnZXQocHJvcHMpIHtcbiAgY29uc3QgeyBsb2dpblVybCwgc3VwcG9ydEVtYWlsLCBzdW1taXQsIGFwaUJhc2VVcmwsIHVzZXIsIGNsaWVudElkIH0gPSBwcm9wcztcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuXG4gIGNvbnN0IHsgc3RvcmUsIHBlcnNpc3RvciB9ID0gdXNlSW5pdFN0b3JlKHtcbiAgICBsb2dpblVybCxcbiAgICBzdXBwb3J0RW1haWwsXG4gICAgc3VtbWl0LFxuICAgIHVzZXIsXG4gICAgYXBpQmFzZVVybCxcbiAgICBjbGllbnRJZFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVCZWZvcmVMaWZ0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgZmx1c2ggPSBwYXJhbXMuaGFzKFwiZmx1c2hTdGF0ZVwiKTtcbiAgICBpZiAoZmx1c2gpIHN0b3JlLmRpc3BhdGNoKHsgdHlwZTogUkVTRVRfU1RBVEUsIHBheWxvYWQ6IG51bGwgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzdG9yZS5kaXNwYXRjaChzZXRTdW1taXQoc3VtbWl0KSk7XG4gIH0sIFtzdW1taXRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHN0b3JlLmRpc3BhdGNoKHNldFVzZXIodXNlcikpO1xuICB9LCBbdXNlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPFByb3ZpZGVyIHN0b3JlPXtzdG9yZX0+XG4gICAgICA8UGVyc2lzdEdhdGVcbiAgICAgICAgb25CZWZvcmVMaWZ0PXtoYW5kbGVCZWZvcmVMaWZ0fVxuICAgICAgICBsb2FkaW5nPXtudWxsfVxuICAgICAgICBwZXJzaXN0b3I9e3BlcnNpc3Rvcn1cbiAgICAgID5cbiAgICAgICAgPEJveCBzeD17eyBwYWRkaW5nOiB7IHhzOiAyLCBtZDogMCwgbGc6IDAgfSB9fT5cbiAgICAgICAgICA8aDM+e3QoXCJvcmRlcnMudGl0bGVcIil9PC9oMz5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxNeU9yZGVyc1RpY2tldHNcbiAgICAgICAgICBsb2dpblVybD17bG9naW5Vcmx9XG4gICAgICAgICAgc3VwcG9ydEVtYWlsPXtzdXBwb3J0RW1haWx9XG4gICAgICAgICAgc3VtbWl0PXtzdW1taXR9XG4gICAgICAgICAgYXBpQmFzZVVybD17YXBpQmFzZVVybH1cbiAgICAgICAgLz5cbiAgICAgIDwvUGVyc2lzdEdhdGU+XG4gICAgPC9Qcm92aWRlcj5cbiAgKTtcbn1cblxuTXlPcmRlcnNNeVRpY2tldHNXaWRnZXQucHJvcFR5cGVzID0ge1xuICBsb2dpblVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3VwcG9ydEVtYWlsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzdW1taXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gIGFwaUJhc2VVcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHVzZXI6IFByb3BUeXBlcy5vYmplY3Rcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE15T3JkZXJzTXlUaWNrZXRzV2lkZ2V0O1xuIl0sIm5hbWVzIjpbImF1dGhFcnJvckhhbmRsZXIiLCJnZXRSZXF1ZXN0IiwiZGVsZXRlUmVxdWVzdCIsImNyZWF0ZUFjdGlvbiIsInN0b3BMb2FkaW5nIiwic3RhcnRMb2FkaW5nIiwicHV0UmVxdWVzdCIsImdldEFjY2Vzc1Rva2VuU2FmZWx5IiwiRklSU1RfUEFHRSIsIkRFRkFVTFRfSVRFTVNfUEVSX1BBR0UiLCJPTkVfUEFHRV9ORVhUIiwiUkVTRVRfU1RBVEUiLCJSRVNFVF9GSUxURVIiLCJHRVRfVVNFUl9PUkRFUlMiLCJSRUZVTkRfT1JERVIiLCJTRVRfQUNUSVZFX09SREVSX0lEIiwiRklMVEVSX1VTRVJfT1JERVJTIiwiR0VUX1RJQ0tFVFMiLCJBU1NJR05fVElDS0VUIiwiUkVNT1ZFX1RJQ0tFVF9BVFRFTkRFRSIsIlJFRlVORF9USUNLRVQiLCJSRVNFTkRfTk9USUZJQ0FUSU9OIiwiR0VUX1RJQ0tFVFNfQllfT1JERVIiLCJHRVRfVElDS0VUU19CWV9PUkRFUl9FUlJPUiIsIkdFVF9PUkRFUl9USUNLRVRfREVUQUlMUyIsIkdFVF9USUNLRVRfREVUQUlMUyIsIlRJQ0tFVF9BVFRFTkRFRV9LRVlTIiwiZW1haWwiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImNvbXBhbnkiLCJkaXNjbGFpbWVyQWNjZXB0ZWQiLCJleHRyYVF1ZXN0aW9ucyIsIlNUQVJUX0xPQURJTkdfSURQX1BST0ZJTEUiLCJTVE9QX0xPQURJTkdfSURQX1BST0ZJTEUiLCJVUERBVEVfSURQX1BST0ZJTEUiLCJTRVRfVVNFUiIsIlNFVF9TVU1NSVQiLCJHRVRfTUFJTl9FWFRSQV9RVUVTVElPTlMiLCJSRUNFSVZFX01BUktFVElOR19TRVRUSU5HUyIsIkNMRUFSX01BUktFVElOR19TRVRUSU5HUyIsInJlc2V0U3RhdGUiLCJkaXNwYXRjaCIsInJlc2V0RmlsdGVyIiwiRklMVEVSX1ZBUl9EQVRFIiwiRklMVEVSX1ZBUl9PUkRFUl9OVU1CRVIiLCJwYXJzZUZpbHRlciIsImZpbHRlck9iaiIsImZpbHRlciIsInR5cGUiLCJwdXNoIiwibmFtZSIsImxvd2VyIiwidXBwZXIiLCJ2YWx1ZSIsImdldFNvcnREaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJnZXRVc2VyT3JkZXJzIiwiX3JlZiIsInBhZ2UiLCJwZXJQYWdlIiwic29ydCIsIm5leHQiLCJnZXRTdGF0ZSIsIl9yZWYyIiwiYXBpQmFzZVVybCIsIndpZGdldFN0YXRlIiwic3VtbWl0IiwiYWNjZXNzVG9rZW4iLCJjYXRjaCIsIlByb21pc2UiLCJyZWplY3QiLCJwYXJhbXMiLCJhY2Nlc3NfdG9rZW4iLCJvcmRlciIsInJlbGF0aW9ucyIsInBlcl9wYWdlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImZpbHRlcnMiLCJpZCIsInRoZW4iLCJwYXlsb2FkIiwiZSIsInNldEFjdGl2ZU9yZGVySWQiLCJvcmRlcklkIiwic2V0VXNlciIsInVzZXIiLCJ1cGRhdGVQcm9maWxlIiwicHJvZmlsZSIsIl9yZWYzIiwiaWRwQmFzZVVybCIsImdldFVzZXJUaWNrZXRzIiwiX3JlZjQiLCJfcmVmNSIsInVzZXJTdGF0ZSIsInVzZXJQcm9maWxlIiwiZXhwYW5kIiwiZmllbGRzIiwiZ2V0VGlja2V0c0J5T3JkZXIiLCJfcmVmNiIsIl9yZWY3IiwicmVzZW5kTm90aWZpY2F0aW9uIiwidGlja2V0IiwiX3JlZjgiLCJtZXNzYWdlIiwib3JkZXJfaWQiLCJyZWZ1bmRUaWNrZXQiLCJfcmVmOSIsIl9yZWYxMCIsIm9yZGVyU3RhdGUiLCJjdXJyZW50X3BhZ2UiLCJvcmRlclBhZ2UiLCJ0aWNrZXRTdGF0ZSIsInRpY2tldFBhZ2UiLCJzZXRTdW1taXQiLCJSZWFjdCIsInVzZVN0YXRlIiwiUHJvcFR5cGVzIiwiU3RhY2siLCJ1c2VUcmFuc2xhdGlvbiIsImRheWpzIiwiQWRhcHRlckRheWpzIiwiTG9jYWxpemF0aW9uUHJvdmlkZXIiLCJEYXRlUGlja2VyIiwiQ2xvc2VJY29uIiwiZ2V0RXBvY2hMb3dlclVwcGVySW5TZWNvbmRzIiwic3R5bGVzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQmFzaWNEYXRlUGlja2VyIiwib25GaWx0ZXIiLCJvblJlc2V0IiwidCIsIm5vdyIsImRhdGVWYWx1ZSIsInNldERhdGVWYWx1ZSIsIm9uRGF0ZUNoYW5nZSIsInZhbCIsImRhdGUiLCJEYXRlIiwiJGQiLCJvblJlc2V0QWN0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJmaWx0ZXJEYXRlTGFiZWwiLCJhbGlnbkl0ZW1zIiwic3giLCJwdCIsInBiIiwiZGF0ZVBpY2tlckNvbnRhaW5lciIsImZvbnRTaXplIiwiZGF0ZXBpY2tlckNsb3NlIiwib25DbGljayIsImRhdGVBZGFwdGVyIiwiY2FsZW5kYXJEaXNwbGF5Iiwib25DaGFuZ2UiLCJwcm9wVHlwZXMiLCJmdW5jIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiRmlsdGVyTGlzdEljb24iLCJCb3giLCJGaWx0ZXIiLCJzaG93RmlsdGVyTGlzdCIsInNldFNob3dGaWx0ZXJMaXN0Iiwic2hvd0RhdGVwaWNrZXIiLCJzZXRTaG93RGF0ZXBpY2tlciIsImZpbHRlck51bUFjdGl2ZSIsInNldEZpbHRlck51bUFjdGl2ZSIsImZpbHRlclJlZiIsImhhbmRsZUZpbHRlckNsaWNrT3V0c2lkZSIsImV2ZW50IiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInRvZ2dsZSIsImZpbHRlckNvbnRhaW5lciIsInJlZiIsImZpbHRlckljb24iLCJmaWx0ZXJMYWJlbCIsImZpbHRlckxpc3RDb250YWluZXIiLCJjb250YWluZXIiLCJzaG93RGF0ZVBpY2tlciIsInN0eWxlZCIsIlNlYXJjaEljb24iLCJJbnB1dEJhc2UiLCJTZWFyY2hDb250YWluZXIiLCJwb3NpdGlvbiIsIm1hcmdpblJpZ2h0IiwibWFyZ2luTGVmdCIsIndpZHRoIiwiZGlzcGxheSIsIlNlYXJjaEljb25XcmFwcGVyIiwiaGVpZ2h0IiwianVzdGlmeUNvbnRlbnQiLCJTdHlsZWRJbnB1dEJhc2UiLCJjb2xvciIsImJvcmRlckJvdHRvbSIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwiQ2xvc2VJY29uV3JhcHBlciIsInBhZGRpbmciLCJ0b3AiLCJyaWdodCIsImN1cnNvciIsInpJbmRleCIsIlNlYXJjaCIsIm9uU2VhcmNoIiwic2hvd0Nsb3NlIiwic2V0U2hvd0Nsb3NlIiwic2VhcmNoVmFsdWUiLCJzZXRTZWFyY2hWYWx1ZSIsIm9uS2V5RG93biIsImtleSIsIm5hdGl2ZUV2ZW50IiwicmVzZXRTZWFyY2giLCJwbGFjZWhvbGRlciIsImlucHV0UHJvcHMiLCJCdXR0b24iLCJJbXBvcnRFeHBvcnRJY29uIiwiU29ydCIsIm9uU29ydCIsInNob3dTb3J0Iiwic2V0U2hvd1NvcnQiLCJzb3J0UmVmIiwiaGFuZGxlU29ydENsaWNrT3V0c2lkZSIsInNvcnRDb250YWluZXIiLCJzb3J0SWNvbiIsInNvcnRMYWJlbCIsInNvcnRMaXN0Q29udGFpbmVyIiwibGFiZWwiLCJHcmlkIiwiRmlsdGVyU29ydFNlYXJjaCIsImp1c3RpZnkiLCJpdGVtIiwieHMiLCJnYXAiLCJmaWx0ZXJTb3J0Q29udGFpbmVyIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsInNoYWxsb3dFcXVhbCIsIkluZmluaXRlU2Nyb2xsIiwiT3JkZXJzTGlzdCIsImdldFN1bW1pdEZvcm1hdHRlZERhdGUiLCJNeU9yZGVyc1RpY2tldHMiLCJtZW1iZXJPcmRlcnMiLCJvcmRlcnNfY3VycmVudF9wYWdlIiwib3JkZXJzX3Blcl9wYWdlIiwib3JkZXJzX3RvdGFsIiwic3RhdGUiLCJoYXNNb3JlIiwic2V0SGFzTW9yZSIsInNlYXJjaE5leHQiLCJzZXRTZWFyY2hOZXh0Iiwic2V0RmlsdGVyIiwic2V0U29ydCIsImZldGNoRGF0YSIsInJlcyIsInJlc3BvbnNlIiwiZGF0YSIsIndpZGdldEhlYWRlciIsIm1kIiwibGciLCJzdW1taXRUaXRsZURhdGUiLCJkYXRhTGVuZ3RoIiwic2Nyb2xsVGhyZXNob2xkIiwibWFwIiwibm9PcmRlcnNGb3VuZCIsIkRpdmlkZXIiLCJjYWxjdWxhdGVPcmRlclRvdGFscyIsImZvcm1hdEN1cnJlbmN5IiwiT3JkZXJTdW1tYXJ5VGFibGUiLCJ0aWNrZXRzIiwiZGlzY291bnRUb3RhbCIsInJlZnVuZFRvdGFsIiwidGF4ZXNUb3RhbCIsImFtb3VudFRvdGFsIiwidGlja2V0U3VtbWFyeSIsImh1bmRyZWQiLCJvcmRlclN1bW1hcnlUYWJsZSIsInRpY2tldFRvdGFsIiwicXR5IiwidGlja2V0X3R5cGUiLCJjb3N0IiwiYWxpZ24iLCJjdXJyZW5jeSIsImNyZWF0ZWQiLCJkaXNjb3VudF9hbW91bnQiLCJ0YXhlc19hbW91bnQiLCJzdGF0dXMiLCJzaGFwZSIsInN0cmluZyIsIm51bWJlciIsIm9iamVjdCIsImFycmF5T2YiLCJSZWZ1bmRFbWFpbFN1cHBvcnQiLCJvblJlZnVuZENsaWNrIiwib25SZWZ1bmREZXRhaWxDbGljayIsIm9uRW1haWxTdXBwb3J0Q2xpY2siLCJvcmRlclN1bW1hcnlCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsIk9yZGVyU3VtbWFyeSIsIm9yZGVyU3VtbWFyeVdyYXBwZXIiLCJweCIsIm9yZGVyU3VtbWFyeVB1cmNoYXNlZEluZm8iLCJPcmRlckxpc3RUaWNrZXRzIiwiUEFHSU5BVElPTl9ESVNQTEFZX0NPVU5UIiwiT3JkZXJMaXN0SXRlbSIsInRvdGFsIiwib25QYWdpbmF0ZUNsaWNrIiwiaXRlbXNUb0Rpc3BsYXkiLCJzZXRJdGVtc1RvRGlzcGxheSIsInNsaWNlZFRpY2tldHMiLCJzbGljZSIsIm9uVmlld01vcmUiLCJvblZpZXdMZXNzIiwidmlld01vcmVCdXR0b24iLCJUaWNrZXRTdGF0dXMiLCJPcmRlck51bWJlciIsImdldFN1bW1pdFJlYXNzaWduRGF0ZSIsInVzZU5vdyIsImdldEFjdGl2ZUJ1dHRvbkFjdGlvbnMiLCJvd25lciIsInZpZXdGaW5pc2hUaWNrZXRCdXR0b24iLCJzaG93UmVhc3NpZ25CdXR0b24iLCJyZWFzc2lnbkRhdGUiLCJpc1JlYXNzaWduYWJsZSIsInJlYXNzaWduQnV0dG9uIiwib3JkZXJXcmFwcGVyIiwidGlja2V0VGlja2V0VHlwZSIsInRpY2tldE93bmVyRW1haWwiLCJpc19hY3RpdmUiLCJ0aWNrZXRObyIsImNvcHkiLCJ0cnVuY2F0ZWQiLCJ0aWNrZXRBY3Rpb25CdXR0b25zIiwiYXNzaWduVGlja2V0QnV0dG9uIiwidG90YWxfcmVmdW5kZWRfYW1vdW50IiwiQ29udGVudENvcHlJY29uIiwib3JkZXJUaWNrZXROb0NvbnRhaW5lciIsIm9yZGVyVGlja2V0TnVtYmVyVHJ1bmNhdGVkIiwiY29weUljb24iLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJib29sIiwiVGFicyIsIlRhYiIsIkVycm9ySWNvbiIsIlRhYlBhbmVsIiwicHJvcHMiLCJpbmRleCIsInJvbGUiLCJoaWRkZW4iLCJPcmRlcnNMaXN0RGVza3RvcE1vYmlsZSIsImlzTW9iaWxlIiwiZGV0YWlsc1JlcXVpcmVkIiwic2V0VmFsdWUiLCJoYW5kbGVDaGFuZ2UiLCJfIiwibmV3VmFsdWUiLCJtb3JlRGV0YWlscyIsImRldGFpbHNSZXF1aXJlZExhYmVsIiwidGlja2V0TGlzdENvbnRhaW5lciIsImJvcmRlckNvbG9yIiwidGV4dENvbG9yIiwiVGFiSW5kaWNhdG9yUHJvcHMiLCJzdHlsZSIsImJhY2tncm91bmQiLCJ0YWJCdXR0b25zIiwidXNlVGhlbWUiLCJ1c2VNZWRpYVF1ZXJ5IiwiZ2V0T3JkZXJUaWNrZXRzIiwiZ2V0Rm9ybWF0dGVkRGF0ZSIsImxhc3RfcGFnZSIsInRoZW1lIiwiYnJlYWtwb2ludHMiLCJkb3duIiwiaXNNb2JpbGVWaWV3YWJsZSIsInNldE1vYmlsZVZpZXdhYmxlIiwibWVtYmVyVGlja2V0cyIsImZpbmQiLCJmZXRjaFRpY2tldHNCeU9yZGVyIiwiY29uc29sZSIsImxvZyIsInRpY2tldHNfcGFnZV9jdXJyZW50Iiwib3JkZXJUaWNrZXRJbmZvQ29udGFpbmVyIiwib3JkZXJUaWNrZXRJbmZvIiwiYmxhY2tCdXR0b24iLCJyb3dTcGFjaW5nIiwiY29sdW1uU3BhY2luZyIsInNtIiwib3JkZXJUaWNrZXRDb250YWluZXIiLCJkaXNwbGF5X25vbmUiLCJmbGV4RGlyZWN0aW9uIiwidGlja2V0c190b3RhbCIsIkNvbnRhaW5lciIsImlzQWN0aXZlIiwicmVmdW5kX3JlcXVlc3RzIiwiciIsInRpY2tldF9zdGF0dXNfaW5jb21wbGV0ZSIsInRpY2tldF91bmFzc2lnbmVkIiwib3duZXJfaWQiLCJ0aWNrZXRfY29tcGxldGUiLCJ0aWNrZXRTdGF0dXNDb250YWluZXIiLCJidXR0b25QaWxsIiwiYnV0dG9uUmVmdW5kUmVxdWVzdGVkIiwiYnV0dG9uSW5jb21wbGV0ZSIsImJ1dHRvblVuYXNzaWduZWQiLCJidXR0b25Db21wbGV0ZSIsImJ1dHRvbkNhbmNlbGxlZCIsIkxPR09VVF9VU0VSIiwiREVGQVVMVF9TVEFURSIsIndpZGdldExvYWRpbmciLCJlcnJvcnMiLCJsb2FkaW5nIiwiaXNPcmRlckxvYWRpbmciLCJvcmRlcnNfbGFzdF9wYWdlIiwidGlja2V0X2N1cnJlbnRfcGFnZSIsInRpY2tldF9sYXN0X3BhZ2UiLCJ0aWNrZXRfcGVyX3BhZ2UiLCJ0aWNrZXRfdG90YWwiLCJXaWRnZXRSZWR1Y2VyIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZm9ybWVyT3JkZXIiLCJvIiwidXBkYXRlZE9yZGVyIiwidGlja2V0c19wYWdlX2xhc3QiLCJtbyIsInVzZU1lbW8iLCJjb25maWd1cmVTdG9yZSIsInBlcnNpc3RTdG9yZSIsInBlcnNpc3RSZWR1Y2VyIiwiRkxVU0giLCJSRUhZRFJBVEUiLCJQQVVTRSIsIlBFUlNJU1QiLCJQVVJHRSIsIlJFR0lTVEVSIiwic3RvcmFnZSIsImNvbWJpbmVSZWR1Y2VycyIsImdldFN0b3JlIiwiY2xpZW50SWQiLCJsb2dpblVybCIsInJlZHVjZXJzIiwic3RvcmUiLCJyZWR1Y2VyIiwibWlkZGxld2FyZSIsImdldERlZmF1bHRNaWRkbGV3YXJlIiwidGh1bmsiLCJleHRyYUFyZ3VtZW50IiwiaW1tdXRhYmxlQ2hlY2siLCJzZXJpYWxpemFibGVDaGVjayIsImlnbm9yZWRBY3Rpb25zIiwidXNlSW5pdFN0b3JlIiwiY29uZmlnIiwicGVyc2lzdG9yIiwiaW5pdExvZ091dCIsImdldEFjY2Vzc1Rva2VuIiwiU2VudHJ5IiwiY2FwdHVyZUV4Y2VwdGlvbiIsIkxBU1RfSE9VUl9PRl8yNF9IT1VSIiwiTEFTVF9NSU5VVEVfT0ZfSE9VUiIsIk1JTExJU0VDX1RPX1NFQyIsIk9ORV9EQVkiLCJtb21lbnQiLCJsb2NhbGUiLCJvcHRpb25zIiwiZGVmYXVsdE9wdGlvbnMiLCJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiLCJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiLCJmb3JtYXR0ZXIiLCJJbnRsIiwiTnVtYmVyRm9ybWF0IiwiZm9ybWF0IiwiZGF0ZXRpbWUiLCJ0aW1lWm9uZSIsInR6IiwidW5peCIsInN0YXJ0RGF5Iiwic3RhcnRfZGF0ZSIsInRpbWVfem9uZV9pZCIsImVuZERheSIsImVuZF9kYXRlIiwiZGF5cyIsImRpZmYiLCJmb3JtYXRTdGFydERhdGUiLCJmb3JtYXRFbmREYXRlIiwieWVhciIsIm1vbnRoIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInJlZnVuZGVkX2Ftb3VudCIsImFtb3VudCIsInRpY2tldF90eXBlcyIsInB1cmNoYXNlVGlja2V0VG90YWwiLCJjdXJyZW5jeU9iamVjdCIsInRpY2tldHNfZXhjZXJwdF9ieV90aWNrZXRfdHlwZSIsInRpY2tldFR5cGUiLCJ0dCIsInRpY2tldF90eXBlX2lkIiwicHVyY2hhc2VUb3RhbCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIm9yZGVycyIsInRzIiwic2V0SG91cnMiLCJyZWFzc2lnbl90aWNrZXRfdGlsbF9kYXRlIiwiZGVmYXVsdEN1cnJlbnRUaW1lIiwiTWF0aCIsInJvdW5kIiwiZ2V0Tm93IiwidGltZXJTdGF0ZSIsIm5vd1V0YyIsIlByb3ZpZGVyIiwiUGVyc2lzdEdhdGUiLCJNeU9yZGVyc015VGlja2V0c1dpZGdldCIsInN1cHBvcnRFbWFpbCIsImhhbmRsZUJlZm9yZUxpZnQiLCJVUkxTZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsImZsdXNoIiwiaGFzIiwib25CZWZvcmVMaWZ0Il0sInNvdXJjZVJvb3QiOiIifQ==
|