dattatable 1.7.7 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/build/common/canvas.js +3 -0
  2. package/build/common/installRequired.d.ts +3 -0
  3. package/build/common/installRequired.js +111 -2
  4. package/build/common/modal.js +10 -0
  5. package/build/index.d.ts +0 -1
  6. package/build/index.js +1 -2
  7. package/build/itemForm.d.ts +26 -3
  8. package/build/itemForm.js +248 -139
  9. package/build/styles.js +1 -1
  10. package/dist/dattatable.js +669 -680
  11. package/dist/dattatable.min.js +1 -1
  12. package/docs/assets/search.js +1 -1
  13. package/docs/classes/CanvasForm.html +1 -1
  14. package/docs/classes/Dashboard.html +2 -2
  15. package/docs/classes/DataTable.html +2 -2
  16. package/docs/classes/Documents.html +5 -5
  17. package/docs/classes/FilterSlideout.html +1 -1
  18. package/docs/classes/Footer.html +1 -1
  19. package/docs/classes/Header.html +1 -1
  20. package/docs/classes/InstallationRequired.html +1 -1
  21. package/docs/classes/ItemForm.html +4 -4
  22. package/docs/classes/LoadingDialog.html +1 -1
  23. package/docs/classes/Modal.html +1 -1
  24. package/docs/classes/Navigation.html +1 -1
  25. package/docs/enums/ActionButtonTypes.html +1 -1
  26. package/docs/index.html +1 -1
  27. package/docs/interfaces/IDashboardProps.html +1 -1
  28. package/docs/interfaces/IDataTable.html +1 -1
  29. package/docs/interfaces/IDataTableProps.html +1 -1
  30. package/docs/interfaces/IDocumentsProps.html +1 -1
  31. package/docs/interfaces/IFilterItem.html +1 -1
  32. package/docs/interfaces/IFilterProps.html +1 -1
  33. package/docs/interfaces/IFooterProps.html +1 -1
  34. package/docs/interfaces/IHeaderProps.html +1 -1
  35. package/docs/interfaces/IItemFormCreateProps.html +1 -1
  36. package/docs/interfaces/IItemFormEditProps.html +1 -1
  37. package/docs/interfaces/IItemFormTab.html +3 -0
  38. package/docs/interfaces/IItemFormTabInfo.html +3 -1
  39. package/docs/interfaces/IItemFormViewProps.html +1 -1
  40. package/docs/interfaces/IShowDialogProps.html +1 -1
  41. package/docs/modules.html +1 -1
  42. package/package.json +10 -10
  43. package/pnpm-lock.yaml +613 -580
  44. package/build/itemFormTabs.d.ts +0 -27
  45. package/build/itemFormTabs.js +0 -95
  46. package/docs/classes/ItemFormTabs.html +0 -3
  47. package/docs/interfaces/IItemFormTabsProps.html +0 -1
package/build/itemForm.js CHANGED
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.ItemForm = void 0;
4
15
  var gd_sprest_bs_1 = require("gd-sprest-bs");
@@ -19,12 +30,12 @@ var ItemForm = /** @class */ (function () {
19
30
  configurable: true
20
31
  });
21
32
  Object.defineProperty(ItemForm, "DisplayForm", {
22
- get: function () { return this._displayForm; },
33
+ get: function () { return this._displayForms[0]; },
23
34
  enumerable: false,
24
35
  configurable: true
25
36
  });
26
37
  Object.defineProperty(ItemForm, "EditForm", {
27
- get: function () { return this._editForm; },
38
+ get: function () { return this._editForms[0]; },
28
39
  enumerable: false,
29
40
  configurable: true
30
41
  });
@@ -54,6 +65,11 @@ var ItemForm = /** @class */ (function () {
54
65
  enumerable: false,
55
66
  configurable: true
56
67
  });
68
+ Object.defineProperty(ItemForm, "Tabs", {
69
+ get: function () { return this._tabs; },
70
+ enumerable: false,
71
+ configurable: true
72
+ });
57
73
  Object.defineProperty(ItemForm, "UseModal", {
58
74
  get: function () { return this._useModal; },
59
75
  set: function (value) { this._useModal = value; },
@@ -78,6 +94,7 @@ var ItemForm = /** @class */ (function () {
78
94
  this._onSetFooter = props.onSetFooter;
79
95
  this._onSetHeader = props.onSetHeader;
80
96
  this._onValidation = props.onValidation;
97
+ this._tabInfo = props.tabInfo;
81
98
  this._updateEvent = props.onUpdate;
82
99
  typeof (props.useModal) === "boolean" ? this._useModal = props.useModal : false;
83
100
  // Load the item
@@ -95,6 +112,7 @@ var ItemForm = /** @class */ (function () {
95
112
  this._onSetFooter = props.onSetFooter;
96
113
  this._onSetHeader = props.onSetHeader;
97
114
  this._onValidation = props.onValidation;
115
+ this._tabInfo = props.tabInfo;
98
116
  this._updateEvent = props.onUpdate;
99
117
  typeof (props.useModal) === "boolean" ? this._useModal = props.useModal : false;
100
118
  // Load the form
@@ -124,17 +142,18 @@ var ItemForm = /** @class */ (function () {
124
142
  this._onGetListInfo = props.onGetListInfo;
125
143
  this._onSetFooter = props.onSetFooter;
126
144
  this._onSetHeader = props.onSetHeader;
145
+ this._tabInfo = props.tabInfo;
127
146
  typeof (props.useModal) === "boolean" ? this._useModal = props.useModal : false;
128
147
  // Load the form
129
148
  this.load(props.webUrl, props.itemId);
130
149
  };
131
- /** private static Methods */
150
+ /** Private Methods */
132
151
  // Load the form information
133
152
  ItemForm.load = function (webUrl, itemId) {
134
153
  var _this = this;
135
154
  // Clear the forms
136
- this._displayForm = null;
137
- this._editForm = null;
155
+ this._displayForms = [];
156
+ this._editForms = [];
138
157
  // Show a loading dialog
139
158
  common_1.LoadingDialog.setHeader("Loading the Item");
140
159
  common_1.LoadingDialog.setBody("This will close after the form is loaded...");
@@ -167,162 +186,251 @@ var ItemForm = /** @class */ (function () {
167
186
  }
168
187
  });
169
188
  })().then(function () {
170
- // Set the header
171
- (_this._useModal ? common_1.Modal : common_1.CanvasForm).setHeader('<h5 class="m-0">' + (_this._info.item ? _this._info.item.Title : "Create Item") + '</h5>');
172
- // Call the header event
173
- _this._onSetHeader ? _this._onSetHeader(_this._useModal ? common_1.Modal.HeaderElement : common_1.CanvasForm.HeaderElement) : null;
174
- // Render the form based on the type
175
- if (_this.IsDisplay) {
176
- var el = document.createElement("div");
177
- var props = {
178
- el: el,
179
- info: _this._info,
180
- rowClassName: "mb-3"
181
- };
182
- // Call the event if it exists
183
- props = _this._onCreateViewForm ? _this._onCreateViewForm(props) : props;
184
- // Render the display form
185
- _this._displayForm = gd_sprest_bs_1.Components.ListForm.renderDisplayForm(props);
189
+ // Render the form
190
+ _this.renderForm();
191
+ });
192
+ };
193
+ // Renders the display form
194
+ ItemForm.renderDisplayForm = function (el, tab) {
195
+ // Ensure the element exists
196
+ el = el || document.createElement("div");
197
+ // Set the form properties
198
+ var props = {
199
+ el: el,
200
+ info: this._info,
201
+ rowClassName: "mb-3",
202
+ includeFields: tab.fields,
203
+ onFormRendered: function (form) {
186
204
  /* Remove the bottom margin from the last row of the form */
187
- _this._displayForm.el.lastChild.classList.remove("mb-3");
188
- // Render the form buttons
189
- var elButtons = document.createElement("div");
190
- el.appendChild(elButtons);
191
- // Add styling if not using a modal
192
- if (!_this._useModal) {
193
- elButtons.classList.add("float-end");
194
- elButtons.style.padding = "1rem 0";
195
- }
196
- // Append the create/update button
197
- _this._useModal ? common_1.Modal.setFooter(elButtons) : el.appendChild(elButtons);
198
- // Call the item form button rendering event
199
- var formButtons = [];
200
- formButtons = _this._onFormButtonsRendering ? _this._onFormButtonsRendering(formButtons) : formButtons;
201
- // Render the form buttons
202
- formButtons && formButtons.length > 0 ? gd_sprest_bs_1.Components.ButtonGroup({
203
- el: elButtons,
204
- buttons: formButtons
205
- }) : null;
206
- // Call the footer event
207
- _this._onSetFooter ? _this._onSetFooter(_this._useModal ? common_1.Modal.FooterElement : elButtons) : null;
208
- // Update the body
209
- (_this._useModal ? common_1.Modal : common_1.CanvasForm).setBody(el);
205
+ form.el.lastChild.classList.remove("mb-3");
210
206
  }
211
- else {
212
- var el = document.createElement("div");
213
- var props = {
214
- el: el,
215
- info: _this._info,
216
- rowClassName: "mb-3",
217
- controlMode: _this.IsNew ? gd_sprest_bs_1.SPTypes.ControlMode.New : gd_sprest_bs_1.SPTypes.ControlMode.Edit
218
- };
219
- // Call the event if it exists
220
- props = _this._onCreateEditForm ? _this._onCreateEditForm(props) : props;
221
- // Render the edit form
222
- _this._editForm = gd_sprest_bs_1.Components.ListForm.renderEditForm(props);
207
+ };
208
+ // Call the event if it exists
209
+ props = this._onCreateViewForm ? this._onCreateViewForm(props) : props;
210
+ // Render the display form
211
+ var form = gd_sprest_bs_1.Components.ListForm.renderDisplayForm(props);
212
+ this._displayForms.push(form);
213
+ // Return the form element
214
+ return el;
215
+ };
216
+ // Renders the edit form
217
+ ItemForm.renderEditForm = function (el, tab) {
218
+ // Ensure the element exists
219
+ el = el || document.createElement("div");
220
+ // Set the form properties
221
+ var props = {
222
+ el: el,
223
+ info: this._info,
224
+ rowClassName: "mb-3",
225
+ controlMode: this.IsNew ? gd_sprest_bs_1.SPTypes.ControlMode.New : gd_sprest_bs_1.SPTypes.ControlMode.Edit,
226
+ includeFields: tab.fields,
227
+ onFormRendered: function (form) {
223
228
  /* Remove the bottom margin from the last row of the form */
224
- _this._editForm.el.lastChild.classList.remove("mb-3");
225
- // Render the form buttons
226
- var elButtons = document.createElement("div");
227
- // Add styling if not using a modal
228
- if (!_this._useModal) {
229
- elButtons.classList.add("float-end");
230
- elButtons.style.padding = "1rem 0";
229
+ form.el.lastChild.classList.remove("mb-3");
230
+ }
231
+ };
232
+ // Call the event if it exists
233
+ props = this._onCreateEditForm ? this._onCreateEditForm(props) : props;
234
+ // Render the edit form
235
+ var form = gd_sprest_bs_1.Components.ListForm.renderEditForm(props);
236
+ this._editForms.push(form);
237
+ // Return the form element
238
+ return el;
239
+ };
240
+ // Renders the footer
241
+ ItemForm.renderFooter = function () {
242
+ var _this = this;
243
+ // Render the form buttons
244
+ var elButtons = document.createElement("div");
245
+ // Add styling if not using a modal
246
+ if (!this._useModal) {
247
+ elButtons.classList.add("float-end");
248
+ elButtons.style.padding = "1rem 0";
249
+ }
250
+ // Append the create/update button
251
+ this._useModal ? common_1.Modal.setFooter(elButtons) : common_1.CanvasForm.BodyElement.appendChild(elButtons);
252
+ // See if we are rendering a display form
253
+ if (this.IsDisplay) {
254
+ // Call the item form button rendering event
255
+ var formButtons = [];
256
+ formButtons = this._onFormButtonsRendering ? this._onFormButtonsRendering(formButtons) : formButtons;
257
+ // Render the form buttons
258
+ formButtons && formButtons.length > 0 ? gd_sprest_bs_1.Components.ButtonGroup({
259
+ el: elButtons,
260
+ buttons: formButtons
261
+ }) : null;
262
+ }
263
+ else {
264
+ // Call the item form button rendering event
265
+ var formButtons = [{
266
+ text: this.IsNew ? "Create" : "Update",
267
+ type: gd_sprest_bs_1.Components.ButtonTypes.OutlinePrimary,
268
+ onClick: function () { _this.save(); }
269
+ }];
270
+ formButtons = this._onFormButtonsRendering ? this._onFormButtonsRendering(formButtons) : formButtons;
271
+ // Render the form buttons
272
+ formButtons && formButtons.length > 0 ? gd_sprest_bs_1.Components.ButtonGroup({
273
+ el: elButtons,
274
+ buttons: formButtons
275
+ }) : null;
276
+ }
277
+ // Call the footer event
278
+ this._onSetFooter ? this._onSetFooter(this._useModal ? common_1.Modal.FooterElement : elButtons) : null;
279
+ };
280
+ // Renders the form
281
+ ItemForm.renderForm = function () {
282
+ // Set the header
283
+ (this._useModal ? common_1.Modal : common_1.CanvasForm).setHeader('<h5 class="m-0">' + (this._info.item ? this._info.item.Title : "Create Item") + '</h5>');
284
+ // Call the header event
285
+ this._onSetHeader ? this._onSetHeader(this._useModal ? common_1.Modal.HeaderElement : common_1.CanvasForm.HeaderElement) : null;
286
+ // See if we are rendering tabs
287
+ if (this._tabInfo) {
288
+ // Render the tabs
289
+ this.renderTabs();
290
+ }
291
+ else {
292
+ // Render the form based on the type
293
+ var elForm = this.IsDisplay ? this.renderDisplayForm() : this.renderEditForm();
294
+ // Update the body
295
+ (this._useModal ? common_1.Modal : common_1.CanvasForm).setBody(elForm);
296
+ }
297
+ // Render the footer
298
+ this.renderFooter();
299
+ // Close the dialog
300
+ common_1.LoadingDialog.hide();
301
+ // Show the form
302
+ (this._useModal ? common_1.Modal : common_1.CanvasForm).show();
303
+ };
304
+ // Generates a tab
305
+ ItemForm.renderTabs = function () {
306
+ var _this = this;
307
+ var tabs = [];
308
+ // Parse the tabs to render
309
+ for (var i = 0; i < this._tabInfo.tabs.length; i++) {
310
+ var tabInfo = this._tabInfo.tabs[i];
311
+ // Generate the tab
312
+ var tab = {
313
+ data: tabInfo,
314
+ isActive: i == 0,
315
+ tabName: tabInfo.title,
316
+ onRender: function (el, item) {
317
+ // Render the form
318
+ _this.IsDisplay ? _this.renderDisplayForm(el, item.data) : _this.renderEditForm(el, item.data);
319
+ // Call the event
320
+ var tab = item.data;
321
+ tab.onRendered ? tab.onRendered(el, item) : null;
231
322
  }
232
- // Append the create/update button
233
- _this._useModal ? common_1.Modal.setFooter(elButtons) : el.appendChild(elButtons);
234
- // Call the item form button rendering event
235
- var formButtons = [{
236
- text: _this.IsNew ? "Create" : "Update",
237
- type: gd_sprest_bs_1.Components.ButtonTypes.OutlinePrimary,
238
- onClick: function () { _this.save(_this._editForm); }
239
- }];
240
- formButtons = _this._onFormButtonsRendering ? _this._onFormButtonsRendering(formButtons) : formButtons;
241
- // Render the form buttons
242
- formButtons && formButtons.length > 0 ? gd_sprest_bs_1.Components.ButtonGroup({
243
- el: elButtons,
244
- buttons: formButtons
245
- }) : null;
246
- // Call the footer event
247
- _this._onSetFooter ? _this._onSetFooter(_this._useModal ? common_1.Modal.FooterElement : elButtons) : null;
248
- // Update the body
249
- (_this._useModal ? common_1.Modal : common_1.CanvasForm).setBody(el);
323
+ };
324
+ // Call the rendering event
325
+ tab = tabInfo.onRendering ? tabInfo.onRendering(tab) : tab;
326
+ if (tab) {
327
+ // Append the tab
328
+ tabs.push(tab);
250
329
  }
251
- // Close the dialog
252
- common_1.LoadingDialog.hide();
253
- // Show the form
254
- (_this._useModal ? common_1.Modal : common_1.CanvasForm).show();
330
+ }
331
+ // Render the tabs
332
+ this._tabs = gd_sprest_bs_1.Components.ListGroup({
333
+ el: this.UseModal ? common_1.Modal.BodyElement : common_1.CanvasForm.BodyElement,
334
+ colWidth: this._tabInfo.isVertical ? 4 : 12,
335
+ isTabs: true,
336
+ isHorizontal: this._tabInfo.isVertical != true,
337
+ items: tabs
255
338
  });
339
+ // Return the tabs element
340
+ return this._tabs.el;
256
341
  };
257
342
  // Saves the edit form
258
343
  ItemForm.save = function (form) {
259
344
  var _this = this;
260
- if (form === void 0) { form = this._editForm; }
261
- // Validate the form
262
- this.validate(form).then(
345
+ if (form === void 0) { form = this._editForms[0]; }
346
+ var forms = form ? [form] : this._editForms;
347
+ var values = {};
348
+ // Display a loading dialog
349
+ common_1.LoadingDialog.setHeader("Validation");
350
+ common_1.LoadingDialog.setBody("Validating the form...");
351
+ common_1.LoadingDialog.show();
352
+ // Validate the forms
353
+ var isValid = true;
354
+ gd_sprest_bs_1.Helper.Executor(forms, function (form) {
355
+ // Return a promise
356
+ return new Promise(function (resolve) {
357
+ // Validate the form
358
+ _this.validate(form).then(
359
+ // Valid
360
+ function () {
361
+ // Update the values
362
+ values = __assign(__assign({}, values), form.getValues());
363
+ // Resolve the request
364
+ resolve(null);
365
+ },
366
+ // Not Valid
367
+ function () {
368
+ // Set the flag
369
+ isValid = false;
370
+ // Resolve the request
371
+ resolve(null);
372
+ });
373
+ });
374
+ }).then(
263
375
  // Success
264
376
  function () {
265
- // Display a loading dialog
266
- common_1.LoadingDialog.setHeader("Saving the Item");
267
- common_1.LoadingDialog.setBody((_this.IsNew ? "Creating" : "Updating") + " the Item");
268
- common_1.LoadingDialog.show();
269
- // Saves the item
270
- var saveItem = function (values) {
271
- // Save the item
272
- form.save(values).then(function (item) {
273
- // Call the update event
274
- _this._updateEvent ? _this._updateEvent(item) : null;
275
- // Close the dialogs
276
- (_this._useModal ? common_1.Modal : common_1.CanvasForm).hide();
277
- common_1.LoadingDialog.hide();
278
- });
279
- };
280
- // Call the save event
281
- var values = form.getValues();
282
- values = _this._onSave ? _this._onSave(values) : values;
283
- // See if the onSave event returned a promise
284
- if (values && typeof (values.then) === "function") {
285
- // Wait for the promise to complete
286
- values.then(function (values) {
287
- // Save the item
288
- saveItem(values);
377
+ // See if the form(s) are valid
378
+ if (isValid) {
379
+ // Call the custom validation event
380
+ _this.validate(values).then(
381
+ // Valid
382
+ function () {
383
+ // Update the loading dialog
384
+ common_1.LoadingDialog.setHeader("Saving the Item");
385
+ common_1.LoadingDialog.setBody((_this.IsNew ? "Creating" : "Updating") + " the Item");
386
+ // Saves the item
387
+ var saveItem = function (values) {
388
+ // Save the item
389
+ form.save(values).then(function (item) {
390
+ // Call the update event
391
+ _this._updateEvent ? _this._updateEvent(item) : null;
392
+ // Close the dialogs
393
+ (_this._useModal ? common_1.Modal : common_1.CanvasForm).hide();
394
+ common_1.LoadingDialog.hide();
395
+ });
396
+ };
397
+ // Call the save event
398
+ values = _this._onSave ? _this._onSave(values) : values;
399
+ // See if the onSave event returned a promise
400
+ if (values && typeof (values["then"]) === "function") {
401
+ // Wait for the promise to complete
402
+ values["then"](function (values) {
403
+ // Save the item
404
+ saveItem(values);
405
+ });
406
+ }
407
+ else {
408
+ // Save the item
409
+ saveItem(values);
410
+ }
411
+ },
412
+ // Not Valid
413
+ function () {
414
+ // Do nothing
289
415
  });
290
416
  }
291
417
  else {
292
- // Save the item
293
- saveItem(values);
418
+ // Close the dialog
419
+ common_1.LoadingDialog.hide();
294
420
  }
295
- },
296
- // Error
297
- function () {
298
- // Do Nothing
299
421
  });
300
422
  };
301
423
  // Validates the form
302
- ItemForm.validate = function (form) {
424
+ ItemForm.validate = function (values) {
303
425
  var _this = this;
304
426
  // Return a promise
305
427
  return new Promise(function (resolve, reject) {
306
- var isValid = form.isValid();
307
- // Display a loading dialog
308
- common_1.LoadingDialog.setHeader("Validation");
309
- common_1.LoadingDialog.setBody("Validating the form...");
310
- common_1.LoadingDialog.show();
311
- // Ensure it's valid
312
- if (!isValid) {
313
- // Close the dialog
314
- common_1.LoadingDialog.hide();
315
- // Reject the request
316
- reject();
317
- return;
318
- }
428
+ var isValid = true;
319
429
  // Call the validation event
320
- var returnVal = _this._onValidation ? _this._onValidation(form.getValues()) : null;
430
+ var returnVal = _this._onValidation ? _this._onValidation(values) : null;
321
431
  if (returnVal && typeof (returnVal.then) === "function") {
322
432
  // Wait for the promise to complete
323
433
  returnVal.then(function (isValid) {
324
- // Close the dialog
325
- common_1.LoadingDialog.hide();
326
434
  // Resolve the request
327
435
  isValid ? resolve() : reject();
328
436
  });
@@ -332,8 +440,6 @@ var ItemForm = /** @class */ (function () {
332
440
  // Update the flag
333
441
  isValid = returnVal;
334
442
  }
335
- // Close the dialog
336
- common_1.LoadingDialog.hide();
337
443
  // Resolve the request
338
444
  isValid ? resolve() : reject();
339
445
  }
@@ -347,17 +453,20 @@ var ItemForm = /** @class */ (function () {
347
453
  ItemForm._onSetHeader = null;
348
454
  ItemForm._onSave = null;
349
455
  ItemForm._onValidation = null;
456
+ ItemForm._tabInfo = null;
350
457
  ItemForm._updateEvent = null;
351
458
  // Display Form
352
- ItemForm._displayForm = null;
459
+ ItemForm._displayForms = null;
353
460
  // Edit Form
354
- ItemForm._editForm = null;
461
+ ItemForm._editForms = null;
355
462
  // Form Information
356
463
  ItemForm._info = null;
357
464
  // Form Modes
358
465
  ItemForm._controlMode = null;
359
466
  // List name
360
467
  ItemForm._listName = null;
468
+ // List Form Tabs
469
+ ItemForm._tabs = null;
361
470
  // Flag to use a modal or canvas (default)
362
471
  ItemForm._useModal = false;
363
472
  return ItemForm;
package/build/styles.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var t,a,e,d,l,r,o,i,b,n,s,c,p,h,f={309:(t,a,e)=>{e.d(a,{Z:()=>r});var d=e(218),l=e.n(d)()((function(t){return t[1]}));l.push([t.id,'table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable td.dt-control{text-align:center;cursor:pointer}table.dataTable td.dt-control:before{height:1em;width:1em;margin-top:-9px;display:inline-block;color:white;border:.15em solid white;border-radius:1em;box-shadow:0 0 .2em #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:"Courier New",Courier,monospace;line-height:1em;content:"+";background-color:#31b131}table.dataTable tr.dt-hasChild td.dt-control:before{content:"-";background-color:#d33333}/*! Bootstrap 5 integration for DataTables\n *\n * ©2020 SpryMedia Ltd, all rights reserved.\n * License: MIT datatables.net/license/mit\n */table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:.85em}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable>thead>tr>th:active,table.dataTable>thead>tr>td:active{outline:none}table.dataTable>thead>tr>th:not(.sorting_disabled),table.dataTable>thead>tr>td:not(.sorting_disabled){padding-right:30px}table.dataTable>thead .sorting,table.dataTable>thead .sorting_asc,table.dataTable>thead .sorting_desc,table.dataTable>thead .sorting_asc_disabled,table.dataTable>thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable>thead .sorting:before,table.dataTable>thead .sorting:after,table.dataTable>thead .sorting_asc:before,table.dataTable>thead .sorting_asc:after,table.dataTable>thead .sorting_desc:before,table.dataTable>thead .sorting_desc:after,table.dataTable>thead .sorting_asc_disabled:before,table.dataTable>thead .sorting_asc_disabled:after,table.dataTable>thead .sorting_desc_disabled:before,table.dataTable>thead .sorting_desc_disabled:after{position:absolute;bottom:.5em;display:block;opacity:.3}table.dataTable>thead .sorting:before,table.dataTable>thead .sorting_asc:before,table.dataTable>thead .sorting_desc:before,table.dataTable>thead .sorting_asc_disabled:before,table.dataTable>thead .sorting_desc_disabled:before{right:1em;content:"↑"}table.dataTable>thead .sorting:after,table.dataTable>thead .sorting_asc:after,table.dataTable>thead .sorting_desc:after,table.dataTable>thead .sorting_asc_disabled:after,table.dataTable>thead .sorting_desc_disabled:after{right:.5em;content:"↓"}table.dataTable>thead .sorting_asc:before,table.dataTable>thead .sorting_desc:after{opacity:1}table.dataTable>thead .sorting_asc_disabled:before,table.dataTable>thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:before,div.dataTables_scrollBody>table>thead .sorting_asc:before,div.dataTables_scrollBody>table>thead .sorting_desc:before,div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody tr:first-child th,div.dataTables_scrollBody>table>tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:center !important}}table.dataTable.table-sm>thead>tr>th:not(.sorting_disabled){padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable{border-right-width:0}table.table-bordered.dataTable thead tr:first-child th,table.table-bordered.dataTable thead tr:first-child td{border-top-width:1px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:first-child,table.table-bordered.dataTable th:first-child,table.table-bordered.dataTable td:first-child,table.table-bordered.dataTable td:first-child{border-left-width:1px}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:1px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-bottom-width:1px}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1){--bs-table-accent-bg: transparent}table.dataTable.table-striped>tbody>tr.odd{--bs-table-accent-bg: var(--bs-table-striped-bg)}\n',""]);const r=l},115:(t,a,e)=>{e.d(a,{Z:()=>i});var d=e(218),l=e.n(d),r=e(309),o=l()((function(t){return t[1]}));o.i(r.Z),o.push([t.id,".bs .img-flip-x{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.bs .img-flip-y{-webkit-transform:scaleY(-1);transform:scaleY(-1)}#footer nav{background-color:#fff !important;padding:0 !important}#loading-dialog{left:50%;top:50%;position:absolute;transform:translate(-50%, -50%);width:80vw;z-index:2010}#loading-dialog div.d-flex{align-items:center;background-color:#fff;border-radius:.3rem;border:1px solid rgba(0,0,0,.2);background-clip:padding-box;margin:30vh 30vw}#loading-dialog div.d-flex div[role=status]{color:#0078d4 !important;height:3rem;width:3rem}#loading-dialog-backdrop{background-color:#000;height:100vh;left:0px;opacity:.5;position:fixed;top:0px;width:100vw;z-index:2000}#footer nav div.container-fluid,#navigation nav div.container-fluid,#sub-navigation nav div.container-fluid{padding-right:.75rem}#sub-navigation nav.sub-nav{background-color:rgba(0,0,0,.05) !important;border:3px solid #dee2e6;border-top:0}",""]);const i=o},218:t=>{t.exports=function(t){var a=[];return a.toString=function(){return this.map((function(a){var e=t(a);return a[2]?"@media ".concat(a[2]," {").concat(e,"}"):e})).join("")},a.i=function(t,e,d){"string"==typeof t&&(t=[[null,t,""]]);var l={};if(d)for(var r=0;r<this.length;r++){var o=this[r][0];null!=o&&(l[o]=!0)}for(var i=0;i<t.length;i++){var b=[].concat(t[i]);d&&l[b[0]]||(e&&(b[2]?b[2]="".concat(e," and ").concat(b[2]):b[2]=e),a.push(b))}},a}},590:t=>{var a=[];function e(t){for(var e=-1,d=0;d<a.length;d++)if(a[d].identifier===t){e=d;break}return e}function d(t,d){for(var r={},o=[],i=0;i<t.length;i++){var b=t[i],n=d.base?b[0]+d.base:b[0],s=r[n]||0,c="".concat(n," ").concat(s);r[n]=s+1;var p=e(c),h={css:b[1],media:b[2],sourceMap:b[3],supports:b[4],layer:b[5]};if(-1!==p)a[p].references++,a[p].updater(h);else{var f=l(h,d);d.byIndex=i,a.splice(i,0,{identifier:c,updater:f,references:1})}o.push(c)}return o}function l(t,a){var e=a.domAPI(a);return e.update(t),function(a){if(a){if(a.css===t.css&&a.media===t.media&&a.sourceMap===t.sourceMap&&a.supports===t.supports&&a.layer===t.layer)return;e.update(t=a)}else e.remove()}}t.exports=function(t,l){var r=d(t=t||[],l=l||{});return function(t){t=t||[];for(var o=0;o<r.length;o++){var i=e(r[o]);a[i].references--}for(var b=d(t,l),n=0;n<r.length;n++){var s=e(r[n]);0===a[s].references&&(a[s].updater(),a.splice(s,1))}r=b}}},804:t=>{var a={};t.exports=function(t,e){var d=function(t){if(void 0===a[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}a[t]=e}return a[t]}(t);if(!d)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");d.appendChild(e)}},980:t=>{t.exports=function(t){var a=document.createElement("style");return t.setAttributes(a,t.attributes),t.insert(a,t.options),a}},98:(t,a,e)=>{t.exports=function(t){var a=e.nc;a&&t.setAttribute("nonce",a)}},937:t=>{t.exports=function(t){var a=t.insertStyleElement(t);return{update:function(e){!function(t,a,e){var d="";e.supports&&(d+="@supports (".concat(e.supports,") {")),e.media&&(d+="@media ".concat(e.media," {"));var l=void 0!==e.layer;l&&(d+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),d+=e.css,l&&(d+="}"),e.media&&(d+="}"),e.supports&&(d+="}");var r=e.sourceMap;r&&"undefined"!=typeof btoa&&(d+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),a.styleTagTransform(d,t,a.options)}(a,t,e)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(a)}}}},776:t=>{t.exports=function(t,a){if(a.styleSheet)a.styleSheet.cssText=t;else{for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(document.createTextNode(t))}}}},g={};function T(t){var a=g[t];if(void 0!==a)return a.exports;var e=g[t]={id:t,exports:{}};return f[t](e,e.exports,T),e.exports}T.n=t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return T.d(a,{a}),a},T.d=(t,a)=>{for(var e in a)T.o(a,e)&&!T.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:a[e]})},T.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),t=T(590),a=T.n(t),e=T(937),d=T.n(e),l=T(804),r=T.n(l),o=T(98),i=T.n(o),b=T(980),n=T.n(b),s=T(776),c=T.n(s),p=T(115),(h={}).styleTagTransform=c(),h.setAttributes=i(),h.insert=r().bind(null,"head"),h.domAPI=d(),h.insertStyleElement=n(),a()(p.Z,h),p.Z&&p.Z.locals&&p.Z.locals})();
1
+ (()=>{"use strict";var t,a,e,d,r,l,o,i,b,n,s,h,c,p,f={583:(t,a,e)=>{e.d(a,{Z:()=>l});var d=e(63),r=e.n(d)()((function(t){return t[1]}));r.push([t.id,'table.dataTable td.dt-control{text-align:center;cursor:pointer}table.dataTable td.dt-control:before{height:1em;width:1em;margin-top:-9px;display:inline-block;color:white;border:.15em solid white;border-radius:1em;box-shadow:0 0 .2em #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:"Courier New",Courier,monospace;line-height:1em;content:"+";background-color:#31b131}table.dataTable tr.dt-hasChild td.dt-control:before{content:"-";background-color:#d33333}table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting_asc_disabled,table.dataTable thead>tr>th.sorting_desc_disabled,table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting_asc_disabled,table.dataTable thead>tr>td.sorting_desc_disabled{cursor:pointer;position:relative;padding-right:26px}table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after{position:absolute;display:block;opacity:.125;right:10px;line-height:9px;font-size:.9em}table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:before{bottom:50%;content:"▴"}table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:after{top:50%;content:"▾"}table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:after{opacity:.6}table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting_asc_disabled:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}div.dataTables_scrollBody table.dataTable thead>tr>th:before,div.dataTables_scrollBody table.dataTable thead>tr>th:after,div.dataTables_scrollBody table.dataTable thead>tr>td:before,div.dataTables_scrollBody table.dataTable thead>tr>td:after{display:none}div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:2px}div.dataTables_processing>div:last-child{position:relative;width:80px;height:15px;margin:1em auto}div.dataTables_processing>div:last-child>div{position:absolute;top:0;width:13px;height:13px;border-radius:50%;background:rgba(13, 110, 253, 0.9);animation-timing-function:cubic-bezier(0, 1, 1, 0)}div.dataTables_processing>div:last-child>div:nth-child(1){left:8px;animation:datatables-loader-1 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(2){left:8px;animation:datatables-loader-2 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(3){left:32px;animation:datatables-loader-2 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(4){left:56px;animation:datatables-loader-3 .6s infinite}@keyframes datatables-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}/*! Bootstrap 5 integration for DataTables\n *\n * ©2020 SpryMedia Ltd, all rights reserved.\n * License: MIT datatables.net/license/mit\n */table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1)>*{box-shadow:none}table.dataTable>tbody>tr{background-color:transparent}table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.9);color:white}table.dataTable.table-striped>tbody>tr.odd>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.05)}table.dataTable.table-striped>tbody>tr.odd.selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.95)}table.dataTable.table-hover>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.075)}table.dataTable.table-hover>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.975)}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:.85em}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:before,div.dataTables_scrollBody>table>thead .sorting_asc:before,div.dataTables_scrollBody>table>thead .sorting_desc:before,div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody tr:first-child th,div.dataTables_scrollBody>table>tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:center !important}}table.dataTable.table-sm>thead>tr>th:not(.sorting_disabled){padding-right:20px}table.table-bordered.dataTable{border-right-width:0}table.table-bordered.dataTable thead tr:first-child th,table.table-bordered.dataTable thead tr:first-child td{border-top-width:1px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:first-child,table.table-bordered.dataTable th:first-child,table.table-bordered.dataTable td:first-child,table.table-bordered.dataTable td:first-child{border-left-width:1px}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:1px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-bottom-width:1px}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}\n',""]);const l=r},31:(t,a,e)=>{e.d(a,{Z:()=>i});var d=e(63),r=e.n(d),l=e(583),o=r()((function(t){return t[1]}));o.i(l.Z),o.push([t.id,".bs .img-flip-x{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.bs .img-flip-y{-webkit-transform:scaleY(-1);transform:scaleY(-1)}#footer nav{background-color:#fff !important;padding:0 !important}#loading-dialog{left:50%;top:50%;position:absolute;transform:translate(-50%, -50%);width:80vw;z-index:2010}#loading-dialog div.d-flex{align-items:center;background-color:#fff;border-radius:.3rem;border:1px solid rgba(0,0,0,.2);background-clip:padding-box;margin:30vh 30vw}#loading-dialog div.d-flex div[role=status]{color:#0078d4 !important;height:3rem;width:3rem}#loading-dialog-backdrop{background-color:#000;height:100vh;left:0px;opacity:.5;position:fixed;top:0px;width:100vw;z-index:2000}#footer nav div.container-fluid,#navigation nav div.container-fluid,#sub-navigation nav div.container-fluid{padding-right:.75rem}#sub-navigation nav.sub-nav{background-color:rgba(0,0,0,.05) !important;border:3px solid #dee2e6;border-top:0}",""]);const i=o},63:t=>{t.exports=function(t){var a=[];return a.toString=function(){return this.map((function(a){var e=t(a);return a[2]?"@media ".concat(a[2]," {").concat(e,"}"):e})).join("")},a.i=function(t,e,d){"string"==typeof t&&(t=[[null,t,""]]);var r={};if(d)for(var l=0;l<this.length;l++){var o=this[l][0];null!=o&&(r[o]=!0)}for(var i=0;i<t.length;i++){var b=[].concat(t[i]);d&&r[b[0]]||(e&&(b[2]?b[2]="".concat(e," and ").concat(b[2]):b[2]=e),a.push(b))}},a}},870:t=>{var a=[];function e(t){for(var e=-1,d=0;d<a.length;d++)if(a[d].identifier===t){e=d;break}return e}function d(t,d){for(var l={},o=[],i=0;i<t.length;i++){var b=t[i],n=d.base?b[0]+d.base:b[0],s=l[n]||0,h="".concat(n," ").concat(s);l[n]=s+1;var c=e(h),p={css:b[1],media:b[2],sourceMap:b[3],supports:b[4],layer:b[5]};if(-1!==c)a[c].references++,a[c].updater(p);else{var f=r(p,d);d.byIndex=i,a.splice(i,0,{identifier:h,updater:f,references:1})}o.push(h)}return o}function r(t,a){var e=a.domAPI(a);return e.update(t),function(a){if(a){if(a.css===t.css&&a.media===t.media&&a.sourceMap===t.sourceMap&&a.supports===t.supports&&a.layer===t.layer)return;e.update(t=a)}else e.remove()}}t.exports=function(t,r){var l=d(t=t||[],r=r||{});return function(t){t=t||[];for(var o=0;o<l.length;o++){var i=e(l[o]);a[i].references--}for(var b=d(t,r),n=0;n<l.length;n++){var s=e(l[n]);0===a[s].references&&(a[s].updater(),a.splice(s,1))}l=b}}},103:t=>{var a={};t.exports=function(t,e){var d=function(t){if(void 0===a[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}a[t]=e}return a[t]}(t);if(!d)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");d.appendChild(e)}},626:t=>{t.exports=function(t){var a=document.createElement("style");return t.setAttributes(a,t.attributes),t.insert(a,t.options),a}},341:(t,a,e)=>{t.exports=function(t){var a=e.nc;a&&t.setAttribute("nonce",a)}},822:t=>{t.exports=function(t){var a=t.insertStyleElement(t);return{update:function(e){!function(t,a,e){var d="";e.supports&&(d+="@supports (".concat(e.supports,") {")),e.media&&(d+="@media ".concat(e.media," {"));var r=void 0!==e.layer;r&&(d+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),d+=e.css,r&&(d+="}"),e.media&&(d+="}"),e.supports&&(d+="}");var l=e.sourceMap;l&&"undefined"!=typeof btoa&&(d+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(l))))," */")),a.styleTagTransform(d,t,a.options)}(a,t,e)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(a)}}}},828:t=>{t.exports=function(t,a){if(a.styleSheet)a.styleSheet.cssText=t;else{for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(document.createTextNode(t))}}}},T={};function g(t){var a=T[t];if(void 0!==a)return a.exports;var e=T[t]={id:t,exports:{}};return f[t](e,e.exports,g),e.exports}g.n=t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return g.d(a,{a}),a},g.d=(t,a)=>{for(var e in a)g.o(a,e)&&!g.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:a[e]})},g.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),g.nc=void 0,t=g(870),a=g.n(t),e=g(822),d=g.n(e),r=g(103),l=g.n(r),o=g(341),i=g.n(o),b=g(626),n=g.n(b),s=g(828),h=g.n(s),c=g(31),(p={}).styleTagTransform=h(),p.setAttributes=i(),p.insert=l().bind(null,"head"),p.domAPI=d(),p.insertStyleElement=n(),a()(c.Z,p),c.Z&&c.Z.locals&&c.Z.locals})();