PageSourceSearch

https://axis.ausiex.com.au/core/modules/v1/core_assets/js/mura.js?v=7.5.5

js ausiex.com.au collected 2026-10-05 06:30:44 UTC 936,461 bytes, 27,860 lines download raw bytes

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("Mura", [], factory);
6	else if(typeof exports === 'object')
7		exports["Mura"] = factory();
8	else
9		root["Mura"] = factory();
10})(self, function() {
11return /******/ (function() { // webpackBootstrap
12/******/ 	var __webpack_modules__ = ({
13
14/***/ 9669:
15/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
16
17module.exports = __webpack_require__(1609);
18
19/***/ }),
20
21/***/ 5448:
22/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
23
24"use strict";
25
26
27var utils = __webpack_require__(4867);
28var settle = __webpack_require__(6026);
29var cookies = __webpack_require__(4372);
30var buildURL = __webpack_require__(5327);
31var buildFullPath = __webpack_require__(4097);
32var parseHeaders = __webpack_require__(4109);
33var isURLSameOrigin = __webpack_require__(7985);
34var createError = __webpack_require__(5061);
35var defaults = __webpack_require__(5655);
36var Cancel = __webpack_require__(5263);
37
38module.exports = function xhrAdapter(config) {
39  return new Promise(function dispatchXhrRequest(resolve, reject) {
40    var requestData = config.data;
41    var requestHeaders = config.headers;
42    var responseType = config.responseType;
43    var onCanceled;
44    function done() {
45      if (config.cancelToken) {
46        config.cancelToken.unsubscribe(onCanceled);
47      }
48
49      if (config.signal) {
50        config.signal.removeEventListener('abort', onCanceled);
51      }
52    }
53
54    if (utils.isFormData(requestData)) {
55      delete requestHeaders['Content-Type']; // Let the browser set it
56    }
57
58    var request = new XMLHttpRequest();
59
60    // HTTP basic authentication
61    if (config.auth) {
62      var username = config.auth.username || '';
63      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
64      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
65    }
66
67    var fullPath = buildFullPath(config.baseURL, config.url);
68    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
69
70    // Set the request timeout in MS
71    request.timeout = config.timeout;
72
73    function onloadend() {
74      if (!request) {
75        return;
76      }
77      // Prepare the response
78      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
79      var responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?
80        request.responseText : request.response;
81      var response = {
82        data: responseData,
83        status: request.status,
84        statusText: request.statusText,
85        headers: responseHeaders,
86        config: config,
87        request: request
88      };
89
90      settle(function _resolve(value) {
91        resolve(value);
92        done();
93      }, function _reject(err) {
94        reject(err);
95        done();
96      }, response);
97
98      // Clean up request
99      request = null;
100    }
101
102    if ('onloadend' in request) {
103      // Use onloadend if available
104      request.onloadend = onloadend;
105    } else {
106      // Listen for ready state to emulate onloadend
107      request.onreadystatechange = function handleLoad() {
108        if (!request || request.readyState !== 4) {
109          return;
110        }
111
112        // The request errored out and we didn't get a response, this will be
113        // handled by onerror instead
114        // With one exception: request that using file: protocol, most browsers
115        // will return status as 0 even though it's a successful request
116        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
117          return;
118        }
119        // readystate handler is calling before onerror or ontimeout handlers,
120        // so we should call onloadend on the next 'tick'
121        setTimeout(onloadend);
122      };
123    }
124
125    // Handle browser request cancellation (as opposed to a manual cancellation)
126    request.onabort = function handleAbort() {
127      if (!request) {
128        return;
129      }
130
131      reject(createError('Request aborted', config, 'ECONNABORTED', request));
132
133      // Clean up request
134      request = null;
135    };
136
137    // Handle low level network errors
138    request.onerror = function handleError() {
139      // Real errors are hidden from us by the browser
140      // onerror should only fire if it's a network error
141      reject(createError('Network Error', config, null, request));
142
143      // Clean up request
144      request = null;
145    };
146
147    // Handle timeout
148    request.ontimeout = function handleTimeout() {
149      var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
150      var transitional = config.transitional || defaults.transitional;
151      if (config.timeoutErrorMessage) {
152        timeoutErrorMessage = config.timeoutErrorMessage;
153      }
154      reject(createError(
155        timeoutErrorMessage,
156        config,
157        transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
158        request));
159
160      // Clean up request
161      request = null;
162    };
163
164    // Add xsrf header
165    // This is only done if running in a standard browser environment.
166    // Specifically not if we're in a web worker, or react-native.
167    if (utils.isStandardBrowserEnv()) {
168      // Add xsrf header
169      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
170        cookies.read(config.xsrfCookieName) :
171        undefined;
172
173      if (xsrfValue) {
174        requestHeaders[config.xsrfHeaderName] = xsrfValue;
175      }
176    }
177
178    // Add headers to the request
179    if ('setRequestHeader' in request) {
180      utils.forEach(requestHeaders, function setRequestHeader(val, key) {
181        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
182          // Remove Content-Type if data is undefined
183          delete requestHeaders[key];
184        } else {
185          // Otherwise add header to the request
186          request.setRequestHeader(key, val);
187        }
188      });
189    }
190
191    // Add withCredentials to request if needed
192    if (!utils.isUndefined(config.withCredentials)) {
193      request.withCredentials = !!config.withCredentials;
194    }
195
196    // Add responseType to request if needed
197    if (responseType && responseType !== 'json') {
198      request.responseType = config.responseType;
199    }
200
201    // Handle progress if needed
202    if (typeof config.onDownloadProgress === 'function') {
203      request.addEventListener('progress', config.onDownloadProgress);
204    }
205
206    // Not all browsers support upload events
207    if (typeof config.onUploadProgress === 'function' && request.upload) {
208      request.upload.addEventListener('progress', config.onUploadProgress);
209    }
210
211    if (config.cancelToken || config.signal) {
212      // Handle cancellation
213      // eslint-disable-next-line func-names
214      onCanceled = function(cancel) {
215        if (!request) {
216          return;
217        }
218        reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
219        request.abort();
220        request = null;
221      };
222
223      config.cancelToken && config.cancelToken.subscribe(onCanceled);
224      if (config.signal) {
225        config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
226      }
227    }
228
229    if (!requestData) {
230      requestData = null;
231    }
232
233    // Send the request
234    request.send(requestData);
235  });
236};
237
238
239/***/ }),
240
241/***/ 1609:
242/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
243
244"use strict";
245
246
247var utils = __webpack_require__(4867);
248var bind = __webpack_require__(1849);
249var Axios = __webpack_require__(321);
250var mergeConfig = __webpack_require__(7185);
251var defaults = __webpack_require__(5655);
252
253/**
254 * Create an instance of Axios
255 *
256 * @param {Object} defaultConfig The default config for the instance
257 * @return {Axios} A new instance of Axios
258 */
259function createInstance(defaultConfig) {
260  var context = new Axios(defaultConfig);
261  var instance = bind(Axios.prototype.request, context);
262
263  // Copy axios.prototype to instance
264  utils.extend(instance, Axios.prototype, context);
265
266  // Copy context to instance
267  utils.extend(instance, context);
268
269  // Factory for creating new instances
270  instance.create = function create(instanceConfig) {
271    return createInstance(mergeConfig(defaultConfig, instanceConfig));
272  };
273
274  return instance;
275}
276
277// Create the default instance to be exported
278var axios = createInstance(defaults);
279
280// Expose Axios class to allow class inheritance
281axios.Axios = Axios;
282
283// Expose Cancel & CancelToken
284axios.Cancel = __webpack_require__(5263);
285axios.CancelToken = __webpack_require__(4972);
286axios.isCancel = __webpack_require__(6502);
287axios.VERSION = (__webpack_require__(7288).version);
288
289// Expose all/spread
290axios.all = function all(promises) {
291  return Promise.all(promises);
292};
293axios.spread = __webpack_require__(8713);
294
295// Expose isAxiosError
296axios.isAxiosError = __webpack_require__(6268);
297
298module.exports = axios;
299
300// Allow use of default import syntax in TypeScript
301module.exports["default"] = axios;
302
303
304/***/ }),
305
306/***/ 5263:
307/***/ (function(module) {
308
309"use strict";
310
311
312/**
313 * A `Cancel` is an object that is thrown when an operation is canceled.
314 *
315 * @class
316 * @param {string=} message The message.
317 */
318function Cancel(message) {
319  this.message = message;
320}
321
322Cancel.prototype.toString = function toString() {
323  return 'Cancel' + (this.message ? ': ' + this.message : '');
324};
325
326Cancel.prototype.__CANCEL__ = true;
327
328module.exports = Cancel;
329
330
331/***/ }),
332
333/***/ 4972:
334/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
335
336"use strict";
337
338
339var Cancel = __webpack_require__(5263);
340
341/**
342 * A `CancelToken` is an object that can be used to request cancellation of an operation.
343 *
344 * @class
345 * @param {Function} executor The executor function.
346 */
347function CancelToken(executor) {
348  if (typeof executor !== 'function') {
349    throw new TypeError('executor must be a function.');
350  }
351
352  var resolvePromise;
353
354  this.promise = new Promise(function promiseExecutor(resolve) {
355    resolvePromise = resolve;
356  });
357
358  var token = this;
359
360  // eslint-disable-next-line func-names
361  this.promise.then(function(cancel) {
362    if (!token._listeners) return;
363
364    var i;
365    var l = token._listeners.length;
366
367    for (i = 0; i < l; i++) {
368      token._listeners[i](cancel);
369    }
370    token._listeners = null;
371  });
372
373  // eslint-disable-next-line func-names
374  this.promise.then = function(onfulfilled) {
375    var _resolve;
376    // eslint-disable-next-line func-names
377    var promise = new Promise(function(resolve) {
378      token.subscribe(resolve);
379      _resolve = resolve;
380    }).then(onfulfilled);
381
382    promise.cancel = function reject() {
383      token.unsubscribe(_resolve);
384    };
385
386    return promise;
387  };
388
389  executor(function cancel(message) {
390    if (token.reason) {
391      // Cancellation has already been requested
392      return;
393    }
394
395    token.reason = new Cancel(message);
396    resolvePromise(token.reason);
397  });
398}
399
400/**
401 * Throws a `Cancel` if cancellation has been requested.
402 */
403CancelToken.prototype.throwIfRequested = function throwIfRequested() {
404  if (this.reason) {
405    throw this.reason;
406  }
407};
408
409/**
410 * Subscribe to the cancel signal
411 */
412
413CancelToken.prototype.subscribe = function subscribe(listener) {
414  if (this.reason) {
415    listener(this.reason);
416    return;
417  }
418
419  if (this._listeners) {
420    this._listeners.push(listener);
421  } else {
422    this._listeners = [listener];
423  }
424};
425
426/**
427 * Unsubscribe from the cancel signal
428 */
429
430CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
431  if (!this._listeners) {
432    return;
433  }
434  var index = this._listeners.indexOf(listener);
435  if (index !== -1) {
436    this._listeners.splice(index, 1);
437  }
438};
439
440/**
441 * Returns an object that contains a new `CancelToken` and a function that, when called,
442 * cancels the `CancelToken`.
443 */
444CancelToken.source = function source() {
445  var cancel;
446  var token = new CancelToken(function executor(c) {
447    cancel = c;
448  });
449  return {
450    token: token,
451    cancel: cancel
452  };
453};
454
455module.exports = CancelToken;
456
457
458/***/ }),
459
460/***/ 6502:
461/***/ (function(module) {
462
463"use strict";
464
465
466module.exports = function isCancel(value) {
467  return !!(value && value.__CANCEL__);
468};
469
470
471/***/ }),
472
473/***/ 321:
474/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
475
476"use strict";
477
478
479var utils = __webpack_require__(4867);
480var buildURL = __webpack_require__(5327);
481var InterceptorManager = __webpack_require__(782);
482var dispatchRequest = __webpack_require__(3572);
483var mergeConfig = __webpack_require__(7185);
vendor: 5,298 bytes, lines 484-678
484var validator = __webpack_require__(4875);
485
486var validators = validator.validators;
487/**
488 * Create a new instance of Axios
489 *
490 * @param {Object} instanceConfig The default config for the instance
491 */
492function Axios(instanceConfig) {
493  this.defaults = instanceConfig;
494  this.interceptors = {
495    request: new InterceptorManager(),
496    response: new InterceptorManager()
497  };
498}
499
500/**
501 * Dispatch a request
502 *
503 * @param {Object} config The config specific for this request (merged with this.defaults)
504 */
505Axios.prototype.request = function request(configOrUrl, config) {
506  /*eslint no-param-reassign:0*/
507  // Allow for axios('example/url'[, config]) a la fetch API
508  if (typeof configOrUrl === 'string') {
509    config = config || {};
510    config.url = configOrUrl;
511  } else {
512    config = configOrUrl || {};
513  }
514
515  config = mergeConfig(this.defaults, config);
516
517  // Set config.method
518  if (config.method) {
519    config.method = config.method.toLowerCase();
520  } else if (this.defaults.method) {
521    config.method = this.defaults.method.toLowerCase();
522  } else {
523    config.method = 'get';
524  }
525
526  var transitional = config.transitional;
527
528  if (transitional !== undefined) {
529    validator.assertOptions(transitional, {
530      silentJSONParsing: validators.transitional(validators.boolean),
531      forcedJSONParsing: validators.transitional(validators.boolean),
532      clarifyTimeoutError: validators.transitional(validators.boolean)
533    }, false);
534  }
535
536  // filter out skipped interceptors
537  var requestInterceptorChain = [];
538  var synchronousRequestInterceptors = true;
539  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
540    if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
541      return;
542    }
543
544    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
545
546    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
547  });
548
549  var responseInterceptorChain = [];
550  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
551    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
552  });
553
554  var promise;
555
556  if (!synchronousRequestInterceptors) {
557    var chain = [dispatchRequest, undefined];
558
559    Array.prototype.unshift.apply(chain, requestInterceptorChain);
560    chain = chain.concat(responseInterceptorChain);
561
562    promise = Promise.resolve(config);
563    while (chain.length) {
564      promise = promise.then(chain.shift(), chain.shift());
565    }
566
567    return promise;
568  }
569
570
571  var newConfig = config;
572  while (requestInterceptorChain.length) {
573    var onFulfilled = requestInterceptorChain.shift();
574    var onRejected = requestInterceptorChain.shift();
575    try {
576      newConfig = onFulfilled(newConfig);
577    } catch (error) {
578      onRejected(error);
579      break;
580    }
581  }
582
583  try {
584    promise = dispatchRequest(newConfig);
585  } catch (error) {
586    return Promise.reject(error);
587  }
588
589  while (responseInterceptorChain.length) {
590    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
591  }
592
593  return promise;
594};
595
596Axios.prototype.getUri = function getUri(config) {
597  config = mergeConfig(this.defaults, config);
598  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
599};
600
601// Provide aliases for supported request methods
602utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
603  /*eslint func-names:0*/
604  Axios.prototype[method] = function(url, config) {
605    return this.request(mergeConfig(config || {}, {
606      method: method,
607      url: url,
608      data: (config || {}).data
609    }));
610  };
611});
612
613utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
614  /*eslint func-names:0*/
615  Axios.prototype[method] = function(url, data, config) {
616    return this.request(mergeConfig(config || {}, {
617      method: method,
618      url: url,
619      data: data
620    }));
621  };
622});
623
624module.exports = Axios;
625
626
627/***/ }),
628
629/***/ 782:
630/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
631
632"use strict";
633
634
635var utils = __webpack_require__(4867);
636
637function InterceptorManager() {
638  this.handlers = [];
639}
640
641/**
642 * Add a new interceptor to the stack
643 *
644 * @param {Function} fulfilled The function to handle `then` for a `Promise`
645 * @param {Function} rejected The function to handle `reject` for a `Promise`
646 *
647 * @return {Number} An ID used to remove interceptor later
648 */
649InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
650  this.handlers.push({
651    fulfilled: fulfilled,
652    rejected: rejected,
653    synchronous: options ? options.synchronous : false,
654    runWhen: options ? options.runWhen : null
655  });
656  return this.handlers.length - 1;
657};
658
659/**
660 * Remove an interceptor from the stack
661 *
662 * @param {Number} id The ID that was returned by `use`
663 */
664InterceptorManager.prototype.eject = function eject(id) {
665  if (this.handlers[id]) {
666    this.handlers[id] = null;
667  }
668};
669
670/**
671 * Iterate over all the registered interceptors
672 *
673 * This method is particularly useful for skipping over any
674 * interceptors that may have become `null` calling `eject`.
675 *
676 * @param {Function} fn The function to call for each interceptor
677 */
678InterceptorManager.prototype.forEach = function forEach(fn) {
vendor: 4,919 bytes, lines 679-880
679  utils.forEach(this.handlers, function forEachHandler(h) {
680    if (h !== null) {
681      fn(h);
682    }
683  });
684};
685
686module.exports = InterceptorManager;
687
688
689/***/ }),
690
691/***/ 4097:
692/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
693
694"use strict";
695
696
697var isAbsoluteURL = __webpack_require__(1793);
698var combineURLs = __webpack_require__(7303);
699
700/**
701 * Creates a new URL by combining the baseURL with the requestedURL,
702 * only when the requestedURL is not already an absolute URL.
703 * If the requestURL is absolute, this function returns the requestedURL untouched.
704 *
705 * @param {string} baseURL The base URL
706 * @param {string} requestedURL Absolute or relative URL to combine
707 * @returns {string} The combined full path
708 */
709module.exports = function buildFullPath(baseURL, requestedURL) {
710  if (baseURL && !isAbsoluteURL(requestedURL)) {
711    return combineURLs(baseURL, requestedURL);
712  }
713  return requestedURL;
714};
715
716
717/***/ }),
718
719/***/ 5061:
720/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
721
722"use strict";
723
724
725var enhanceError = __webpack_require__(481);
726
727/**
728 * Create an Error with the specified message, config, error code, request and response.
729 *
730 * @param {string} message The error message.
731 * @param {Object} config The config.
732 * @param {string} [code] The error code (for example, 'ECONNABORTED').
733 * @param {Object} [request] The request.
734 * @param {Object} [response] The response.
735 * @returns {Error} The created error.
736 */
737module.exports = function createError(message, config, code, request, response) {
738  var error = new Error(message);
739  return enhanceError(error, config, code, request, response);
740};
741
742
743/***/ }),
744
745/***/ 3572:
746/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
747
748"use strict";
749
750
751var utils = __webpack_require__(4867);
752var transformData = __webpack_require__(8527);
753var isCancel = __webpack_require__(6502);
754var defaults = __webpack_require__(5655);
755var Cancel = __webpack_require__(5263);
756
757/**
758 * Throws a `Cancel` if cancellation has been requested.
759 */
760function throwIfCancellationRequested(config) {
761  if (config.cancelToken) {
762    config.cancelToken.throwIfRequested();
763  }
764
765  if (config.signal && config.signal.aborted) {
766    throw new Cancel('canceled');
767  }
768}
769
770/**
771 * Dispatch a request to the server using the configured adapter.
772 *
773 * @param {object} config The config that is to be used for the request
774 * @returns {Promise} The Promise to be fulfilled
775 */
776module.exports = function dispatchRequest(config) {
777  throwIfCancellationRequested(config);
778
779  // Ensure headers exist
780  config.headers = config.headers || {};
781
782  // Transform request data
783  config.data = transformData.call(
784    config,
785    config.data,
786    config.headers,
787    config.transformRequest
788  );
789
790  // Flatten headers
791  config.headers = utils.merge(
792    config.headers.common || {},
793    config.headers[config.method] || {},
794    config.headers
795  );
796
797  utils.forEach(
798    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
799    function cleanHeaderConfig(method) {
800      delete config.headers[method];
801    }
802  );
803
804  var adapter = config.adapter || defaults.adapter;
805
806  return adapter(config).then(function onAdapterResolution(response) {
807    throwIfCancellationRequested(config);
808
809    // Transform response data
810    response.data = transformData.call(
811      config,
812      response.data,
813      response.headers,
814      config.transformResponse
815    );
816
817    return response;
818  }, function onAdapterRejection(reason) {
819    if (!isCancel(reason)) {
820      throwIfCancellationRequested(config);
821
822      // Transform response data
823      if (reason && reason.response) {
824        reason.response.data = transformData.call(
825          config,
826          reason.response.data,
827          reason.response.headers,
828          config.transformResponse
829        );
830      }
831    }
832
833    return Promise.reject(reason);
834  });
835};
836
837
838/***/ }),
839
840/***/ 481:
841/***/ (function(module) {
842
843"use strict";
844
845
846/**
847 * Update an Error with the specified config, error code, and response.
848 *
849 * @param {Error} error The error to update.
850 * @param {Object} config The config.
851 * @param {string} [code] The error code (for example, 'ECONNABORTED').
852 * @param {Object} [request] The request.
853 * @param {Object} [response] The response.
854 * @returns {Error} The error.
855 */
856module.exports = function enhanceError(error, config, code, request, response) {
857  error.config = config;
858  if (code) {
859    error.code = code;
860  }
861
862  error.request = request;
863  error.response = response;
864  error.isAxiosError = true;
865
866  error.toJSON = function toJSON() {
867    return {
868      // Standard
869      message: this.message,
870      name: this.name,
871      // Microsoft
872      description: this.description,
873      number: this.number,
874      // Mozilla
875      fileName: this.fileName,
876      lineNumber: this.lineNumber,
877      columnNumber: this.columnNumber,
878      stack: this.stack,
879      // Axios
880      config: this.config,
vendor: 4,873 bytes, lines 881-1050
881      code: this.code,
882      status: this.response && this.response.status ? this.response.status : null
883    };
884  };
885  return error;
886};
887
888
889/***/ }),
890
891/***/ 7185:
892/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
893
894"use strict";
895
896
897var utils = __webpack_require__(4867);
898
899/**
900 * Config-specific merge-function which creates a new config-object
901 * by merging two configuration objects together.
902 *
903 * @param {Object} config1
904 * @param {Object} config2
905 * @returns {Object} New object resulting from merging config2 to config1
906 */
907module.exports = function mergeConfig(config1, config2) {
908  // eslint-disable-next-line no-param-reassign
909  config2 = config2 || {};
910  var config = {};
911
912  function getMergedValue(target, source) {
913    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
914      return utils.merge(target, source);
915    } else if (utils.isPlainObject(source)) {
916      return utils.merge({}, source);
917    } else if (utils.isArray(source)) {
918      return source.slice();
919    }
920    return source;
921  }
922
923  // eslint-disable-next-line consistent-return
924  function mergeDeepProperties(prop) {
925    if (!utils.isUndefined(config2[prop])) {
926      return getMergedValue(config1[prop], config2[prop]);
927    } else if (!utils.isUndefined(config1[prop])) {
928      return getMergedValue(undefined, config1[prop]);
929    }
930  }
931
932  // eslint-disable-next-line consistent-return
933  function valueFromConfig2(prop) {
934    if (!utils.isUndefined(config2[prop])) {
935      return getMergedValue(undefined, config2[prop]);
936    }
937  }
938
939  // eslint-disable-next-line consistent-return
940  function defaultToConfig2(prop) {
941    if (!utils.isUndefined(config2[prop])) {
942      return getMergedValue(undefined, config2[prop]);
943    } else if (!utils.isUndefined(config1[prop])) {
944      return getMergedValue(undefined, config1[prop]);
945    }
946  }
947
948  // eslint-disable-next-line consistent-return
949  function mergeDirectKeys(prop) {
950    if (prop in config2) {
951      return getMergedValue(config1[prop], config2[prop]);
952    } else if (prop in config1) {
953      return getMergedValue(undefined, config1[prop]);
954    }
955  }
956
957  var mergeMap = {
958    'url': valueFromConfig2,
959    'method': valueFromConfig2,
960    'data': valueFromConfig2,
961    'baseURL': defaultToConfig2,
962    'transformRequest': defaultToConfig2,
963    'transformResponse': defaultToConfig2,
964    'paramsSerializer': defaultToConfig2,
965    'timeout': defaultToConfig2,
966    'timeoutMessage': defaultToConfig2,
967    'withCredentials': defaultToConfig2,
968    'adapter': defaultToConfig2,
969    'responseType': defaultToConfig2,
970    'xsrfCookieName': defaultToConfig2,
971    'xsrfHeaderName': defaultToConfig2,
972    'onUploadProgress': defaultToConfig2,
973    'onDownloadProgress': defaultToConfig2,
974    'decompress': defaultToConfig2,
975    'maxContentLength': defaultToConfig2,
976    'maxBodyLength': defaultToConfig2,
977    'transport': defaultToConfig2,
978    'httpAgent': defaultToConfig2,
979    'httpsAgent': defaultToConfig2,
980    'cancelToken': defaultToConfig2,
981    'socketPath': defaultToConfig2,
982    'responseEncoding': defaultToConfig2,
983    'validateStatus': mergeDirectKeys
984  };
985
986  utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
987    var merge = mergeMap[prop] || mergeDeepProperties;
988    var configValue = merge(prop);
989    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
990  });
991
992  return config;
993};
994
995
996/***/ }),
997
998/***/ 6026:
999/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1000
1001"use strict";
1002
1003
1004var createError = __webpack_require__(5061);
1005
1006/**
1007 * Resolve or reject a Promise based on response status.
1008 *
1009 * @param {Function} resolve A function that resolves the promise.
1010 * @param {Function} reject A function that rejects the promise.
1011 * @param {object} response The response.
1012 */
1013module.exports = function settle(resolve, reject, response) {
1014  var validateStatus = response.config.validateStatus;
1015  if (!response.status || !validateStatus || validateStatus(response.status)) {
1016    resolve(response);
1017  } else {
1018    reject(createError(
1019      'Request failed with status code ' + response.status,
1020      response.config,
1021      null,
1022      response.request,
1023      response
1024    ));
1025  }
1026};
1027
1028
1029/***/ }),
1030
1031/***/ 8527:
1032/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1033
1034"use strict";
1035
1036
1037var utils = __webpack_require__(4867);
1038var defaults = __webpack_require__(5655);
1039
1040/**
1041 * Transform the data for a request or a response
1042 *
1043 * @param {Object|String} data The data to be transformed
1044 * @param {Array} headers The headers for the request or response
1045 * @param {Array|Function} fns A single function or Array of functions
1046 * @returns {*} The resulting transformed data
1047 */
1048module.exports = function transformData(data, headers, fns) {
1049  var context = this || defaults;
1050  /*eslint no-param-reassign:0*/
1051  utils.forEach(fns, function transform(fn) {
1052    data = fn.call(context, data, headers);
1053  });
1054
1055  return data;
1056};
1057
1058
1059/***/ }),
1060
1061/***/ 5655:
1062/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1063
1064"use strict";
1065
1066
1067var utils = __webpack_require__(4867);
1068var normalizeHeaderName = __webpack_require__(6016);
1069var enhanceError = __webpack_require__(481);
1070
1071var DEFAULT_CONTENT_TYPE = {
1072  'Content-Type': 'application/x-www-form-urlencoded'
1073};
1074
1075function setContentTypeIfUnset(headers, value) {
1076  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
1077    headers['Content-Type'] = value;
1078  }
1079}
1080
1081function getDefaultAdapter() {
1082  var adapter;
1083  if (typeof XMLHttpRequest !== 'undefined') {
1084    // For browsers use XHR adapter
1085    adapter = __webpack_require__(5448);
1086  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
1087    // For node use HTTP adapter
1088    adapter = __webpack_require__(5448);
1089  }
1090  return adapter;
1091}
1092
1093function stringifySafely(rawValue, parser, encoder) {
1094  if (utils.isString(rawValue)) {
1095    try {
1096      (parser || JSON.parse)(rawValue);
1097      return utils.trim(rawValue);
1098    } catch (e) {
1099      if (e.name !== 'SyntaxError') {
1100        throw e;
1101      }
1102    }
1103  }
1104
1105  return (encoder || JSON.stringify)(rawValue);
1106}
1107
1108var defaults = {
1109
1110  transitional: {
1111    silentJSONParsing: true,
1112    forcedJSONParsing: true,
1113    clarifyTimeoutError: false
1114  },
1115
1116  adapter: getDefaultAdapter(),
1117
1118  transformRequest: [function transformRequest(data, headers) {
1119    normalizeHeaderName(headers, 'Accept');
1120    normalizeHeaderName(headers, 'Content-Type');
1121
1122    if (utils.isFormData(data) ||
1123      utils.isArrayBuffer(data) ||
1124      utils.isBuffer(data) ||
1125      utils.isStream(data) ||
1126      utils.isFile(data) ||
1127      utils.isBlob(data)
1128    ) {
1129      return data;
1130    }
1131    if (utils.isArrayBufferView(data)) {
1132      return data.buffer;
1133    }
1134    if (utils.isURLSearchParams(data)) {
1135      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
1136      return data.toString();
1137    }
1138    if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
1139      setContentTypeIfUnset(headers, 'application/json');
1140      return stringifySafely(data);
1141    }
1142    return data;
1143  }],
1144
1145  transformResponse: [function transformResponse(data) {
1146    var transitional = this.transitional || defaults.transitional;
1147    var silentJSONParsing = transitional && transitional.silentJSONParsing;
1148    var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
1149    var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
1150
1151    if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
1152      try {
1153        return JSON.parse(data);
1154      } catch (e) {
1155        if (strictJSONParsing) {
1156          if (e.name === 'SyntaxError') {
1157            throw enhanceError(e, this, 'E_JSON_PARSE');
1158          }
1159          throw e;
1160        }
1161      }
1162    }
1163
1164    return data;
1165  }],
1166
1167  /**
1168   * A timeout in milliseconds to abort a request. If set to 0 (default) a
1169   * timeout is not created.
1170   */
1171  timeout: 0,
1172
1173  xsrfCookieName: 'XSRF-TOKEN',
1174  xsrfHeaderName: 'X-XSRF-TOKEN',
1175
1176  maxContentLength: -1,
1177  maxBodyLength: -1,
1178
1179  validateStatus: function validateStatus(status) {
1180    return status >= 200 && status < 300;
1181  },
1182
1183  headers: {
1184    common: {
1185      'Accept': 'application/json, text/plain, */*'
1186    }
1187  }
1188};
1189
1190utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
1191  defaults.headers[method] = {};
1192});
1193
1194utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
1195  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
1196});
1197
1198module.exports = defaults;
1199
1200
1201/***/ }),
1202
1203/***/ 7288:
1204/***/ (function(module) {
1205
1206module.exports = {
1207  "version": "0.26.0"
1208};
1209
1210/***/ }),
1211
1212/***/ 1849:
1213/***/ (function(module) {
1214
1215"use strict";
1216
1217
1218module.exports = function bind(fn, thisArg) {
1219  return function wrap() {
1220    var args = new Array(arguments.length);
1221    for (var i = 0; i < args.length; i++) {
1222      args[i] = arguments[i];
1223    }
1224    return fn.apply(thisArg, args);
1225  };
1226};
1227
1228
1229/***/ }),
1230
1231/***/ 5327:
1232/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1233
1234"use strict";
1235
1236
1237var utils = __webpack_require__(4867);
1238
1239function encode(val) {
1240  return encodeURIComponent(val).
1241    replace(/%3A/gi, ':').
1242    replace(/%24/g, '$').
1243    replace(/%2C/gi, ',').
1244    replace(/%20/g, '+').
1245    replace(/%5B/gi, '[').
1246    replace(/%5D/gi, ']');
1247}
1248
1249/**
vendor: 8,372 bytes, lines 1250-1570
1250 * Build a URL by appending params to the end
1251 *
1252 * @param {string} url The base of the url (e.g., http://www.google.com)
1253 * @param {object} [params] The params to be appended
1254 * @returns {string} The formatted url
1255 */
1256module.exports = function buildURL(url, params, paramsSerializer) {
1257  /*eslint no-param-reassign:0*/
1258  if (!params) {
1259    return url;
1260  }
1261
1262  var serializedParams;
1263  if (paramsSerializer) {
1264    serializedParams = paramsSerializer(params);
1265  } else if (utils.isURLSearchParams(params)) {
1266    serializedParams = params.toString();
1267  } else {
1268    var parts = [];
1269
1270    utils.forEach(params, function serialize(val, key) {
1271      if (val === null || typeof val === 'undefined') {
1272        return;
1273      }
1274
1275      if (utils.isArray(val)) {
1276        key = key + '[]';
1277      } else {
1278        val = [val];
1279      }
1280
1281      utils.forEach(val, function parseValue(v) {
1282        if (utils.isDate(v)) {
1283          v = v.toISOString();
1284        } else if (utils.isObject(v)) {
1285          v = JSON.stringify(v);
1286        }
1287        parts.push(encode(key) + '=' + encode(v));
1288      });
1289    });
1290
1291    serializedParams = parts.join('&');
1292  }
1293
1294  if (serializedParams) {
1295    var hashmarkIndex = url.indexOf('#');
1296    if (hashmarkIndex !== -1) {
1297      url = url.slice(0, hashmarkIndex);
1298    }
1299
1300    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
1301  }
1302
1303  return url;
1304};
1305
1306
1307/***/ }),
1308
1309/***/ 7303:
1310/***/ (function(module) {
1311
1312"use strict";
1313
1314
1315/**
1316 * Creates a new URL by combining the specified URLs
1317 *
1318 * @param {string} baseURL The base URL
1319 * @param {string} relativeURL The relative URL
1320 * @returns {string} The combined URL
1321 */
1322module.exports = function combineURLs(baseURL, relativeURL) {
1323  return relativeURL
1324    ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1325    : baseURL;
1326};
1327
1328
1329/***/ }),
1330
1331/***/ 4372:
1332/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1333
1334"use strict";
1335
1336
1337var utils = __webpack_require__(4867);
1338
1339module.exports = (
1340  utils.isStandardBrowserEnv() ?
1341
1342  // Standard browser envs support document.cookie
1343    (function standardBrowserEnv() {
1344      return {
1345        write: function write(name, value, expires, path, domain, secure) {
1346          var cookie = [];
1347          cookie.push(name + '=' + encodeURIComponent(value));
1348
1349          if (utils.isNumber(expires)) {
1350            cookie.push('expires=' + new Date(expires).toGMTString());
1351          }
1352
1353          if (utils.isString(path)) {
1354            cookie.push('path=' + path);
1355          }
1356
1357          if (utils.isString(domain)) {
1358            cookie.push('domain=' + domain);
1359          }
1360
1361          if (secure === true) {
1362            cookie.push('secure');
1363          }
1364
1365          document.cookie = cookie.join('; ');
1366        },
1367
1368        read: function read(name) {
1369          var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
1370          return (match ? decodeURIComponent(match[3]) : null);
1371        },
1372
1373        remove: function remove(name) {
1374          this.write(name, '', Date.now() - 86400000);
1375        }
1376      };
1377    })() :
1378
1379  // Non standard browser env (web workers, react-native) lack needed support.
1380    (function nonStandardBrowserEnv() {
1381      return {
1382        write: function write() {},
1383        read: function read() { return null; },
1384        remove: function remove() {}
1385      };
1386    })()
1387);
1388
1389
1390/***/ }),
1391
1392/***/ 1793:
1393/***/ (function(module) {
1394
1395"use strict";
1396
1397
1398/**
1399 * Determines whether the specified URL is absolute
1400 *
1401 * @param {string} url The URL to test
1402 * @returns {boolean} True if the specified URL is absolute, otherwise false
1403 */
1404module.exports = function isAbsoluteURL(url) {
1405  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
1406  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
1407  // by any combination of letters, digits, plus, period, or hyphen.
1408  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
1409};
1410
1411
1412/***/ }),
1413
1414/***/ 6268:
1415/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1416
1417"use strict";
1418
1419
1420var utils = __webpack_require__(4867);
1421
1422/**
1423 * Determines whether the payload is an error thrown by Axios
1424 *
1425 * @param {*} payload The value to test
1426 * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
1427 */
1428module.exports = function isAxiosError(payload) {
1429  return utils.isObject(payload) && (payload.isAxiosError === true);
1430};
1431
1432
1433/***/ }),
1434
1435/***/ 7985:
1436/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1437
1438"use strict";
1439
1440
1441var utils = __webpack_require__(4867);
1442
1443module.exports = (
1444  utils.isStandardBrowserEnv() ?
1445
1446  // Standard browser envs have full support of the APIs needed to test
1447  // whether the request URL is of the same origin as current location.
1448    (function standardBrowserEnv() {
1449      var msie = /(msie|trident)/i.test(navigator.userAgent);
1450      var urlParsingNode = document.createElement('a');
1451      var originURL;
1452
1453      /**
1454    * Parse a URL to discover it's components
1455    *
1456    * @param {String} url The URL to be parsed
1457    * @returns {Object}
1458    */
1459      function resolveURL(url) {
1460        var href = url;
1461
1462        if (msie) {
1463        // IE needs attribute set twice to normalize properties
1464          urlParsingNode.setAttribute('href', href);
1465          href = urlParsingNode.href;
1466        }
1467
1468        urlParsingNode.setAttribute('href', href);
1469
1470        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
1471        return {
1472          href: urlParsingNode.href,
1473          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
1474          host: urlParsingNode.host,
1475          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
1476          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
1477          hostname: urlParsingNode.hostname,
1478          port: urlParsingNode.port,
1479          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
1480            urlParsingNode.pathname :
1481            '/' + urlParsingNode.pathname
1482        };
1483      }
1484
1485      originURL = resolveURL(window.location.href);
1486
1487      /**
1488    * Determine if a URL shares the same origin as the current location
1489    *
1490    * @param {String} requestURL The URL to test
1491    * @returns {boolean} True if URL shares the same origin, otherwise false
1492    */
1493      return function isURLSameOrigin(requestURL) {
1494        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
1495        return (parsed.protocol === originURL.protocol &&
1496            parsed.host === originURL.host);
1497      };
1498    })() :
1499
1500  // Non standard browser envs (web workers, react-native) lack needed support.
1501    (function nonStandardBrowserEnv() {
1502      return function isURLSameOrigin() {
1503        return true;
1504      };
1505    })()
1506);
1507
1508
1509/***/ }),
1510
1511/***/ 6016:
1512/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1513
1514"use strict";
1515
1516
1517var utils = __webpack_require__(4867);
1518
1519module.exports = function normalizeHeaderName(headers, normalizedName) {
1520  utils.forEach(headers, function processHeader(value, name) {
1521    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
1522      headers[normalizedName] = value;
1523      delete headers[name];
1524    }
1525  });
1526};
1527
1528
1529/***/ }),
1530
1531/***/ 4109:
1532/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1533
1534"use strict";
1535
1536
1537var utils = __webpack_require__(4867);
1538
1539// Headers whose duplicates are ignored by node
1540// c.f. https://nodejs.org/api/http.html#http_message_headers
1541var ignoreDuplicateOf = [
1542  'age', 'authorization', 'content-length', 'content-type', 'etag',
1543  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
1544  'last-modified', 'location', 'max-forwards', 'proxy-authorization',
1545  'referer', 'retry-after', 'user-agent'
1546];
1547
1548/**
1549 * Parse headers into an object
1550 *
1551 * ```
1552 * Date: Wed, 27 Aug 2014 08:58:49 GMT
1553 * Content-Type: application/json
1554 * Connection: keep-alive
1555 * Transfer-Encoding: chunked
1556 * ```
1557 *
1558 * @param {String} headers Headers needing to be parsed
1559 * @returns {Object} Headers parsed into an object
1560 */
1561module.exports = function parseHeaders(headers) {
1562  var parsed = {};
1563  var key;
1564  var val;
1565  var i;
1566
1567  if (!headers) { return parsed; }
1568
1569  utils.forEach(headers.split('\n'), function parser(line) {
1570    i = line.indexOf(':');
vendor: 5,072 bytes, lines 1571-1779
1571    key = utils.trim(line.substr(0, i)).toLowerCase();
1572    val = utils.trim(line.substr(i + 1));
1573
1574    if (key) {
1575      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
1576        return;
1577      }
1578      if (key === 'set-cookie') {
1579        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
1580      } else {
1581        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
1582      }
1583    }
1584  });
1585
1586  return parsed;
1587};
1588
1589
1590/***/ }),
1591
1592/***/ 8713:
1593/***/ (function(module) {
1594
1595"use strict";
1596
1597
1598/**
1599 * Syntactic sugar for invoking a function and expanding an array for arguments.
1600 *
1601 * Common use case would be to use `Function.prototype.apply`.
1602 *
1603 *  ```js
1604 *  function f(x, y, z) {}
1605 *  var args = [1, 2, 3];
1606 *  f.apply(null, args);
1607 *  ```
1608 *
1609 * With `spread` this example can be re-written.
1610 *
1611 *  ```js
1612 *  spread(function(x, y, z) {})([1, 2, 3]);
1613 *  ```
1614 *
1615 * @param {Function} callback
1616 * @returns {Function}
1617 */
1618module.exports = function spread(callback) {
1619  return function wrap(arr) {
1620    return callback.apply(null, arr);
1621  };
1622};
1623
1624
1625/***/ }),
1626
1627/***/ 4875:
1628/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1629
1630"use strict";
1631
1632
1633var VERSION = (__webpack_require__(7288).version);
1634
1635var validators = {};
1636
1637// eslint-disable-next-line func-names
1638['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
1639  validators[type] = function validator(thing) {
1640    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
1641  };
1642});
1643
1644var deprecatedWarnings = {};
1645
1646/**
1647 * Transitional option validator
1648 * @param {function|boolean?} validator - set to false if the transitional option has been removed
1649 * @param {string?} version - deprecated version / removed since version
1650 * @param {string?} message - some message with additional info
1651 * @returns {function}
1652 */
1653validators.transitional = function transitional(validator, version, message) {
1654  function formatMessage(opt, desc) {
1655    return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
1656  }
1657
1658  // eslint-disable-next-line func-names
1659  return function(value, opt, opts) {
1660    if (validator === false) {
1661      throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
1662    }
1663
1664    if (version && !deprecatedWarnings[opt]) {
1665      deprecatedWarnings[opt] = true;
1666      // eslint-disable-next-line no-console
1667      console.warn(
1668        formatMessage(
1669          opt,
1670          ' has been deprecated since v' + version + ' and will be removed in the near future'
1671        )
1672      );
1673    }
1674
1675    return validator ? validator(value, opt, opts) : true;
1676  };
1677};
1678
1679/**
1680 * Assert object's properties type
1681 * @param {object} options
1682 * @param {object} schema
1683 * @param {boolean?} allowUnknown
1684 */
1685
1686function assertOptions(options, schema, allowUnknown) {
1687  if (typeof options !== 'object') {
1688    throw new TypeError('options must be an object');
1689  }
1690  var keys = Object.keys(options);
1691  var i = keys.length;
1692  while (i-- > 0) {
1693    var opt = keys[i];
1694    var validator = schema[opt];
1695    if (validator) {
1696      var value = options[opt];
1697      var result = value === undefined || validator(value, opt, options);
1698      if (result !== true) {
1699        throw new TypeError('option ' + opt + ' must be ' + result);
1700      }
1701      continue;
1702    }
1703    if (allowUnknown !== true) {
1704      throw Error('Unknown option ' + opt);
1705    }
1706  }
1707}
1708
1709module.exports = {
1710  assertOptions: assertOptions,
1711  validators: validators
1712};
1713
1714
1715/***/ }),
1716
1717/***/ 4867:
1718/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1719
1720"use strict";
1721
1722
1723var bind = __webpack_require__(1849);
1724
1725// utils is a library of generic helper functions non-specific to axios
1726
1727var toString = Object.prototype.toString;
1728
1729/**
1730 * Determine if a value is an Array
1731 *
1732 * @param {Object} val The value to test
1733 * @returns {boolean} True if value is an Array, otherwise false
1734 */
1735function isArray(val) {
1736  return Array.isArray(val);
1737}
1738
1739/**
1740 * Determine if a value is undefined
1741 *
1742 * @param {Object} val The value to test
1743 * @returns {boolean} True if the value is undefined, otherwise false
1744 */
1745function isUndefined(val) {
1746  return typeof val === 'undefined';
1747}
1748
1749/**
1750 * Determine if a value is a Buffer
1751 *
1752 * @param {Object} val The value to test
1753 * @returns {boolean} True if value is a Buffer, otherwise false
1754 */
1755function isBuffer(val) {
1756  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
1757    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
1758}
1759
1760/**
1761 * Determine if a value is an ArrayBuffer
1762 *
1763 * @param {Object} val The value to test
1764 * @returns {boolean} True if value is an ArrayBuffer, otherwise false
1765 */
1766function isArrayBuffer(val) {
1767  return toString.call(val) === '[object ArrayBuffer]';
1768}
1769
1770/**
1771 * Determine if a value is a FormData
1772 *
1773 * @param {Object} val The value to test
1774 * @returns {boolean} True if value is an FormData, otherwise false
1775 */
1776function isFormData(val) {
1777  return toString.call(val) === '[object FormData]';
1778}
1779
vendor: 5,950 bytes, lines 1780-2008
1780/**
1781 * Determine if a value is a view on an ArrayBuffer
1782 *
1783 * @param {Object} val The value to test
1784 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
1785 */
1786function isArrayBufferView(val) {
1787  var result;
1788  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
1789    result = ArrayBuffer.isView(val);
1790  } else {
1791    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
1792  }
1793  return result;
1794}
1795
1796/**
1797 * Determine if a value is a String
1798 *
1799 * @param {Object} val The value to test
1800 * @returns {boolean} True if value is a String, otherwise false
1801 */
1802function isString(val) {
1803  return typeof val === 'string';
1804}
1805
1806/**
1807 * Determine if a value is a Number
1808 *
1809 * @param {Object} val The value to test
1810 * @returns {boolean} True if value is a Number, otherwise false
1811 */
1812function isNumber(val) {
1813  return typeof val === 'number';
1814}
1815
1816/**
1817 * Determine if a value is an Object
1818 *
1819 * @param {Object} val The value to test
1820 * @returns {boolean} True if value is an Object, otherwise false
1821 */
1822function isObject(val) {
1823  return val !== null && typeof val === 'object';
1824}
1825
1826/**
1827 * Determine if a value is a plain Object
1828 *
1829 * @param {Object} val The value to test
1830 * @return {boolean} True if value is a plain Object, otherwise false
1831 */
1832function isPlainObject(val) {
1833  if (toString.call(val) !== '[object Object]') {
1834    return false;
1835  }
1836
1837  var prototype = Object.getPrototypeOf(val);
1838  return prototype === null || prototype === Object.prototype;
1839}
1840
1841/**
1842 * Determine if a value is a Date
1843 *
1844 * @param {Object} val The value to test
1845 * @returns {boolean} True if value is a Date, otherwise false
1846 */
1847function isDate(val) {
1848  return toString.call(val) === '[object Date]';
1849}
1850
1851/**
1852 * Determine if a value is a File
1853 *
1854 * @param {Object} val The value to test
1855 * @returns {boolean} True if value is a File, otherwise false
1856 */
1857function isFile(val) {
1858  return toString.call(val) === '[object File]';
1859}
1860
1861/**
1862 * Determine if a value is a Blob
1863 *
1864 * @param {Object} val The value to test
1865 * @returns {boolean} True if value is a Blob, otherwise false
1866 */
1867function isBlob(val) {
1868  return toString.call(val) === '[object Blob]';
1869}
1870
1871/**
1872 * Determine if a value is a Function
1873 *
1874 * @param {Object} val The value to test
1875 * @returns {boolean} True if value is a Function, otherwise false
1876 */
1877function isFunction(val) {
1878  return toString.call(val) === '[object Function]';
1879}
1880
1881/**
1882 * Determine if a value is a Stream
1883 *
1884 * @param {Object} val The value to test
1885 * @returns {boolean} True if value is a Stream, otherwise false
1886 */
1887function isStream(val) {
1888  return isObject(val) && isFunction(val.pipe);
1889}
1890
1891/**
1892 * Determine if a value is a URLSearchParams object
1893 *
1894 * @param {Object} val The value to test
1895 * @returns {boolean} True if value is a URLSearchParams object, otherwise false
1896 */
1897function isURLSearchParams(val) {
1898  return toString.call(val) === '[object URLSearchParams]';
1899}
1900
1901/**
1902 * Trim excess whitespace off the beginning and end of a string
1903 *
1904 * @param {String} str The String to trim
1905 * @returns {String} The String freed of excess whitespace
1906 */
1907function trim(str) {
1908  return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
1909}
1910
1911/**
1912 * Determine if we're running in a standard browser environment
1913 *
1914 * This allows axios to run in a web worker, and react-native.
1915 * Both environments support XMLHttpRequest, but not fully standard globals.
1916 *
1917 * web workers:
1918 *  typeof window -> undefined
1919 *  typeof document -> undefined
1920 *
1921 * react-native:
1922 *  navigator.product -> 'ReactNative'
1923 * nativescript
1924 *  navigator.product -> 'NativeScript' or 'NS'
1925 */
1926function isStandardBrowserEnv() {
1927  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
1928                                           navigator.product === 'NativeScript' ||
1929                                           navigator.product === 'NS')) {
1930    return false;
1931  }
1932  return (
1933    typeof window !== 'undefined' &&
1934    typeof document !== 'undefined'
1935  );
1936}
1937
1938/**
1939 * Iterate over an Array or an Object invoking a function for each item.
1940 *
1941 * If `obj` is an Array callback will be called passing
1942 * the value, index, and complete array for each item.
1943 *
1944 * If 'obj' is an Object callback will be called passing
1945 * the value, key, and complete object for each property.
1946 *
1947 * @param {Object|Array} obj The object to iterate
1948 * @param {Function} fn The callback to invoke for each item
1949 */
1950function forEach(obj, fn) {
1951  // Don't bother if no value provided
1952  if (obj === null || typeof obj === 'undefined') {
1953    return;
1954  }
1955
1956  // Force an array if not already something iterable
1957  if (typeof obj !== 'object') {
1958    /*eslint no-param-reassign:0*/
1959    obj = [obj];
1960  }
1961
1962  if (isArray(obj)) {
1963    // Iterate over array values
1964    for (var i = 0, l = obj.length; i < l; i++) {
1965      fn.call(null, obj[i], i, obj);
1966    }
1967  } else {
1968    // Iterate over object keys
1969    for (var key in obj) {
1970      if (Object.prototype.hasOwnProperty.call(obj, key)) {
1971        fn.call(null, obj[key], key, obj);
1972      }
1973    }
1974  }
1975}
1976
1977/**
1978 * Accepts varargs expecting each argument to be an object, then
1979 * immutably merges the properties of each object and returns result.
1980 *
1981 * When multiple objects contain the same key the later object in
1982 * the arguments list will take precedence.
1983 *
1984 * Example:
1985 *
1986 * ```js
1987 * var result = merge({foo: 123}, {foo: 456});
1988 * console.log(result.foo); // outputs 456
1989 * ```
1990 *
1991 * @param {Object} obj1 Object to merge
1992 * @returns {Object} Result of all merge properties
1993 */
1994function merge(/* obj1, obj2, obj3, ... */) {
1995  var result = {};
1996  function assignValue(val, key) {
1997    if (isPlainObject(result[key]) && isPlainObject(val)) {
1998      result[key] = merge(result[key], val);
1999    } else if (isPlainObject(val)) {
2000      result[key] = merge({}, val);
2001    } else if (isArray(val)) {
2002      result[key] = val.slice();
2003    } else {
2004      result[key] = val;
2005    }
2006  }
2007
2008  for (var i = 0, l = arguments.length; i < l; i++) {
2009    forEach(arguments[i], assignValue);
2010  }
2011  return result;
2012}
2013
2014/**
2015 * Extends object a by mutably adding to it the properties of object b.
2016 *
2017 * @param {Object} a The object to be extended
2018 * @param {Object} b The object to copy properties from
2019 * @param {Object} thisArg The object to bind function to
2020 * @return {Object} The resulting value of object a
2021 */
2022function extend(a, b, thisArg) {
2023  forEach(b, function assignValue(val, key) {
2024    if (thisArg && typeof val === 'function') {
2025      a[key] = bind(val, thisArg);
2026    } else {
2027      a[key] = val;
2028    }
2029  });
2030  return a;
2031}
2032
2033/**
2034 * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
2035 *
2036 * @param {string} content with BOM
2037 * @return {string} content value without BOM
2038 */
2039function stripBOM(content) {
2040  if (content.charCodeAt(0) === 0xFEFF) {
2041    content = content.slice(1);
2042  }
2043  return content;
2044}
2045
2046module.exports = {
2047  isArray: isArray,
2048  isArrayBuffer: isArrayBuffer,
2049  isBuffer: isBuffer,
2050  isFormData: isFormData,
2051  isArrayBufferView: isArrayBufferView,
2052  isString: isString,
2053  isNumber: isNumber,
2054  isObject: isObject,
2055  isPlainObject: isPlainObject,
2056  isUndefined: isUndefined,
2057  isDate: isDate,
2058  isFile: isFile,
2059  isBlob: isBlob,
2060  isFunction: isFunction,
2061  isStream: isStream,
2062  isURLSearchParams: isURLSearchParams,
2063  isStandardBrowserEnv: isStandardBrowserEnv,
2064  forEach: forEach,
2065  merge: merge,
2066  extend: extend,
2067  trim: trim,
2068  stripBOM: stripBOM
2069};
2070
2071
2072/***/ }),
2073
2074/***/ 2147:
2075/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2076
2077var Mura = __webpack_require__(791);
2078/**
2079 * Creates a new Mura.Cache
2080 * @name Mura.Cache
2081 * @class
2082 * @extends Mura.Core
2083 * @memberof	Mura
2084 * @return {Mura.Cache}
2085 */
2086
2087
2088Mura.Cache = Mura.Core.extend(
2089/** @lends Mura.Cache.prototype */
2090{
2091  init: function init() {
2092    this.cache = {};
2093    return this;
2094  },
2095
2096  /**
2097   * getKey - Returns Key value associated with key Name
2098   *
2099   * @param	{string} keyName Key Name
2100   * @return {*}				 Key Value
2101   */
2102  getKey: function getKey(keyName) {
2103    return Mura.hashCode(keyName);
2104  },
2105
2106  /**
2107   * get - Returns the value associated with key name
2108   *
2109   * @param	{string} keyName	description
2110   * @param	{*} keyValue Default Value
2111   * @return {*}
2112   */
2113  get: function get(keyName, keyValue) {
2114    var key = this.getKey(keyName);
2115
2116    if (typeof this.cache[key] != 'undefined') {
2117      return this.cache[key].keyValue;
2118    } else if (typeof keyValue != 'undefined') {
2119      this.set(keyName, keyValue, key);
2120      return this.cache[key].keyValue;
2121    } else {
2122      return;
2123    }
2124  },
2125
2126  /**
2127   * set - Sets and returns key value
2128   *
2129   * @param	{string} keyName	Key Name
2130   * @param	{*} keyValue Key Value
2131   * @param	{string} key			Key
2132   * @return {*}
2133   */
2134  set: function set(keyName, keyValue, key) {
2135    key = key || this.getKey(keyName);
2136    this.cache[key] = {
2137      name: keyName,
2138      value: keyValue
2139    };
2140    return keyValue;
2141  },
2142
2143  /**
2144   * has - Returns if the key name has a value in the cache
2145   *
2146   * @param	{string} keyName Key Name
2147   * @return {boolean}
2148   */
2149  has: function has(keyName) {
2150    return typeof this.cache[getKey(keyName)] != 'undefined';
2151  },
2152
2153  /**
2154   * getAll - Returns object containing all key and key values
2155   *
2156   * @return {object}
2157   */
2158  getAll: function getAll() {
2159    return this.cache;
2160  },
2161
2162  /**
2163   * purgeAll - Purges all key/value pairs from cache
2164   *
2165   * @return {object}	Self
2166   */
2167  purgeAll: function purgeAll() {
2168    this.cache = {};
2169    return this;
2170  },
2171
2172  /**
2173   * purge - Purges specific key name from cache
2174   *
2175   * @param	{string} keyName Key Name
2176   * @return {object}				 Self
2177   */
2178  purge: function purge(keyName) {
2179    var key = this.getKey(keyName);
2180    if (typeof this.cache[key] != 'undefined') delete this.cache[key];
2181    return this;
2182  }
2183});
2184Mura.datacache = new Mura.Cache();
2185
2186/***/ }),
2187
2188/***/ 4506:
2189/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2190
2191function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2192
2193var Mura = __webpack_require__(791);
2194/**
2195* Creates a new Mura.entities.Content
2196* @name Mura.entities.Content
2197* @class
2198* @extends Mura.Entity
2199* @memberof Mura
2200* @param	{object} properties Object containing values to set into object
2201* @return {Mura.entities.Content}
2202*/
2203
2204
2205Mura.entities.Content = Mura.Entity.extend(
2206/** @lends Mura.entities.Content.prototype */
2207{
2208  /**
2209   * hasParent - Returns true if content has a parent.
2210   *
2211   * @return {boolean}
2212   */
2213  hasParent: function hasParent() {
2214    var parentid = this.get('parentid');
2215    return !(!parentid || ['00000000000000000000000000000000END', '00000000000000000000000000000000003', '00000000000000000000000000000000004', '00000000000000000000000000000000099'].find(function (value) {
2216      return value === parentid;
2217    }));
2218  },
2219
2220  /**
2221   * updateFromDom - Updates editable data from what's in the DOM.
2222   *
2223   * @return {string}
2224   */
2225  updateFromDom: function updateFromDom() {
2226    var regions = this.get('displayregions');
2227
2228    if (regions && _typeof(regions) === 'object') {
2229      Object.keys(regions).forEach(function (key) {
2230        var region = regions[key];
2231
2232        if (region) {
2233          var items = [];
2234          Mura('.mura-region-local[data-regionid="' + region.regionid + '"]').forEach(function () {
2235            Mura(this).children('.mura-object[data-object]').forEach(function () {
2236              var obj = Mura(this);
2237
2238              if (typeof Mura.displayObjectInstances[obj.data('instanceid')] != 'undefined') {
2239                Mura.displayObjectInstances[obj.data('instanceid')].reset(obj, false);
2240              }
2241
2242              items.push(Mura.cleanModuleProps(obj.data()));
2243            });
2244          });
2245          region.local.items = items;
2246        }
2247      });
2248    }
2249
2250    var self = this;
2251    Mura('div.mura-object[data-targetattr]').each(function () {
2252      var obj = Mura(this);
2253
2254      if (typeof Mura.displayObjectInstances[obj.data('instanceid')] != 'undefined') {
2255        Mura.displayObjectInstances[obj.data('instanceid')].reset(obj, false);
2256      }
2257
2258      self.set(obj.data('targetattr'), Mura.cleanModuleProps(Mura(this).data()));
2259    });
2260    Mura('.mura-editable-attribute.inline').forEach(function () {
2261      var editable = Mura(this);
2262      var attributeName = editable.data('attribute');
2263      self.set(attributeName, editable.html());
2264    });
2265    return this;
2266  },
2267
2268  /**
2269   * renderDisplayRegion - Returns a string with display region markup.
2270   *
2271   * @return {string}
2272   */
2273  renderDisplayRegion: function renderDisplayRegion(region) {
2274    return Mura.buildDisplayRegion(this.get('displayregions')[region]);
2275  },
2276
2277  /**
2278   * dspRegion - Appends a display region to a element.
2279   *
2280   * @return {self}
2281   */
2282  dspRegion: function dspRegion(selector, region, label) {
2283    if (Mura.isNumeric(region) && region <= this.get('displayregionnames').length) {
2284      region = this.get('displayregionnames')[region - 1];
2285    }
2286
2287    Mura(selector).processDisplayRegion(this.get('displayregions')[region], label);
2288    return this;
2289  },
2290
2291  /**
2292   * getRelatedContent - Gets related content sets by name
2293   *
2294   * @param	{string} relatedContentSetName
2295   * @param	{object} params
2296   * @return {Mura.EntityCollection}
2297   */
2298  getRelatedContent: function getRelatedContent(relatedContentSetName, params) {
2299    var self = this;
2300    relatedContentSetName = relatedContentSetName || '';
2301    return new Promise(function (resolve, reject) {
2302      var query = [];
2303      params = params || {};
2304      params.siteid = self.get('siteid') || Mura.siteid;
2305
2306      if (self.has('contenthistid') && self.get('contenthistid')) {
2307        params.contenthistid = self.get('contenthistid');
2308      }
2309
2310      for (var key in params) {
2311        if (key != 'entityname' && key != 'filename' && key != 'siteid' && key != 'method') {
2312          query.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));
2313        }
2314      }
2315
2316      self._requestcontext.request({
2317        type: 'get',
2318        url: self._requestcontext.getAPIEndpoint() + '/content/' + self.get('contentid') + '/relatedcontent/' + relatedContentSetName + '?' + query.join('&'),
2319        params: params,
2320        success: function success(resp) {
2321          if (typeof resp.data.items != 'undefined') {
2322            var returnObj = new Mura.EntityCollection(resp.data, self._requestcontext);
2323          } else {
2324            var returnObj = new Mura.Entity({
2325              siteid: Mura.siteid
2326            }, self._requestcontext);
2327
2328            for (var p in resp.data) {
2329              if (resp.data.hasOwnProperty(p)) {
2330                returnObj.set(p, new Mura.EntityCollection(resp.data[p], self._requestcontext));
2331              }
2332            }
2333          }
2334
2335          if (typeof resolve == 'function') {
2336            resolve(returnObj);
2337          }
2338        },
2339        error: reject
2340      });
2341    });
2342  }
2343});
2344
2345/***/ }),
2346
2347/***/ 791:
2348/***/ (function(module) {
2349
2350"use strict";
2351//require("babel-polyfill");
2352//require("./polyfill");
2353
2354/**
2355 * login - Logs user into Mura
2356 *
2357 * @param	{string} username Username
2358 * @param	{string} password Password
2359 * @param	{string} siteid	 Siteid
2360 * @return {Promise}
2361 * @memberof {class} Mura
2362 */
2363
2364function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2365
2366function login(username, password, siteid) {
2367  return Mura.getRequestContext().login(username, password, siteid);
2368}
2369/**
2370 * logout - Logs user out
2371 *
2372 * @param	{type} siteid Siteid
2373 * @return {Promise}
2374 * @memberof {class} Mura
2375 */
2376
2377
2378function logout(siteid) {
2379  return Mura.getRequestContext().logout(siteid);
2380}
2381/**
2382 * trackEvent - This is for Mura Experience Platform. It has no use with Mura standard
2383 *
2384 * @param	{object} data event data
2385 * @return {Promise}
2386 * @memberof {class} Mura
2387 */
2388
2389
2390function trackEvent(eventData) {
2391  if (typeof Mura.editing != 'undefined' && Mura.editing) {
2392    return new Promise(function (resolve, reject) {
2393      resolve = resolve || function () {};
2394
2395      resolve();
2396    });
2397  }
2398
2399  var data = {};
2400  var isMXP = typeof Mura.MXP != 'undefined';
2401  var trackingVars = {
2402    ga: {
2403      trackingvars: {}
2404    }
2405  };
2406  var gaFound = false;
2407  var gtagFound = false;
2408  var trackingComplete = false;
2409  var attempt = 0;
2410  data.category = eventData.event_category || eventData.eventCategory || eventData.category || '';
2411  data.action = eventData.event_action || eventData.eventAction || eventData.action || '';
2412  data.label = eventData.event_label || eventData.eventLabel || eventData.label || '';
2413  data.type = eventData.hit_ype || eventData.hitType || eventData.type || 'event';
2414  data.value = eventData.event_value || eventData.eventValue || eventData.value || undefined;
2415
2416  if (typeof eventData.nonInteraction == 'undefined') {
2417    data.nonInteraction = false;
2418  } else {
2419    data.nonInteraction = eventData.nonInteraction;
2420  }
2421
2422  data.contentid = eventData.contentid || Mura.contentid;
2423  data.objectid = eventData.objectid || '';
2424
2425  function track() {
2426    if (!attempt) {
2427      trackingVars.ga.trackingvars.eventCategory = data.category;
2428      trackingVars.ga.trackingvars.eventAction = data.action;
2429      trackingVars.ga.trackingvars.nonInteraction = data.nonInteraction;
2430      trackingVars.ga.trackingvars.hitType = data.type;
2431
2432      if (typeof data.value != 'undefined' && Mura.isNumeric(data.value)) {
2433        trackingVars.ga.trackingvars.eventValue = data.value;
2434      }
2435
2436      if (data.label) {
2437        trackingVars.ga.trackingvars.eventLabel = data.label;
2438      } else if (isMXP) {
2439        if (typeof trackingVars.object != 'undefined') {
2440          trackingVars.ga.trackingvars.eventLabel = trackingVars.object.title;
2441        } else {
2442          trackingVars.ga.trackingvars.eventLabel = trackingVars.content.title;
2443        }
2444
2445        data.label = trackingVars.object.title;
2446      }
2447
2448      Mura(document).trigger('muraTrackEvent', trackingVars);
2449      Mura(document).trigger('muraRecordEvent', trackingVars);
2450    }
2451
2452    if (typeof gtag != 'undefined') {
2453      trackingVars.ga.trackingvars.event_category = trackingVars.ga.trackingvars.eventCategory;
2454      trackingVars.ga.trackingvars.event_action = trackingVars.ga.trackingvars.eventAction;
2455      trackingVars.ga.trackingvars.non_interaction = trackingVars.ga.trackingvars.nonInteraction;
2456      trackingVars.ga.trackingvars.hit_type = trackingVars.ga.trackingvars.hitType;
2457      trackingVars.ga.trackingvars.event_value = trackingVars.ga.trackingvars.eventValue;
2458      trackingVars.ga.trackingvars.event_label = trackingVars.ga.trackingvars.eventLabel;
2459      delete trackingVars.ga.trackingvars.eventCategory;
2460      delete trackingVars.ga.trackingvars.eventAction;
2461      delete trackingVars.ga.trackingvars.nonInteraction;
2462      delete trackingVars.ga.trackingvars.hitType;
2463      delete trackingVars.ga.trackingvars.eventValue;
2464      delete trackingVars.ga.trackingvars.eventLabel;
2465
2466      if (isMXP) {
2467        trackingVars.ga.trackingvars.send_to = Mura.trackingVars.ga.trackingid;
2468      }
2469
2470      gtag('event', data.type, trackingVars.ga.trackingvars);
2471      gaFound = true;
2472      trackingComplete = true;
2473    } else if (typeof ga != 'undefined') {
2474      if (isMXP) {
2475        ga('mxpGATracker.send', data.type, trackingVars.ga.trackingvars);
2476      } else {
2477        ga('send', data.type, trackingVars.ga.trackingvars);
2478      }
2479
2480      gaFound = true;
2481      trackingComplete = true;
2482    }
2483
2484    attempt++;
2485
2486    if (!gaFound && attempt < 250) {
2487      setTimeout(track, 1);
2488    } else {
2489      trackingComplete = true;
2490    }
2491  }
2492
2493  if (isMXP) {
2494    var trackingID = data.contentid + data.objectid;
2495
2496    if (typeof Mura.trackingMetadata[trackingID] != 'undefined') {
2497      Mura.deepExtend(trackingVars, Mura.trackingMetadata[trackingID]);
2498      trackingVars.eventData = data;
2499      track();
2500    } else {
2501      Mura.get(Mura.getAPIEndpoint(), {
2502        method: 'findTrackingProps',
2503        siteid: Mura.siteid,
2504        contentid: data.contentid,
2505        objectid: data.objectid
2506      }).then(function (response) {
2507        Mura.deepExtend(trackingVars, response.data);
2508        trackingVars.eventData = data;
2509
2510        for (var p in trackingVars.ga.trackingprops) {
2511          if (trackingVars.ga.trackingprops.hasOwnProperty(p) && p.substring(0, 1) == 'd' && typeof trackingVars.ga.trackingprops[p] != 'string') {
2512            trackingVars.ga.trackingprops[p] = new String(trackingVars.ga[p]);
2513          }
2514        }
2515
2516        Mura.trackingMetadata[trackingID] = {};
2517        Mura.deepExtend(Mura.trackingMetadata[trackingID], response.data);
2518        track();
2519      });
2520    }
2521  } else {
2522    track();
2523  }
2524
2525  return new Promise(function (resolve, reject) {
2526    resolve = resolve || function () {};
2527
2528    function checkComplete() {
2529      if (trackingComplete) {
2530        resolve();
2531      } else {
2532        setTimeout(checkComplete, 1);
2533      }
2534    }
2535
2536    checkComplete();
2537  });
2538}
2539/**
2540* renderFilename - Returns "Rendered" JSON object of content
2541*
2542* @param	{type} filename Mura content filename
2543* @param	{type} params Object
2544* @return {Promise}
2545* @memberof {class} Mura
2546*/
2547
2548
2549function renderFilename(filename, params) {
2550  return Mura.getRequestContext().renderFilename(filename, params);
2551}
2552/**
2553 * declareEntity - Declare Entity with in service factory
2554 *
2555 * @param	{object} entityConfig Entity config object
2556 * @return {Promise}
2557 * @memberof {class} Mura
2558 */
2559
2560
2561function declareEntity(entityConfig) {
2562  return Mura.getRequestContext().declareEntity(entityConfig);
2563}
2564/**
2565 * undeclareEntity - Deletes entity class from Mura
2566 *
2567 * @param	{object} entityName
2568 * @return {Promise}
2569 * @memberof {class} Mura
2570 */
2571
2572
2573function undeclareEntity(entityName, deleteSchema) {
2574  deleteSchema = deleteSchema || false;
2575  return Mura.getRequestContext().undeclareEntity(entityName, deleteSchema);
2576}
2577/**
2578 * openGate - Open's content gate when using MXP
2579 *
2580 * @param	{string} contentid Optional: default's to Mura.contentid
2581 * @return {Promise}
2582 * @memberof {class} Mura
2583 */
2584
2585
2586function openGate(contentid) {
2587  return Mura.getRequestContext().openGate(contentid);
2588}
2589/**
2590 * getEntity - Returns Mura.Entity instance
2591 *
2592 * @param	{string} entityname Entity Name
2593 * @param	{string} siteid		 Siteid
2594 * @return {Mura.Entity}
2595 * @memberof {class} Mura
2596 */
2597
2598
2599function getEntity(entityname, siteid) {
2600  siteid = siteid || Mura.siteid;
2601  return Mura.getRequestContext().getEntity(entityname, siteid);
2602}
2603/**
2604 * getFeed - Return new instance of Mura.Feed
2605 *
2606 * @param	{type} entityname Entity name
2607 * @return {Mura.Feed}
2608 * @memberof {class} Mura
2609 */
2610
2611
2612function getFeed(entityname, siteid) {
2613  siteid = siteid || Mura.siteid;
2614  return Mura.getRequestContext().getFeed(entityname, siteid);
2615}
2616/**
2617 * getCurrentUser - Return Mura.Entity for current user
2618 *
2619 * @param	{object} params Load parameters, fields:list of fields
2620 * @return {Promise}
2621 * @memberof {class} Mura
2622 */
2623
2624
2625function getCurrentUser(params) {
2626  return Mura.getRequestContext().getCurrentUser(params);
2627}
2628/**
2629 * findText - Return Mura.Collection for content with text
2630 *
2631 * @param	{object} params Load parameters
2632 * @return {Promise}
2633 * @memberof {class} Mura
2634 */
2635
2636
2637function findText(text, params) {
2638  return Mura.getRequestContext().findText(text, params);
2639}
2640/**
2641 * findQuery - Returns Mura.EntityCollection with properties that match params
2642 *
2643 * @param	{object} params Object of matching params
2644 * @return {Promise}
2645 * @memberof {class} Mura
2646 */
2647
2648
2649function findQuery(params) {
2650  return Mura.getRequestContext().findQuery(params);
2651}
2652
2653function evalScripts(el) {
2654  if (typeof el == 'string') {
2655    el = parseHTML(el);
2656  }
2657
2658  var scripts = [];
2659  var ret = el.childNodes;
2660
2661  for (var i = 0; ret[i]; i++) {
2662    if (scripts && nodeName(ret[i], "script") && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript")) {
2663      if (ret[i].src) {
2664        scripts.push(ret[i]);
2665      } else {
2666        scripts.push(ret[i].parentNode ? ret[i].parentNode.removeChild(ret[i]) : ret[i]);
2667      }
2668    } else if (ret[i].nodeType == 1 || ret[i].nodeType == 9 || ret[i].nodeType == 11) {
2669      evalScripts(ret[i]);
2670    }
2671  }
2672
2673  for (var $script in scripts) {
2674    evalScript(scripts[$script]);
2675  }
2676}
2677
2678function evalScript(el) {
2679  if (el.src) {
2680    Mura.loader().load(el.src);
2681    Mura(el).remove();
2682  } else {
2683    var data = el.text || el.textContent || el.innerHTML || "";
2684    var head = document.getElementsByTagName("head")[0] || document.documentElement,
2685        script = document.createElement("script");
2686    script.type = "text/javascript"; //script.appendChild( document.createTextNode( data ) );
2687
2688    script.text = data;
2689    head.insertBefore(script, head.firstChild);
2690    head.removeChild(script);
2691
2692    if (el.parentNode) {
2693      el.parentNode.removeChild(el);
2694    }
2695  }
2696}
2697
2698function nodeName(el, name) {
2699  return el.nodeName && el.nodeName.toUpperCase() === name.toUpperCase();
2700}
2701
2702function changeElementType(el, to) {
2703  var newEl = document.createElement(to); // Try to copy attributes across
2704
2705  for (var i = 0, a = el.attributes, n = a.length; i < n; ++i) {
2706    el.setAttribute(a[i].name, a[i].value);
2707  } // Try to move children across
2708
2709
2710  while (el.hasChildNodes()) {
2711    newEl.appendChild(el.firstChild);
2712  } // Replace the old element with the new one
2713
2714
2715  el.parentNode.replaceChild(newEl, el); // Return the new element, for good measure.
2716
2717  return newEl;
2718}
2719/*
2720Defaults to holdReady is true so that everything
2721is queued up until the DOMContentLoaded is fired
2722*/
2723
2724
2725var holdingReady = true;
2726var holdingReadyAltered = false;
2727var holdingQueueReleased = false;
2728var holdingQueue = [];
2729var holdingPreInitQueue = [];
2730/*
2731if(typeof jQuery != 'undefined' && typeof jQuery.holdReady != 'undefined'){
2732		jQuery.holdReady(true);
2733}
2734*/
2735
2736/*
2737When DOMContentLoaded is fired check to see it the
2738holdingReady has been altered by custom code.
2739If it hasn't then fire holding functions.
2740*/
2741
2742function initReadyQueue() {
2743  if (!holdingReadyAltered) {
2744    /*
2745    if(typeof jQuery != 'undefined' && typeof jQuery.holdReady != 'undefined'){
2746    		jQuery.holdReady(false);
2747    }
2748    */
2749    releaseReadyQueue();
2750  }
2751}
2752
2753;
2754
2755function releaseReadyQueue() {
2756  holdingQueueReleased = true;
2757  holdingReady = false;
2758  holdingQueue.forEach(function (fn) {
2759    readyInternal(fn);
2760  });
2761  holdingQueue = [];
2762}
2763
2764function holdReady(hold) {
2765  if (!holdingQueueReleased) {
2766    holdingReady = hold;
2767    holdingReadyAltered = true;
2768    /*
2769    if(typeof jQuery != 'undefined' && typeof jQuery.holdReady != 'undefined'){
2770    		jQuery.holdReady(hold);
2771    }
2772    */
2773
2774    if (!holdingReady) {
2775      releaseReadyQueue();
2776    }
2777  }
2778}
2779
2780function ready(fn) {
2781  if (!holdingQueueReleased) {
2782    holdingQueue.push(fn);
2783  } else {
2784    readyInternal(fn);
2785  }
2786}
2787
2788function readyInternal(fn) {
2789  if (typeof document != 'undefined') {
2790    if (document.readyState != 'loading') {
2791      //IE set the readyState to interative too early
2792      setTimeout(function () {
2793        fn(Mura);
2794      }, 1);
2795    } else {
2796      document.addEventListener('DOMContentLoaded', function () {
2797        fn(Mura);
2798      });
2799    }
2800  } else {
2801    fn(Mura);
2802  }
2803}
2804/**
2805 * get - Make GET request
2806 *
2807 * @param	{url} url	URL
2808 * @param	{object} data Data to send to url
2809 * @return {Promise}
2810 * @memberof {class} Mura
2811 */
2812
2813
2814function get(url, data, eventHandler) {
2815  return Mura.getRequestContext().get(url, data, eventHandler);
2816}
2817/**
2818 * post - Make POST request
2819 *
2820 * @param	{url} url	URL
2821 * @param	{object} data Data to send to url
2822 * @return {Promise}
2823 * @memberof {class} Mura
2824 */
2825
2826
2827function post(url, data, eventHandler) {
2828  return Mura.getRequestContext().post(url, data, eventHandler);
2829}
2830/**
2831 * put - Make PUT request
2832 *
2833 * @param	{url} url	URL
2834 * @param	{object} data Data to send to url
2835 * @return {Promise}
2836 * @memberof {class} Mura
2837 */
2838
2839
2840function put(url, data, config) {
2841  return Mura.getRequestContext().put(url, data, config);
2842}
2843/**
2844 * update - Make UPDATE request
2845 *
2846 * @param	{url} url	URL
2847 * @param	{object} data Data to send to url
2848 * @return {Promise}
2849 * @memberof {class} Mura
2850 */
2851
2852
2853function patch(url, data, config) {
2854  return Mura.getRequestContext().patch(url, data, config);
2855}
2856/**
2857 * delete - Make Delete request
2858 *
2859 * @param	{url} url	URL
2860 * @param	{object} data Data to send to url
2861 * @return {Promise}
2862 * @memberof {class} Mura
2863 */
2864
2865
2866function deleteReq(url, data, config) {
2867  return Mura.getRequestContext().delete(url, data, config);
2868}
2869/**
2870 * ajax - Make ajax request
2871 *
2872 * @param	{object} params
2873 * @return {Promise}
2874 * @memberof {class} Mura
2875 */
2876
2877
2878function ajax(config) {
2879  return Mura.getRequestContext().request(config);
2880}
2881/**
2882 * normalizeRequestHandler - Standardizes request handler objects
2883 *
2884 * @param	{object} eventHandler
2885 * @memberof {object} eventHandler
2886 */
2887
2888
2889function normalizeRequestHandler(eventHandler) {
2890  eventHandler.progress = eventHandler.progress || eventHandler.onProgress || eventHandler.onUploadProgress || function () {};
2891
2892  eventHandler.download = eventHandler.download || eventHandler.onDownload || eventHandler.onDownloadProgress || function () {};
2893
2894  eventHandler.abort = eventHandler.abort || eventHandler.onAbort || function () {};
2895
2896  eventHandler.success = eventHandler.success || eventHandler.onSuccess || function () {};
2897
2898  eventHandler.error = eventHandler.error || eventHandler.onError || function () {};
2899
2900  return eventHandler;
2901}
2902/**
2903 * getRequestContext - Returns a new Mura.RequestContext;
2904 *
2905 * @name getRequestContext
2906 * @param	{object} request		 Siteid
2907 * @param	{object} response Entity name
2908 * @return {Mura.RequestContext}	 Mura.RequestContext
2909 * @memberof {class} Mura
2910 */
2911
2912
2913function getRequestContext(request, response, headers, siteid, endpoint, mode) {
2914  //Logic aded to support single config object arg
2915  if (_typeof(request) === 'object' && _typeof(request.req) === 'object' && typeof response === 'undefined') {
2916    var config = request;
2917    request = config.req;
2918    response = config.res;
2919    headers = config.headers;
2920    siteid = config.siteid;
2921    endpoint = config.endpoint;
2922    mode = config.mode;
2923  } else {
2924    if (typeof headers == 'string') {
2925      var originalSiteid = siteid;
2926      siteid = headers;
2927
2928      if (_typeof(originalSiteid) === 'object') {
2929        headers = originalSiteid;
2930      } else {
2931        headers = {};
2932      }
2933    }
2934  }
2935
2936  request = request || Mura.request;
2937  response = response || Mura.response;
2938  endpoint = endpoint || Mura.getAPIEndpoint();
2939  mode = mode || Mura.getMode();
2940  return new Mura.RequestContext(request, response, headers, siteid, endpoint, mode);
2941}
2942/**
2943 * getDefaultRequestContext - Returns the default Mura.RequestContext;
2944 *
2945 * @name getDefaultRequestContext
2946 * @return {Mura.RequestContext}	 Mura.RequestContext
2947 * @memberof {class} Mura
2948 */
2949
2950
2951function getDefaultRequestContext() {
2952  return Mura.getRequestContext();
2953}
2954/**
2955 * generateOAuthToken - Generate Outh toke for REST API
2956 *
2957 * @param	{string} grant_type	Grant type (Use client_credentials)
2958 * @param	{type} client_id		 Client ID
2959 * @param	{type} client_secret Secret Key
2960 * @return {Promise}
2961 * @memberof {class} Mura
2962 */
2963
2964
2965function generateOAuthToken(grant_type, client_id, client_secret) {
2966  return new Promise(function (resolve, reject) {
2967    get(Mura.getAPIEndpoint().replace('/json/', '/rest/') + 'oauth?grant_type=' + encodeURIComponent(grant_type) + '&client_id=' + encodeURIComponent(client_id) + '&client_secret=' + encodeURIComponent(client_secret) + '&_cacheid=' 
2967+ Math.random()).then(function (resp) {
2968      if (resp.data != 'undefined') {
2969        resolve(resp.data);
2970      } else {
2971        if (typeof resp.error != 'undefined' && typeof reject == 'function') {
2972          reject(resp);
2973        } else {
2974          resolve(resp);
2975        }
2976      }
2977    });
2978  });
2979}
2980
2981function each(selector, fn) {
2982  select(selector).each(fn);
2983}
2984
2985function on(el, eventName, fn) {
2986  if (eventName == 'ready') {
2987    Mura.ready(fn);
2988  } else {
2989    if (typeof el.addEventListener == 'function') {
2990      el.addEventListener(eventName, function (event) {
2991        if (typeof fn.call == 'undefined') {
2992          fn(event);
2993        } else {
2994          fn.call(el, event);
2995        }
2996      }, true);
2997    }
2998  }
2999}
3000
3001function trigger(el, eventName, eventDetail) {
3002  if (typeof document != 'undefined') {
3003    var bubbles = eventName == "change" ? false : true;
3004
3005    if (document.createEvent) {
3006      if (eventDetail && !isEmptyObject(eventDetail)) {
3007        var event = document.createEvent('CustomEvent');
3008        event.initCustomEvent(eventName, bubbles, true, eventDetail);
3009      } else {
3010        var eventClass = "";
3011
3012        switch (eventName) {
3013          case "click":
3014          case "mousedown":
3015          case "mouseup":
3016            eventClass = "MouseEvents";
3017            break;
3018
3019          case "focus":
3020          case "change":
3021          case "blur":
3022          case "select":
3023            eventClass = "HTMLEvents";
3024            break;
3025
3026          default:
3027            eventClass = "Event";
3028            break;
3029        }
3030
3031        var event = document.createEvent(eventClass);
3032        event.initEvent(eventName, bubbles, true);
3033      }
3034
3035      event.synthetic = true;
3036      el.dispatchEvent(event);
3037    } else {
3038      try {
3039        document.fireEvent("on" + eventName);
3040      } catch (e) {
3041        console.warn("Event failed to fire due to legacy browser: on" + eventName);
3042      }
3043    }
3044  }
3045}
3046
3047;
3048
3049function off(el, eventName, fn) {
3050  el.removeEventListener(eventName, fn);
3051}
3052
3053function parseSelection(selector) {
3054  if (_typeof(selector) == 'object' && Array.isArray(selector)) {
3055    var selection = selector;
3056  } else if (typeof selector == 'string') {
3057    var selection = nodeListToArray(document.querySelectorAll(selector));
3058  } else {
3059    if (typeof StaticNodeList != 'undefined' && selector instanceof StaticNodeList || typeof NodeList != 'undefined' && selector instanceof NodeList || typeof HTMLCollection != 'undefined' && selector instanceof HTMLCollection) {
3060      var selection = nodeListToArray(selector);
3061    } else {
3062      var selection = [selector];
3063    }
3064  }
3065
3066  if (typeof selection.length == 'undefined') {
3067    selection = [];
3068  }
3069
3070  return selection;
3071}
3072
3073function isEmptyObject(obj) {
3074  return _typeof(obj) != 'object' || Object.keys(obj).length == 0;
3075}
3076
3077function filter(selector, fn) {
3078  return select(parseSelection(selector)).filter(fn);
3079}
3080
3081function nodeListToArray(nodeList) {
3082  var arr = [];
3083
3084  for (var i = nodeList.length; i--; arr.unshift(nodeList[i])) {
3085    ;
3086  }
3087
3088  return arr;
3089}
3090
3091function select(selector) {
3092  return new Mura.DOMSelection(parseSelection(selector), selector);
3093}
3094
3095function escapeHTML(str) {
3096  if (typeof document != 'undefined') {
3097    var div = document.createElement('div');
3098    div.appendChild(document.createTextNode(str));
3099    return div.innerHTML;
3100  } else {
3101    return Mura._escapeHTML(str);
3102  }
3103}
3104
3105; // UNSAFE with unsafe strings; only use on previously-escaped ones!
3106
3107function unescapeHTML(escapedStr) {
3108  var div = document.createElement('div');
3109  div.innerHTML = escapedStr;
3110  var child = div.childNodes[0];
3111  return child ? child.nodeValue : '';
3112}
3113
3114;
3115
3116function parseHTML(str) {
3117  var tmp = document.implementation.createHTMLDocument();
3118  tmp.body.innerHTML = str;
3119  return tmp.body.children;
3120}
3121
3122;
3123
3124function parseStringAsTemplate(stringValue) {
3125  var errors = {};
3126  var parsedString = stringValue;
3127  var doLoop = true;
3128
3129  do {
3130    var finder = /(\${)(.+?)(})/.exec(parsedString);
3131
3132    if (finder) {
3133      var template = void 0;
3134
3135      try {
3136        template = eval('`${' + finder[2] + '}`');
3137      } catch (e) {
3138        console.log('error parsing string template: ' + '${' + finder[2] + '}', e);
3139        template = '[error]' + finder[2] + '[/error]';
3140      }
3141
3142      parsedString = parsedString.replace(finder[0], template);
3143    } else {
3144      doLoop = false;
3145    }
3146  } while (doLoop);
3147
3148  parsedString = parsedString.replace('[error]', '${');
3149  parsedString = parsedString.replace('[/error]', '}');
3150  return parsedString;
3151}
3152
3153function getData(el) {
3154  var data = {};
3155  Array.prototype.forEach.call(el.attributes, function (attr) {
3156    if (/^data-/.test(attr.name)) {
3157      data[attr.name.substr(5)] = parseString(attr.value);
3158    }
3159  });
3160  return data;
3161}
3162
3163function getProps(el) {
3164  return getData(el);
3165}
3166/**
3167 * isNumeric - Returns if the value is numeric
3168 *
3169 * @name isNumeric
3170 * @param	{*} val description
3171 * @return {boolean}
3172 * @memberof {class} Mura
3173 */
3174
3175
3176function isNumeric(val) {
3177  return Number(parseFloat(val)) == val;
3178}
3179/**
3180* buildDisplayRegion - Renders display region data returned from Mura.renderFilename()
3181*
3182* @param	{any} data Region data to build string from
3183* @return {string}
3184*/
3185
3186
3187function buildDisplayRegion(data) {
3188  if (typeof data == 'undefined') {
3189    return '';
3190  }
3191
3192  var str = "<div class=\"mura-region\" data-regionid=\"" + escapeHTML(data.regionid) + "\">";
3193
3194  function buildItemHeader(data) {
3195    var classes = data.class || '';
3196    var header = "<div class=\"mura-object " + escapeHTML(classes) + "\"";
3197
3198    for (var p in data) {
3199      if (data.hasOwnProperty(p)) {
3200        if (_typeof(data[p]) == 'object') {
3201          header += " data-" + p + "=\'" + escapeHTML(JSON.stringify(data[p]).replace(/'/g, "&#39;")) + "\'";
3202        } else {
3203          header += " data-" + p + "=\"" + escapeHTML(data[p]).replace(/"/g, "&quot;") + "\"";
3204        }
3205      }
3206    }
3207
3208    header += ">";
3209    return header;
3210  }
3211
3212  function buildRegionSectionHeader(section, name, perm, regionid) {
3213    if (name) {
3214      if (section == 'inherited') {
3215        return "<div class=\"mura-region-inherited\"><div class=\"frontEndToolsModal mura\"><span class=\"mura-edit-label mi-lock\">" + escapeHTML(name.toUpperCase()) + ": Inherited</span></div>";
3216      } else {
3217        return "<div class=\"mura-editable mura-inactive\"><div class=\"mura-region-local mura-inactive mura-editable-attribute\" data-loose=\"false\" data-regionid=\"" + escapeHTML(regionid) + "\" data-inited=\"false\" data-perm=\"" + escapeHTML(perm) + "\"><label class=\"mura-editable-label\" style=\"display:none\">" + escapeHTML(name.toUpperCase()) + "</label>";
3218      }
3219    } else {
3220      return "<div class=\"mura-region-" + escapeHTML(section) + "\">";
3221    }
3222  }
3223
3224  if (data.inherited.items.length) {
3225    if (data.inherited.header) {
3226      str += data.inherited.header;
3227    } else {
3228      str += buildRegionSectionHeader('inherited', data.name, data.inherited.perm, data.regionid);
3229    }
3230
3231    for (var i in data.inherited.items) {
3232      if (data.inherited.items[i].header) {
3233        str += data.inherited.items[i].header;
3234      } else {
3235        str += buildItemHeader(data.inherited.items[i]);
3236      }
3237
3238      if (typeof data.inherited.items[i].html != 'undefined' && data.inherited.items[i].html) {
3239        str += data.inherited.items[i].html;
3240      }
3241
3242      if (data.inherited.items[i].footer) {
3243        str += data.inherited.items[i].footer;
3244      } else {
3245        str += "</div>";
3246      }
3247    }
3248
3249    str += "</div>";
3250  }
3251
3252  if (data.local.header) {
3253    str += data.local.header;
3254  } else {
3255    str += buildRegionSectionHeader('local', data.name, data.local.perm, data.regionid);
3256  }
3257
3258  if (data.local.items.length) {
3259    for (var i in data.local.items) {
3260      if (data.local.items[i].header) {
3261        str += data.local.items[i].header;
3262      } else {
3263        str += buildItemHeader(data.local.items[i]);
3264      }
3265
3266      if (typeof data.local.items[i].html != 'undefined' && data.local.items[i].html) {
3267        str += data.local.items[i].html;
3268      }
3269
3270      if (data.local.items[i].footer) {
3271        str += data.local.items[i].footer;
3272      } else {
3273        str += '</div>';
3274      }
3275    }
3276  } //when editing the region header contains two divs
3277
3278
3279  if (data.name) {
3280    str += "</div></div>";
3281  } else {
3282    str += "</div>";
3283  }
3284
3285  str += "</div>";
3286  return str;
3287}
3288
3289function parseString(val) {
3290  if (typeof val == 'string') {
3291    var lcaseVal = val.toLowerCase();
3292
3293    if (lcaseVal == 'false') {
3294      return false;
3295    } else if (lcaseVal == 'true') {
3296      return true;
3297    } else {
3298      if (!(typeof val == 'string' && val.length == 35) && isNumeric(val)) {
3299        var numVal = parseFloat(val);
3300
3301        if (numVal == 0 || !isNaN(1 / numVal)) {
3302          return numVal;
3303        }
3304      }
3305
3306      try {
3307        var testVal = JSON.parse.call(null, val);
3308
3309        if (typeof testVal != 'string') {
3310          return testVal;
3311        } else {
3312          return val;
3313        }
3314      } catch (e) {
3315        return val;
3316      }
3317    }
3318  } else {
3319    return val;
3320  }
3321}
3322
3323function getAttributes(el) {
3324  var data = {};
3325  Array.prototype.forEach.call(el.attributes, function (attr) {
3326    data[attr.name] = attr.value;
3327  });
3328  return data;
3329}
3330/**
3331 * formToObject - Returns if the value is numeric
3332 *
3333 * @name formToObject
3334 * @param	{form} form Form to serialize
3335 * @return {object}
3336 * @memberof {class} Mura
3337 */
3338
3339
3340function formToObject(form) {
3341  var field,
3342      s = {};
3343
3344  if (_typeof(form) == 'object' && form.nodeName == "FORM") {
3345    var len = form.elements.length;
3346
3347    for (var i = 0; i < len; i++) {
3348      field = form.elements[i];
3349
3350      if (field.name && !field.disabled && field.type != 'file' && field.type != 'reset' && field.type != 'submit' && field.type != 'button') {
3351        if (field.type == 'select-multiple') {
3352          var val = [];
3353
3354          for (var j = form.elements[i].options.length - 1; j >= 0; j--) {
3355            if (field.options[j].selected) {
3356              val.push(field.options[j].value);
3357            }
3358          }
3359
3360          s[field.name] = val.join(",");
3361        } else if (field.type != 'checkbox' && field.type != 'radio' || field.checked) {
3362          if (typeof s[field.name] == 'undefined') {
3363            s[field.name] = field.value;
3364          } else {
3365            s[field.name] = s[field.name] + ',' + field.value;
3366          }
3367        }
3368      }
3369    }
3370  }
3371
3372  return s;
3373} //http://youmightnotneedjquery.com/
3374
3375/**
3376 * extend - Extends object one level
3377 *
3378 * @name extend
3379 * @return {object}
3380 * @memberof {class} Mura
3381 */
3382
3383
3384function extend(out) {
3385  out = out || {};
3386
3387  for (var i = 1; i < arguments.length; i++) {
3388    if (!arguments[i]) continue;
3389
3390    for (var key in arguments[i]) {
3391      if (key != '__proto__' && typeof arguments[i].hasOwnProperty != 'undefined' && arguments[i].hasOwnProperty(key)) out[key] = arguments[i][key];
3392    }
3393  }
3394
3395  return out;
3396}
3397
3398;
3399/**
3400 * deepExtend - Extends object to full depth
3401 *
3402 * @name deepExtend
3403 * @return {object}
3404 * @memberof {class} Mura
3405 */
3406
3407function deepExtend(out) {
3408  out = out || {};
3409
3410  for (var i = 1; i < arguments.length; i++) {
3411    var obj = arguments[i];
3412    if (!obj) continue;
3413
3414    for (var key in obj) {
3415      if (key != '__proto__' && typeof arguments[i].hasOwnProperty != 'undefined' && arguments[i].hasOwnProperty(key)) {
3416        if (Array.isArray(obj[key])) {
3417          out[key] = obj[key].slice(0);
3418        } else if (_typeof(obj[key]) === 'object') {
3419          out[key] = deepExtend({}, obj[key]);
3420        } else {
3421          out[key] = obj[key];
3422        }
3423      }
3424    }
3425  }
3426
3427  return out;
3428}
3429/**
3430 * createCookie - Creates cookie
3431 *
3432 * @name createCookie
3433 * @param	{string} name	Name
3434 * @param	{*} value Value
3435 * @param	{number} days	Days
3436 * @return {void}
3437 * @memberof {class} Mura
3438 */
3439
3440
3441function createCookie(name, value, days, domain) {
3442  if (days) {
3443    var date = new Date();
3444    date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
3445    var expires = "; expires=" + date.toGMTString();
3446  } else {
3447    var expires = "";
3448  }
3449
3450  if (typeof location != 'undefined' && location.protocol == 'https:') {
3451    var secure = '; secure; samesite=None;';
3452  } else {
3453    var secure = '';
3454  }
3455
3456  if (typeof domain != 'undefined') {
3457    domain = '; domain=' + domain;
3458  } else {
3459    domain = '';
3460  }
3461
3462  document.cookie = name + "=" + value + expires + "; path=/" + secure + domain;
3463}
3464/**
3465 * readCookie - Reads cookie value
3466 *
3467 * @name readCookie
3468 * @param	{string} name Name
3469 * @return {*}
3470 * @memberof {class} Mura
3471 */
3472
3473
3474function readCookie(name) {
3475  var nameEQ = name + "=";
3476  var ca = document.cookie.split(';');
3477
3478  for (var i = 0; i < ca.length; i++) {
3479    var c = ca[i];
3480
3481    while (c.charAt(0) == ' ') {
3482      c = c.substring(1, c.length);
3483    }
3484
3485    if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));
3486  }
3487
3488  return "";
3489}
3490/**
3491 * eraseCookie - Removes cookie value
3492 *
3493 * @name eraseCookie
3494 * @param	{type} name description
3495 * @return {type}			description
3496 * @memberof {class} Mura
3497 */
3498
3499
3500function eraseCookie(name) {
3501  createCookie(name, "", -1);
3502}
3503
3504function $escape(value) {
3505  if (typeof encodeURIComponent != 'undefined') {
3506    return encodeURIComponent(value);
3507  } else {
3508    return escape(value).replace(new RegExp("\\+", "g"), "%2B").replace(/[\x00-\x1F\x7F-\x9F]/g, "");
3509  }
3510}
3511
3512function $unescape(value) {
3513  return unescape(value);
3514} //deprecated
3515
3516
3517function addLoadEvent(func) {
3518  var oldonload = onload;
3519
3520  if (typeof onload != 'function') {
3521    onload = func;
3522  } else {
3523    onload = function onload() {
3524      oldonload();
3525      func();
3526    };
3527  }
3528}
3529
3530function noSpam(user, domain) {
3531  var locationstring = "mailto:" + user + "@" + domain;
3532  location = locationstring;
3533}
3534/**
3535 * isUUID - description
3536 *
3537 * @name isUUID
3538 * @param	{*} value Value
3539 * @return {boolean}
3540 * @memberof {class} Mura
3541 */
3542
3543
3544function isUUID(value) {
3545  if (typeof value == 'string' && (value.length == 35 && value[8] == '-' && value[13] == '-' && value[18] == '-' || value == '00000000000000000000000000000000001' || value == '00000000000000000000000000000000000' || value == '00000000000000000000000000000000003' || value == '00000000000000000000000000000000005' || value == '00000000000000000000000000000000099')) {
3546    return true;
3547  } else {
3548    return false;
3549  }
3550}
3551/**
3552 * createUUID - Create UUID
3553 *
3554 * @name createUUID
3555 * @return {string}
3556 * @memberof {class} Mura
3557 */
3558
3559
3560function createUUID() {
3561  var s = [],
3562      itoh = '0123456789ABCDEF'; // Make array of random hex digits. The UUID only has 32 digits in it, but we
3563  // allocate an extra items to make room for the '-'s we'll be inserting.
3564
3565  for (var i = 0; i < 35; i++) {
3566    s[i] = Math.floor(Math.random() * 0x10);
3567  } // Conform to RFC-4122, section 4.4
3568
3569
3570  s[14] = 4; // Set 4 high bits of time_high field to version
3571
3572  s[19] = s[19] & 0x3 | 0x8; // Specify 2 high bits of clock sequence
3573  // Convert to hex chars
3574
3575  for (var i = 0; i < 36; i++) {
3576    s[i] = itoh[s[i]];
3577  } // Insert '-'s
3578
3579
3580  s[8] = s[13] = s[18] = '-';
3581  return s.join('');
3582}
3583/**
3584 * setHTMLEditor - Set Html Editor
3585 *
3586 * @name setHTMLEditor
3587 * @param	{dom.element} el Dom Element
3588 * @return {void}
3589 * @memberof {class} Mura
3590 */
3591
3592
3593function setHTMLEditor(el) {
3594  function initEditor() {
3595    var instance = CKEDITOR.instances[el.getAttribute('id')];
3596    var conf = {
3597      height: 200,
3598      width: '70%'
3599    };
3600    extend(conf, Mura(el).data());
3601
3602    if (instance) {
3603      instance.destroy();
3604      CKEDITOR.remove(instance);
3605    }
3606
3607    CKEDITOR.replace(el.getAttribute('id'), getHTMLEditorConfig(conf), htmlEditorOnComplete);
3608  }
3609
3610  function htmlEditorOnComplete(editorInstance) {
3611    editorInstance.resetDirty();
3612    var totalIntances = CKEDITOR.instances;
3613  }
3614
3615  function getHTMLEditorConfig(customConfig) {
3616    var attrname = '';
3617    var htmlEditorConfig = {
3618      toolbar: 'htmlEditor',
3619      customConfig: 'config.js.cfm'
3620    };
3621
3622    if (_typeof(customConfig) == 'object') {
3623      extend(htmlEditorConfig, customConfig);
3624    }
3625
3626    return htmlEditorConfig;
3627  }
3628
3629  loader().loadjs(Mura.corepath + '/vendor/ckeditor/ckeditor.js', function () {
3630    initEditor();
3631  });
3632}
3633
3634var commandKeyActive = false;
3635
3636var keyCmdCheck = function keyCmdCheck(event) {
3637  switch (event.which) {
3638    case 17: //ctrl
3639
3640    case 27: //escape
3641
3642    case 91:
3643      //cmd
3644      commandKeyActive = event.which;
3645      break;
3646
3647    case 69:
3648      if (commandKeyActive) {
3649        event.preventDefault();
3650        Mura.editroute = Mura.editroute || "/";
3651        var inEditRoute = typeof location.pathname.startsWith != 'undefined' && location.pathname.startsWith(Mura.editroute);
3652
3653        if (inEditRoute && typeof MuraInlineEditor != 'undefined') {
3654          MuraInlineEditor.init();
3655        } else {
3656          var params = getQueryStringParams(location.search);
3657
3658          if (typeof params.editlayout == 'undefined') {
3659            Mura.editroute = Mura.editroute || '';
3660
3661            if (Mura.editroute) {
3662              if (inEditRoute) {
3663                if (typeof params.previewid != 'undefined') {
3664                  location.href = Mura.editroute + location.pathname + "?previewid=" + params.previewid;
3665                }
3666              } else {
3667                if (typeof params.previewid != 'undefined') {
3668                  location.href = Mura.editroute + location.pathname + "?previewid=" + params.previewid;
3669                } else {
3670                  location.href = Mura.editroute + location.pathname;
3671                }
3672              }
3673            }
3674          }
3675        }
3676      }
3677
3678      break;
3679
3680    case 76:
3681      if (commandKeyActive && commandKeyActive != 91 && commandKeyActive != 17) {
3682        event.preventDefault();
3683        var params = getQueryStringParams(location.search);
3684
3685        if (params.display != 'login') {
3686          var lu = '';
3687          var ru = '';
3688
3689          if (typeof Mura.loginURL != "undefined") {
3690            lu = Mura.loginURL;
3691          } else if (typeof Mura.loginurl != "undefined") {
3692            lu = Mura.loginurl;
3693          } else {
3694            lu = "?display=login";
3695          }
3696
3697          if (typeof Mura.returnURL != "undefined") {
3698            ru = Mura.returnURL;
3699          } else if (typeof Mura.returnurl != "undefined") {
3700            ru = Mura.returnurl;
3701          } else {
3702            ru = location.href;
3703          }
3704
3705          lu = new String(lu);
3706
3707          if (lu.indexOf('?') != -1) {
3708            location.href = lu + "&returnUrl=" + encodeURIComponent(ru);
3709          } else {
3710            location.href = lu + "?returnUrl=" + encodeURIComponent(ru);
3711          }
3712        }
3713      }
3714
3715      break;
3716
3717    default:
3718      commandKeyActive = false;
3719      break;
3720  }
3721};
3722/**
3723 * isInteger - Returns if the value is an integer
3724 *
3725 * @name isInteger
3726 * @param	{*} Value to check
3727 * @return {boolean}
3728 * @memberof {class} Mura
3729 */
3730
3731
3732function isInteger(s) {
3733  var i;
3734
3735  for (i = 0; i < s.length; i++) {
3736    // Check that current character is number.
3737    var c = s.charAt(i);
3738    if (c < "0" || c > "9") return false;
3739  } // All characters are numbers.
3740
3741
3742  return true;
3743}
3744
3745function createDate(str) {
3746  var valueArray = str.split("/");
3747  var mon = valueArray[0];
3748  var dt = valueArray[1];
3749  var yr = valueArray[2];
3750  var date = new Date(yr, mon - 1, dt);
3751
3752  if (!isNaN(date.getMonth())) {
3753    return date;
3754  } else {
3755    return new Date();
3756  }
3757}
3758
3759function dateToString(date) {
3760  var mon = date.getMonth() + 1;
3761  var dt = date.getDate();
3762  var yr = date.getFullYear();
3763
3764  if (mon < 10) {
3765    mon = "0" + mon;
3766  }
3767
3768  if (dt < 10) {
3769    dt = "0" + dt;
3770  }
3771
3772  return mon + "/" + dt + "/20" + new String(yr).substring(2, 4);
3773}
3774
3775function stripCharsInBag(s, bag) {
3776  var i;
3777  var returnString = ""; // Search through string's characters one by one.
3778  // If character is not in bag, append to returnString.
3779
3780  for (i = 0; i < s.length; i++) {
3781    var c = s.charAt(i);
3782    if (bag.indexOf(c) == -1) returnString += c;
3783  }
3784
3785  return returnString;
3786}
3787
3788function daysInFebruary(year) {
3789  // February has 29 days in any year evenly divisible by four,
3790  // EXCEPT for centurial years which are not also divisible by 400.
3791  return year % 4 == 0 && (!(year % 100 == 0) || year % 400 == 0) ? 29 : 28;
3792}
3793
3794function DaysArray(n) {
3795  for (var i = 1; i <= n; i++) {
3796    this[i] = 31;
3797
3798    if (i == 4 || i == 6 || i == 9 || i == 11) {
3799      this[i] = 30;
3800    }
3801
3802    if (i == 2) {
3803      this[i] = 29;
3804    }
3805  }
3806
3807  return this;
3808}
3809/**
3810 * generateDateFormat - dateformt for input type="date"
3811 *
3812 * @name generateDateFormat
3813 * @return {string}
3814 */
3815
3816
3817function generateDateFormat(dtStr, fldName) {
3818  var formatArray = ['mm', 'dd', 'yyyy'];
3819  return [formatArray[Mura.dtformat[0]], formatArray[Mura.dtformat[1]], formatArray[Mura.dtformat[2]]].join(Mura.dtch);
3820}
3821/**
3822 * isDate - Returns if the value is a data
3823 *
3824 * @name isDate
3825 * @param	{*}	Value to check
3826 * @return {boolean}
3827 * @memberof {class} Mura
3828 */
3829
3830
3831function isDate(dtStr, fldName) {
3832  var daysInMonth = DaysArray(12);
3833  var dtArray = dtStr.split(Mura.dtch);
3834
3835  if (dtArray.length != 3) {
3836    //alert("The date format for the "+fldName+" field should be : short")
3837    return false;
3838  }
3839
3840  var strMonth = dtArray[Mura.dtformat[0]];
3841  var strDay = dtArray[Mura.dtformat[1]];
3842  var strYear = dtArray[Mura.dtformat[2]];
3843  /*
3844  if(strYear.length == 2){
3845  	strYear="20" + strYear;
3846  }
3847  */
3848
3849  strYr = strYear;
3850  if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1);
3851  if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1);
3852
3853  for (var i = 1; i <= 3; i++) {
3854    if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1);
3855  }
3856
3857  month = parseInt(strMonth);
3858  day = parseInt(strDay);
3859  year = parseInt(strYr);
3860
3861  if (month < 1 || month > 12) {
3862    //alert("Please enter a valid month in the "+fldName+" field")
3863    return false;
3864  }
3865
3866  if (day < 1 || day > 31 || month == 2 && day > daysInFebruary(year) || day > daysInMonth[month]) {
3867    //alert("Please enter a valid day	in the "+fldName+" field")
3868    return false;
3869  }
3870
3871  if (strYear.length != 4 || year == 0 || year < Mura.minYear || year > Mura.maxYear) {
3872    //alert("Please enter a valid 4 digit year between "+Mura.minYear+" and "+Mura.maxYear +" in the "+fldName+" field")
3873    return false;
3874  }
3875
3876  if (isInteger(stripCharsInBag(dtStr, Mura.dtch)) == false) {
3877    //alert("Please enter a valid date in the "+fldName+" field")
3878    return false;
3879  }
3880
3881  return true;
3882}
3883/**
3884 * isEmail - Returns if value is valid email
3885 *
3886 * @param	{string} str String to parse for email
3887 * @return {boolean}
3888 * @memberof {class} Mura
3889 */
3890
3891
3892function isEmail(e) {
3893  return /^[a-zA-Z_0-9-'\+~]+(\.[a-zA-Z_0-9-'\+~]+)*@([a-zA-Z_0-9-]+\.)+[a-zA-Z]{2,8}$/.test(e);
3894}
3895
3896function initShadowBox(el) {
3897  if (typeof window == 'undefined' || typeof window.document == 'undefined') {
3898    return;
3899  }
3900
3901  ;
3902
3903  if (Mura(el).find('[data-rel^="shadowbox"],[rel^="shadowbox"]').length) {
3904    loader().load([Mura.context + '/core/modules/v1/core_assets/css/shadowbox.min.css', Mura.context + '/core/modules/v1/core_assets/js/shadowbox.js'], function () {
3905      Mura('#shadowbox_overlay,#shadowbox_container').remove();
3906      window.Shadowbox.init();
3907    });
3908  }
3909}
3910/**
3911 * validateForm - Validates Mura form
3912 *
3913 * @name validateForm
3914 * @param	{type} frm					Form element to validate
3915 * @param	{function} customaction Custom action (optional)
3916 * @return {boolean}
3917 * @memberof {class} Mura
3918 */
3919
3920
3921function validateForm(frm, customaction) {
3922  function getValidationFieldName(theField) {
3923    if (theField.getAttribute('data-label') != undefined) {
3924      return theField.getAttribute('data-label');
3925    } else if (theField.getAttribute('label') != undefined) {
3926      return theField.getAttribute('label');
3927    } else {
3928      return theField.getAttribute('name');
3929    }
3930  }
3931
3932  function getValidationIsRequired(theField) {
3933    if (theField.getAttribute('data-required') != undefined) {
3934      return theField.getAttribute('data-required').toLowerCase() == 'true';
3935    } else if (theField.getAttribute('required') != undefined) {
3936      return theField.getAttribute('required').toLowerCase() == 'true';
3937    } else {
3938      return false;
3939    }
3940  }
3941
3942  function getValidationMessage(theField, defaultMessage) {
3943    if (theField.getAttribute('data-message') != undefined) {
3944      return theField.getAttribute('data-message');
3945    } else if (theField.getAttribute('message') != undefined) {
3946      return theField.getAttribute('message');
3947    } else {
3948      return getValidationFieldName(theField).toUpperCase() + defaultMessage;
3949    }
3950  }
3951
3952  function getValidationType(theField) {
3953    if (theField.getAttribute('data-validate') != undefined) {
3954      return theField.getAttribute('data-validate').toUpperCase();
3955    } else if (theField.getAttribute('validate') != undefined) {
3956      return theField.getAttribute('validate').toUpperCase();
3957    } else {
3958      return '';
3959    }
3960  }
3961
3962  function hasValidationMatchField(theField) {
3963    if (theField.getAttribute('data-matchfield') != undefined && theField.getAttribute('data-matchfield') != '') {
3964      return true;
3965    } else if (theField.getAttribute('matchfield') != undefined && theField.getAttribute('matchfield') != '') {
3966      return true;
3967    } else {
3968      return false;
3969    }
3970  }
3971
3972  function getValidationMatchField(theField) {
3973    if (theField.getAttribute('data-matchfield') != undefined) {
3974      return theField.getAttribute('data-matchfield');
3975    } else if (theField.getAttribute('matchfield') != undefined) {
3976      return theField.getAttribute('matchfield');
3977    } else {
3978      return '';
3979    }
3980  }
3981
3982  function hasValidationRegex(theField) {
3983    if (theField.value != undefined) {
3984      if (theField.getAttribute('data-regex') != undefined && theField.getAttribute('data-regex') != '') {
3985        return true;
3986      } else if (theField.getAttribute('regex') != undefined && theField.getAttribute('regex') != '') {
3987        return true;
3988      }
3989    } else {
3990      return false;
3991    }
3992  }
3993
3994  function getValidationRegex(theField) {
3995    if (theField.getAttribute('data-regex') != undefined) {
3996      return theField.getAttribute('data-regex');
3997    } else if (theField.getAttribute('regex') != undefined) {
3998      return theField.getAttribute('regex');
3999    } else {
4000      return '';
4001    }
4002  }
4003
4004  var theForm = frm;
4005  var errors = "";
4006  var setFocus = 0;
4007  var started = false;
4008  var startAt;
4009  var firstErrorNode;
4010  var validationType = '';
4011  var validations = {
4012    properties: {}
4013  };
4014  var frmInputs = theForm.getElementsByTagName("input");
4015  var rules = new Array();
4016  var data = {};
4017  var $customaction = customaction;
4018
4019  for (var f = 0; f < frmInputs.length; f++) {
4020    var theField = frmInputs[f];
4021    validationType = getValidationType(theField).toUpperCase();
4022    rules = new Array();
4023
4024    if (theField.style.display == "") {
4025      if (getValidationIsRequired(theField)) {
4026        rules.push({
4027          required: true,
4028          message: getValidationMessage(theField, ' is required.')
4029        });
4030      }
4031
4032      if (validationType != '') {
4033        if (validationType == 'EMAIL' && theField.value != '') {
4034          rules.push({
4035            dataType: 'EMAIL',
4036            message: getValidationMessage(theField, ' must be a valid email address.')
4037          });
4038        } else if (validationType == 'NUMERIC' && theField.value != '') {
4039          rules.push({
4040            dataType: 'NUMERIC',
4041            message: getValidationMessage(theField, ' must be numeric.')
4042          });
4043        } else if (validationType == 'REGEX' && theField.value != '' && hasValidationRegex(theField)) {
4044          rules.push({
4045            regex: getValidationRegex(theField),
4046            message: getValidationMessage(theField, ' is not val
4046id.')
4047          });
4048        } else if (validationType == 'MATCH' && hasValidationMatchField(theField) && theField.value != theForm[getValidationMatchField(theField)].value) {
4049          rules.push({
4050            eq: theForm[getValidationMatchField(theField)].value,
4051            message: getValidationMessage(theField, ' must match' + getValidationMatchField(theField) + '.')
4052          });
4053        } else if (validationType == 'DATE' && theField.value != '') {
4054          rules.push({
4055            dataType: 'DATE',
4056            message: getValidationMessage(theField, ' must be a valid date [MM/DD/YYYY].')
4057          });
4058        }
4059      }
4060
4061      if (rules.length) {
4062        validations.properties[theField.getAttribute('name')] = rules; //if(!Array.isArray(data[theField.getAttribute('name')])){
4063
4064        data[theField.getAttribute('name')] = []; //}
4065
4066        for (var v = 0; v < frmInputs.length; v++) {
4067          if (frmInputs[v].getAttribute('name') == theField.getAttribute('name')) {
4068            if (frmInputs[v].getAttribute('type').toLowerCase() == 'checkbox' || frmInputs[v].getAttribute('type').toLowerCase() == 'radio') {
4069              if (frmInputs[v].checked) {
4070                data[theField.getAttribute('name')].push(frmInputs[v].value);
4071              }
4072            } else if (typeof frmInputs[v].value != 'undefined' && frmInputs[v].value != '') {
4073              data[theField.getAttribute('name')].push(frmInputs[v].value);
4074            }
4075          }
4076        }
4077      }
4078    }
4079  }
4080
4081  for (var p in data) {
4082    if (data.hasOwnProperty(p)) {
4083      data[p] = data[p].join();
4084    }
4085  }
4086
4087  var frmTextareas = theForm.getElementsByTagName("textarea");
4088
4089  for (f = 0; f < frmTextareas.length; f++) {
4090    theField = frmTextareas[f];
4091    validationType = getValidationType(theField);
4092    rules = new Array();
4093
4094    if (theField.style.display == "" && getValidationIsRequired(theField)) {
4095      rules.push({
4096        required: true,
4097        message: getValidationMessage(theField, ' is required.')
4098      });
4099    } else if (validationType != '') {
4100      if (validationType == 'REGEX' && theField.value != '' && hasValidationRegex(theField)) {
4101        rules.push({
4102          regex: getValidationRegex(theField),
4103          message: getValidationMessage(theField, ' is not valid.')
4104        });
4105      }
4106    }
4107
4108    if (rules.length) {
4109      validations.properties[theField.getAttribute('name')] = rules;
4110      data[theField.getAttribute('name')] = theField.value;
4111    }
4112  }
4113
4114  var frmSelects = theForm.getElementsByTagName("select");
4115
4116  for (f = 0; f < frmSelects.length; f++) {
4117    theField = frmSelects[f];
4118    validationType = getValidationType(theField);
4119    rules = new Array();
4120
4121    if (theField.style.display == "" && getValidationIsRequired(theField)) {
4122      rules.push({
4123        required: true,
4124        message: getValidationMessage(theField, ' is required.')
4125      });
4126    }
4127
4128    if (rules.length) {
4129      validations.properties[theField.getAttribute('name')] = rules;
4130      data[theField.getAttribute('name')] = theField.value;
4131    }
4132  }
4133
4134  try {
4135    //alert(JSON.stringify(validations));
4136    //console.log(data);
4137    //console.log(validations);
4138    ajax({
4139      type: 'post',
4140      url: Mura.getAPIEndpoint() + '?method=validate',
4141      data: {
4142        data: encodeURIComponent(JSON.stringify(data)),
4143        validations: encodeURIComponent(JSON.stringify(validations)),
4144        version: 4
4145      },
4146      success: function success(resp) {
4147        data = resp.data;
4148
4149        if (Object.keys(data).length === 0) {
4150          if (typeof $customaction == 'function') {
4151            $customaction(theForm);
4152            return false;
4153          } else {
4154            document.createElement('form').submit.call(theForm);
4155          }
4156        } else {
4157          var msg = '';
4158
4159          for (var e in data) {
4160            msg = msg + data[e] + '\n';
4161          }
4162
4163          alert(msg);
4164        }
4165      },
4166      error: function error(resp) {
4167        alert(JSON.stringify(resp));
4168      }
4169    });
4170  } catch (err) {
4171    console.log(err);
4172  }
4173
4174  return false;
4175}
4176
4177function setLowerCaseKeys(obj) {
4178  for (var key in obj) {
4179    if (key !== key.toLowerCase()) {
4180      // might already be in its lower case version
4181      obj[key.toLowerCase()] = obj[key]; // swap the value to a new lower case key
4182
4183      delete obj[key]; // delete the old key
4184    }
4185
4186    if (_typeof(obj[key.toLowerCase()]) == 'object') {
4187      setLowerCaseKeys(obj[key.toLowerCase()]);
4188    }
4189  }
4190
4191  return obj;
4192}
4193
4194function isScrolledIntoView(el) {
4195  if (typeof window == 'undefined' || typeof window.document == 'undefined' || window.innerHeight) {
4196    true;
4197  }
4198
4199  try {
4200    var elemTop = el.getBoundingClientRect().top;
4201    var elemBottom = el.getBoundingClientRect().bottom;
4202  } catch (e) {
4203    return true;
4204  }
4205
4206  var isVisible = elemTop < window.innerHeight && elemBottom >= 0;
4207  return isVisible;
4208}
4209/**
4210 * loader - Returns Mura.Loader
4211 *
4212 * @name loader
4213 * @return {Mura.Loader}
4214 * @memberof {class} Mura
4215 */
4216
4217
4218function loader() {
4219  return Mura.ljs;
4220}
4221
4222var layoutmanagertoolbar = '<span class="mura-fetborder mura-fetborder-left"></span><span class="mura-fetborder mura-fetborder-right"></span><span class="mura-fetborder mura-fetborder-top"></span><span class="mura-fetborder mura-fetborder-bottom"></span><div class="frontEndToolsModal mura"><span class="mura-edit-icon"></span><span class="mura-edit-label"></span></div>';
4223
4224function processMarkup(scope) {
4225  return new Promise(function (resolve, reject) {
4226    if (!(scope instanceof Mura.DOMSelection)) {
4227      scope = select(scope);
4228    }
4229
4230    function find(selector) {
4231      return scope.find(selector);
4232    }
4233
4234    var processors = [function () {
4235      //if layout manager UI exists check for rendered regions and remove them from additional regions
4236      if (Mura('.mura__layout-manager__display-regions').length) {
4237        find('.mura-region').each(function (el) {
4238          var region = Mura(el);
4239
4240          if (!region.closest('.mura__layout-manager__display-regions').length) {
4241            Mura('.mura-region__item[data-regionid="' + region.data('regionid') + '"]').remove();
4242          }
4243        });
4244
4245        if (!Mura('.mura__layout-manager__display-regions .mura-region__item').length) {
4246          Mura('#mura-objects-openregions-btn, .mura__layout-manager__display-regions').remove();
4247        }
4248      }
4249    }, function () {
4250      find('.mura-object, .mura-async-object').each(function (el) {
4251        if (scope == document) {
4252          var obj = Mura(el);
4253
4254          if (!obj.parent().closest('.mura-object').length) {
4255            processDisplayObject(this, Mura.queueobjects).then(resolve);
4256          }
4257        } else {
4258          processDisplayObject(el, Mura.queueobjects).then(resolve);
4259        }
4260      });
4261    }, function () {
4262      find(".htmlEditor").each(function (el) {
4263        setHTMLEditor(el);
4264      });
4265    }, function () {
4266      if (find(".cffp_applied,	.cffp_mm, .cffp_kp").length) {
4267        var fileref = document.createElement('script');
4268        fileref.setAttribute("type", "text/javascript");
4269        fileref.setAttribute("src", Mura.corepath + '/vendor/cfformprotect/js/cffp.js');
4270        document.getElementsByTagName("head")[0].appendChild(fileref);
4271      }
4272    }, function () {
4273      Mura.reCAPTCHALanguage = Mura.reCAPTCHALanguage || 'en';
4274
4275      if (find(".g-recaptcha-container").length) {
4276        loader().loadjs("https://www.recaptcha.net/recaptcha/api.js?onload=MuraCheckForReCaptcha&render=explicit&hl=" + Mura.reCAPTCHALanguage, function () {
4277          find(".g-recaptcha-container").each(function (el) {
4278            var notready = 0;
4279            ;
4280
4281            window.MuraCheckForReCaptcha = function () {
4282              Mura('.g-recaptcha-container').each(function () {
4283                var self = this;
4284
4285                if ((typeof grecaptcha === "undefined" ? "undefined" : _typeof(grecaptcha)) == 'object' && typeof grecaptcha.render != 'undefined' && !self.innerHTML) {
4286                  self.setAttribute('data-widgetid', grecaptcha.render(self.getAttribute('id'), {
4287                    'sitekey': self.getAttribute('data-sitekey'),
4288                    'theme': self.getAttribute('data-theme'),
4289                    'type': self.getAttribute('data-type')
4290                  }));
4291                } else {
4292                  notready++;
4293                }
4294              });
4295
4296              if (notready) {
4297                setTimeout(function () {
4298                  window.MuraCheckForReCaptcha();
4299                }, 10);
4300              }
4301            };
4302
4303            window.MuraCheckForReCaptcha();
4304          });
4305        });
4306      }
4307    }, function () {
4308      if (typeof resizeEditableObject == 'function') {
4309        scope.closest('.editableObject').each(function (el) {
4310          resizeEditableObject(el);
4311        });
4312        find(".editableObject").each(function (el) {
4313          resizeEditableObject(el);
4314        });
4315      }
4316    }, function () {
4317      if (Mura.handleObjectClick == 'function') {
4318        find('.mura-object, .frontEndToolsModal').on('click', Mura.handleObjectClick);
4319      }
4320
4321      if (typeof window != 'undefined' && typeof window.document != 'undefined' && window.MuraInlineEditor && window.MuraInlineEditor.checkforImageCroppers) {
4322        find("img").each(function (el) {
4323          window.muraInlineEditor.checkforImageCroppers(el);
4324        });
4325      }
4326    }, function () {
4327      initShadowBox(scope.node);
4328    }];
4329
4330    for (var h = 0; h < processors.length; h++) {
4331      processors[h]();
4332    }
4333  });
4334}
4335
4336function addEventHandler(eventName, fn) {
4337  if (_typeof(eventName) == 'object') {
4338    for (var h in eventName) {
4339      if (eventName.hasOwnProperty(h)) {
4340        on(document, h, eventName[h]);
4341      }
4342    }
4343  } else {
4344    on(document, eventName, fn);
4345  }
4346}
4347
4348function submitForm(frm, obj) {
4349  frm = frm.node ? frm.node : frm;
4350
4351  if (obj) {
4352    obj = obj.node ? obj : Mura(obj);
4353  } else {
4354    obj = Mura(frm).closest('.mura-async-object');
4355  }
4356
4357  if (!obj.length) {
4358    Mura(frm).trigger('formSubmit', formToObject(frm));
4359    frm.submit();
4360  }
4361
4362  if (Mura.formdata && frm.getAttribute('enctype') == 'multipart/form-data') {
4363    var data = new FormData(frm);
4364    var checkdata = setLowerCaseKeys(formToObject(frm));
4365    var keys = filterUnwantedParams(deepExtend(setLowerCaseKeys(obj.data()), urlparams, {
4366      siteid: Mura.siteid,
4367      contentid: Mura.contentid,
4368      contenthistid: Mura.contenthistid,
4369      nocache: 1
4370    }));
4371
4372    if (obj.data('siteid')) {
4373      keys.siteid = obj.data('siteid');
4374    }
4375
4376    for (var k in keys) {
4377      if (!(k in checkdata)) {
4378        data.append(k, keys[k]);
4379      }
4380    }
4381
4382    if ('objectparams' in checkdata) {
4383      data.append('objectparams2', encodeURIComponent(JSON.stringify(obj.data('objectparams'))));
4384    }
4385
4386    if ('nocache' in checkdata) {
4387      data.append('nocache', 1);
4388    }
4389
4390    var postconfig = {
4391      url: Mura.getAPIEndpoint() + '?method=processAsyncObject',
4392      type: 'POST',
4393      data: data,
4394      success: function success(resp) {
4395        //console.log(data.object,resp)
4396        setTimeout(function () {
4397          handleResponse(obj, resp);
4398        }, 0);
4399      }
4400    };
4401  } else {
4402    var data = filterUnwantedParams(deepExtend(setLowerCaseKeys(obj.data()), urlparams, set
4402LowerCaseKeys(formToObject(frm)), {
4403      siteid: Mura.siteid,
4404      contentid: Mura.contentid,
4405      contenthistid: Mura.contenthistid,
4406      nocache: 1
4407    }));
4408
4409    if (obj.data('siteid')) {
4410      data.siteid = obj.data('siteid');
4411    }
4412
4413    if (data.object == 'container' && data.content) {
4414      delete data.content;
4415    }
4416
4417    if (!('g-recaptcha-response' in data)) {
4418      var reCaptchaCheck = Mura(frm).find("#g-recaptcha-response");
4419
4420      if (reCaptchaCheck.length && typeof reCaptchaCheck.val() != 'undefined') {
4421        data['g-recaptcha-response'] = eCaptchaCheck.val();
4422      }
4423    }
4424
4425    if ('objectparams' in data) {
4426      data['objectparams'] = encodeURIComponent(JSON.stringify(data['objectparams']));
4427    }
4428
4429    var postconfig = {
4430      url: Mura.getAPIEndpoint() + '?method=processAsyncObject',
4431      type: 'POST',
4432      data: data,
4433      success: function success(resp) {
4434        //console.log(data.object,resp)
4435        setTimeout(function () {
4436          handleResponse(obj, resp);
4437        }, 0);
4438      }
4439    };
4440  }
4441
4442  var self = obj.node;
4443  self.prevInnerHTML = self.innerHTML;
4444  self.prevData = filterUnwantedParams(obj.data());
4445
4446  if (typeof self.prevData != 'undefined' && typeof self.prevData.preloadermarkup != 'undefined') {
4447    self.innerHTML = self.prevData.preloadermarkup;
4448  } else {
4449    self.innerHTML = Mura.preloadermarkup;
4450  }
4451
4452  Mura(frm).trigger('formSubmit', data);
4453  ajax(postconfig);
4454}
4455
4456function firstToUpperCase(str) {
4457  return str.substr(0, 1).toUpperCase() + str.substr(1);
4458}
4459
4460function firstToLowerCase(str) {
4461  return str.substr(0, 1).toLowerCase() + str.substr(1);
4462}
4463
4464function cleanModuleProps(obj) {
4465  if (obj) {
4466    var dataTargets = ['runtime', 'perm', 'startrow', 'pagenum', 'pageidx', 'nextnid', 'purgecache', 'origininstanceid'];
4467
4468    if (typeof obj.removeAttr == 'function') {
4469      dataTargets.forEach(function (item) {
4470        obj.removeAttr('data-' + item);
4471      });
4472
4473      if (obj.hasAttr('data-cachedwithin') && !obj.attr('data-cachedwithin')) {
4474        obj.removeAttr('data-cachedwithin');
4475      }
4476    } else {
4477      dataTargets.forEach(function (item) {
4478        if (typeof obj[item] != 'undefined') {
4479          delete obj[item];
4480        }
4481      });
4482      delete obj.inited;
4483    }
4484  }
4485
4486  return obj;
4487}
4488
4489function resetAsyncObject(el, empty) {
4490  var self = Mura(el);
4491
4492  if (self.data('transient')) {
4493    self.remove();
4494  } else {
4495    if (typeof empty == 'undefined') {
4496      empty = true;
4497    }
4498
4499    cleanModuleProps(self);
4500
4501    if (empty) {
4502      self.removeAttr('data-inited');
4503    }
4504
4505    var data = self.data();
4506
4507    for (var p in data) {
4508      if (data.hasOwnProperty(p) && (typeof p == 'undefined' || data[p] === '')) {
4509        self.removeAttr('data-' + p);
4510      }
4511    }
4512
4513    if (typeof Mura.displayObjectInstances[self.data('instanceid')] != 'undefined') {
4514      Mura.displayObjectInstances[self.data('instanceid')].reset(self, empty);
4515    }
4516
4517    if (empty) {
4518      self.html('');
4519    }
4520  }
4521}
4522
4523function processAsyncObject(el, usePreloaderMarkup) {
4524  var obj = Mura(el);
4525
4526  if (obj.data('async') === null) {
4527    obj.data('async', true);
4528  }
4529
4530  if (typeof usePreloaderMarkup == 'undefined') {
4531    usePreloaderMarkup = true;
4532  }
4533
4534  return processDisplayObject(obj, false, true, false, usePreloaderMarkup);
4535}
4536
4537function filterUnwantedParams(params) {
4538  //Strip out unwanted attributes
4539  var unwanted = ['iconclass', 'objectname', 'inited', 'params', 'stylesupport', 'cssstyles', 'metacssstyles', 'contentcssstyles', 'cssclass', 'cssid', 'metacssclass', 'metacssid', 'contentcssclass', 'contentcssid', 'transient', 'draggable', 'objectspacing', 'metaspacing', 'contentspacing'];
4540
4541  for (var c = 0; c < unwanted.length; c++) {
4542    delete params[unwanted[c]];
4543  }
4544
4545  return params;
4546}
4547
4548function destroyDisplayObjects() {
4549  for (var property in Mura.displayObjectInstances) {
4550    if (Mura.displayObjectInstances.hasOwnProperty(property)) {
4551      var obj = Mura.displayObjectInstances[property];
4552
4553      if (typeof obj.destroy == 'function') {
4554        obj.destroy();
4555      }
4556
4557      delete Mura.displayObjectInstances[property];
4558    }
4559  }
4560}
4561
4562function destroyModules() {
4563  destroyDisplayObjects();
4564}
4565
4566function wireUpObject(obj, response, attempt) {
4567  attempt = attempt || 0;
4568  attempt++;
4569  obj = obj.node ? obj : Mura(obj);
4570  obj.data('inited', true);
4571
4572  if (response) {
4573    if (typeof response == 'string') {
4574      obj.html(trim(response));
4575    } else if (typeof response.html == 'string' && response.render != 'client') {
4576      obj.html(trim(response.html));
4577    } else {
4578      var context = filterUnwantedParams(deepExtend(obj.data(), response));
4579      var template = obj.data('clienttemplate') || obj.data('object');
4580      var properNameCheck = firstToUpperCase(template);
4581
4582      if (typeof Mura.DisplayObject[properNameCheck] != 'undefined') {
4583        template = properNameCheck;
4584      }
4585
4586      if (typeof context.async != 'undefined') {
4587        obj.data('async', context.async);
4588      }
4589
4590      if (typeof context.render != 'undefined') {
4591        obj.data('render', context.render);
4592      }
4593
4594      if (typeof context.rendertemplate != 'undefined') {
4595        obj.data('rendertemplate', context.rendertemplate);
4596      }
4597
4598      if (typeof Mura.DisplayObject[template] != 'undefined') {
4599        context.html = '';
4600
4601        if (typeof Mura.displayObjectInstances[obj.data('instanceid')] != 'undefined') {
4602          Mura.displayObjectInstances[obj.data('instanceid')].destroy();
4603        }
4604
4605        obj.html(Mura.templates.content({
4606          html: ''
4607        }));
4608        obj.prepend(Mura.templates.meta(context));
4609        context.targetEl = obj.children('.mura-object-content').node;
4610        Mura.displayObjectInstances[obj.data('instanceid')] = new Mura.DisplayObject[template](context);
4611        Mura.displayObjectInstances[obj.data('instanceid')].trigger('beforeRender');
4612        Mura.displayObjectInstances[obj.data('instanceid')].renderClient();
4613      } else if (typeof Mura.templates[template] != 'undefined') {
4614        context.html = '';
4615        obj.html(Mura.templates.content(context));
4616        obj.prepend(Mura.templates.meta(context));
4617        context.targetEl = obj.children('.mura-object-content').node;
4618        Mura.templates[template](context);
4619      } else {
4620        if (attempt < 1000) {
4621          setTimeout(function () {
4622            wireUpObject(obj, response, attempt);
4623          }, 1);
4624        } else {
4625          console.log('Missing Client Template for:');
4626          console.log(obj.data());
4627        }
4628      }
4629    }
4630  } else {
4631    var context = filterUnwantedParams(obj.data());
4632    var template = obj.data('clienttemplate') || obj.data('object');
4633    var properNameCheck = firstToUpperCase(template);
4634
4635    if (typeof Mura.DisplayObject[properNameCheck] != 'undefined') {
4636      template = properNameCheck;
4637    }
4638
4639    if (typeof Mura.DisplayObject[template] == 'function') {
4640      context.html = '';
4641
4642      if (typeof Mura.displayObjectInstances[obj.data('instanceid')] != 'undefined') {
4643        Mura.displayObjectInstances[obj.data('instanceid')].destroy();
4644      }
4645
4646      obj.html(Mura.templates.content({
4647        html: ''
4648      }));
4649      obj.prepend(Mura.templates.meta(context));
4650      context.targetEl = obj.children('.mura-object-content').node;
4651      Mura.displayObjectInstances[obj.data('instanceid')] = new Mura.DisplayObject[template](context);
4652      Mura.displayObjectInstances[obj.data('instanceid')].trigger('beforeRender');
4653      Mura.displayObjectInstances[obj.data('instanceid')].renderClient();
4654    } else if (typeof Mura.templates[template] != 'undefined') {
4655      context.html = '';
4656      obj.html(Mura.templates.content(context));
4657      obj.prepend(Mura.templates.meta(context));
4658      context.targetEl = obj.children('.mura-object-content').node;
4659      Mura.templates[template](context);
4660    } else {
4661      if (attempt < 1000) {
4662        setTimeout(function () {
4663          wireUpObject(obj, response, attempt);
4664        }, 1);
4665      } else {
4666        console.log('Missing Client Template for:');
4667        console.log(obj.data());
4668      }
4669    }
4670  }
4671
4672  obj.calculateDisplayObjectStyles();
4673  obj.hide().show();
4674
4675  if (Mura.layoutmanager && Mura.editing) {
4676    if (obj.hasClass('mura-body-object') || obj.is('div.mura-object[data-targetattr]')) {
4677      obj.children('.frontEndToolsModal').remove();
4678      obj.prepend(Mura.layoutmanagertoolbar);
4679
4680      if (obj.data('objectname')) {
4681        obj.children('.frontEndToolsModal').children('.mura-edit-label').html(obj.data('objectname'));
4682      } else {
4683        obj.children('.frontEndToolsModal').children('.mura-edit-label').html(Mura.firstToUpperCase(obj.data('object')));
4684      }
4685
4686      if (obj.data('objecticonclass')) {
4687        obj.children('.frontEndToolsModal').children('.mura-edit-label').addClass(obj.data('objecticonclass'));
4688      }
4689
4690      MuraInlineEditor.setAnchorSaveChecks(obj.node);
4691      obj.addClass('mura-active').hover(Mura.initDraggableObject_hoverin, Mura.initDraggableObject_hoverout);
4692    } else {
4693      //replace this with Mura.initEditableObject.call(obj.node) in future
4694      function initEditableObject(item) {
4695        var objectParams;
4696
4697        if (item.data('transient')) {
4698          item.remove();
4699        } else if (Mura.type == 'Variation' && !(item.is('[data-mxpeditable]') || item.closest('.mxp-editable').length)) {
4700          return;
4701        }
4702
4703        item.addClass("mura-active");
4704
4705        if (Mura.type == 'Variation') {
4706          objectParams = item.data();
4707          item.children('.frontEndToolsModal').remove();
4708          item.children('.mura-fetborder').remove();
4709          item.prepend(window.Mura.layoutmanagertoolbar);
4710
4711          if (item.data('objectname')) {
4712            item.children('.frontEndToolsModal').children('.mura-edit-label').html(item.data('objectname'));
4713          } else {
4714            item.children('.frontEndToolsModal').children('.mura-edit-label').html(Mura.firstToUpperCase(item.data('object')));
4715          }
4716
4717          if (item.data('objecticonclass')) {
4718            item.children('.frontEndToolsModal').children('.mura-edit-label').addClass(item.data('objecticonclass'));
4719          }
4720
4721          item.off("click", Mura.handleObjectClick).on("click", Mura.handleObjectClick);
4722          item.find("img").each(function (el) {
4723            MuraInlineEditor.checkforImageCroppers(el);
4724          });
4725          item.find('.mura-object').each(function (el) {
4726            initEditableObject(Mura(el));
4727          });
4728          Mura.initDraggableObject(item.node);
4729        } else {
4730          var lcaseObject = item.data('object');
4731
4732          if (typeof lcaseObject == 'string') {
4733            lcaseObject = lcaseObject.toLowerCase();
4734          }
4735
4736          var region = item.closest('.mura-region-local, div.mura-object[data-object][data-targetattr]');
4737
4738          if (region.length) {
4739            if (region.is('.mura-region-local') && region.data('perm') || region.is('div.mura-object[data-object][data-targetattr]')) {
4740              objectParams = item.data();
4741
4742              if (window.MuraInlineEditor.objectHasConfigurator(item) || !window.Mura.layoutmanager && window.MuraInlineEditor.objectHasEditor(objectParams)) {
4743                item.children('.frontEndToolsModal').remove();
4744                item.children('.mura-fetborder').remove();
4745                item.prepend(window.Mura.layoutmanagertoolbar);
4746
4747                if (item.data('objectname')) {
4748                  item.children('.frontEndToolsModal').children('.mura-edit-label').html(item.data('objectname'));
4749                } else {
4750                  item.children('.frontEndToolsModal').children('.mura-edit-label').html(Mura.firstToUpperCase(item.data('object')));
4751                }
4752
4753                if (item.data('objecticonclass')) {
4754                  item.children('.frontEndToolsModal').children('.mura-edit-label').addClass(item.data('objecticonclass'));
4755                }
4756
4757                item.off("click", Mura.handleObjectClick).on("click", Mura.handleObjectClick);
4758                item.find("img").each(function (el) {
4759                  MuraInlineEditor.checkforImageCroppers(el);
4760                });
4761                item.find('.mura-object').each(function (el) {
4762                  initEditableObject(Mura(el));
4763                });
4764                Mura.initDraggableObject(item.node);
4765
4766                if (typeof Mura.initPinnedObject == 'function') {
4767                  item.find('div.mura-object[data-pinned="true"]').each(function (el) {
4768                    Mura.initPinnedObject(el);
4769                  });
4770                }
4771
4772                Mura('body').find('.mura-object').each(function() {
4773                  // Reset the front-end for all items that have an empty objectname.
4774                  Mura(this).data('objectname', '').find('.mura-edit-icon').on('click', function() {
4775                      Mura.initFrontendUI(this)
4776                  });
4777                });
4778
4779              }
4780            }
4781          } else if (lcaseObject == 'form' || lcaseObject == 'component') {
4782            var entity = Mura.getEntity('content');
4783
4784            var conditionalApply = function conditionalApply() {
4785              objectParams = item.data();
4786
4787              if (window.MuraInlineEditor.objectHasConfigurator(item) || !window.Mura.layoutmanager && window.MuraInlineEditor.objectHasEditor(objectParams)) {
4788                item.addClass('mura-active');
4789                item.hover(Mura.initDraggableObject_hoverin, Mura.initDraggableObject_hoverout);
4790                item.data('notconfigurable', true);
4791                item.children('.frontEndToolsModal').remove();
4792                item.children('.mura-fetborder').remove();
4793                item.prepend(window.Mura.layoutmanagertoolbar);
4794
4795                if (item.data('objectname')) {
4796                  item.children('.frontEndToolsModal').children('.mura-edit-label').html(item.data('objectname'));
4797                } else {
4798                  item.children('.frontEndToolsModal').children('.mura-edit-label').html(Mura.firstToUpperCase(item.data('object')));
4799                }
4800
4801                if (item.data('objecticonclass')) {
4802                  item.children('.frontEndToolsModal').children('.mura-edit-label').addClass(item.data('objecticonclass'));
4803                }
4804
4805                item.off("click", Mura.handleObjectClick).on("click", Mura.handleObjectClick);
4806                item.find("img").each(function (el) {
4807                  MuraInlineEditor.checkforImageCroppers(el);
4808                });
4809                item.find('.mura-object').each(function (el) {
4810                  initEditableObject(Mura(el));
4811                });
4812              }
4813            };
4814
4815            if (item.data('perm')) {
4816              conditionalApply();
4817            } else {
4818              if (Mura.isUUID(item.data('objectid'))) {
4819                entity.loadBy('contentid', item.data('objectid'), {
4820                  type: lcaseObject
4821                }).then(function (bean) {
4822                  bean.get('permissions').then(function (permissions) {
4823                    if (permissions.get('save')) {
4824                      item.data('perm', true);
4825                      conditionalApply();
4826                    }
4827                  });
4828                });
4829              } else {
4830                entity.loadBy('title', item.data('objectid'), {
4831                  type: lcaseObject
4832                }).then(function (bean) {
4833                  bean.get('permissions').then(function (permissions) {
4834                    if (permissions.get('save')) {
4835                      item.data('perm', true);
4836                      conditionalApply();
4837                    }
4838                  });
4839                });
4840              }
4841            }
4842          }
4843        }
4844      }
4845
4846      initEditableObject(obj);
4847    }
4848  }
4849
4850  obj.hide().show(); //if(obj.data('object') != 'container' || obj.data('content')){
4851
4852  processMarkup(obj.node); //}
4853
4854  if (obj.data('object') != 'container') {
4855    obj.find('a[href="javascript:history.back();"]').each(function (el) {
4856      Mura(el).off("click").on("click", function (e) {
4857        if (obj.node.prevInnerHTML) {
4858          e.preventDefault();
4859          wireUpObject(obj, obj.node.prevInnerHTML);
4860
4861          if (obj.node.prevData) {
4862            for (var p in obj.node.prevData) {
4863              select('[name="' + p + '"]').val(obj.node.prevData[p]);
4864            }
4865          }
4866
4867          obj.node.prevInnerHTML = false;
4868          obj.node.prevData = false;
4869        }
4870      });
4871    });
4872
4873    if (obj.data('render') && obj.data('render').toLowerCase() == 'server') {
4874      obj.find('form').each(function (el) {
4875        var form = Mura(el);
4876
4877        if (form.closest('.mura-object').data('instanceid') == obj.data('instanceid')) {
4878          if (form.data('async') || !(form.hasData('async') && !form.data('async')) && !(form.hasData('autowire') && !form.data('autowire')) && !form.attr('action') && !form.attr('onsubmit') && !form.attr('onSubmit')) {
4879            form.on('submit', function (e) {
4880              e.preventDefault();
4881              validateForm(this, function (frm) {
4882                submitForm(frm, obj);
4883              });
4884              return false;
4885            });
4886          }
4887        }
4888      });
4889    }
4890  }
4891
4892  obj.trigger('asyncObjectRendered');
4893}
4894
4895function handleResponse(obj, resp) {
4896  obj = obj.node ? obj : Mura(obj); // handle HTML response
4897
4898  resp = !resp.data ? {
4899    data: resp
4900  } : resp;
4901
4902  if (typeof resp.data.redirect != 'undefined') {
4903    if (resp.data.redirect && resp.data.redirect != location.href) {
4904      location.href = resp.data.redirect;
4905    } else {
4906      location.reload(true);
4907    }
4908  } else if (resp.data.apiEndpoint) {
4909    ajax({
4910      type: "POST",
4911      xhrFields: {
4912        withCredentials: true
4913      },
4914      crossDomain: true,
4915      url: resp.data.apiEndpoint,
4916      data: resp.data,
4917      success: function success(data) {
4918        if (typeof data == 'string') {
4919          wireUpObject(obj, data);
4920        } else if (_typeof(data) == 'object' && 'html' in data) {
4921          wireUpObject(obj, data.html);
4922        } else if (_typeof(data) == 'object' && 'data' in data && 'html' in data.data) {
4923          wireUpObject(obj, data.data.html);
4924        } else {
4925          wireUpObject(obj, data.data);
4926        }
4927      }
4928    });
4929  } else {
4930    wireUpObject(obj, resp.data);
4931  }
4932}
4933
4934function processDisplayObject(el, queue, rerender, resolveFn, usePreloaderMarkup) {
4935  try {
4936    var obj = el.node ? el : Mura(el);
4937
4938    if (!obj.data('object')) {
4939      obj.data('inited', true);
4940      return new Promise(function (resolve, reject) {
4941        if (typeof resolve == 'function') {
4942          resolve(obj);
4943        }
4944      });
4945    }
4946
4947    if (obj.data('queue') != null) {
4948      queue = obj.data('queue');
4949
4950      if (typeof queue == 'string') {
4951        queue = queue.toLowerCase();
4952
4953        if (queue == 'no' || queue == 'false') {
4954          queue = false;
4955          obj.data('queue', false);
4956        } else {
4957          queue = true;
4958          obj.data('queue', true);
4959        }
4960      }
4961    }
4962
4963    var rendered = rerender && !obj.data('async') ? false : obj.children('.mura-object-content').length;
4964    queue = queue == null || rendered ? false : queue;
4965
4966    if (document.createEvent && queue && !isScrolledIntoView(obj.node)) {
4967      if (!resolveFn) {
4968        return new Promise(function (resolve, reject) {
4969          resolve = resolve || function () {};
4970
4971          setTimeout(function () {
4972            processDisplayObject(obj.node, true, false, resolve, usePreloaderMarkup);
4973          }, 10);
4974        });
4975      } else {
4976        setTimeout(function () {
4977          var resp = processDisplayObject(obj.node, true, false, resolveFn, usePreloaderMarkup);
4978
4979          if (_typeof(resp) == 'object' && typeof resolveFn == 'function') {
4980            resp.then(resolveFn);
4981          }
4982        }, 10);
4983        return;
4984      }
4985    }
4986
4987    if (!obj.node.getAttribute('data-instanceid')) {
4988      obj.node.setAttribute('data-instanceid', createUUID());
4989    } //if(obj.data('async')){
4990
4991
4992    obj.addClass("mura-async-object"); //}
4993
4994    if (rendered && !obj.data('async')) {
4995      return new Promise(function (resolve, reject) {
4996        obj.calculateDisplayObjectStyles();
4997        var template = obj.data('clienttemplate') || obj.data('object');
4998        var properNameCheck = firstToUpperCase(template);
4999
5000        if (typeof Mura.Module[properNameCheck] != 'undefined') {
5001          template = properNameCheck;
5002        }
5003
5004        if (typeof Mura.Module[template] != 'undefined') {//obj.data('render','client')
5005        }
5006
5007        if (!rerender && obj.data('render') == 'client' && obj.children('.mura-object-content').length) {
5008          var context = filterUnwantedParams(obj.data());
5009
5010          if (typeof context.instanceid != 'undefined' && typeof Mura.hydrationData[context.instanceid] != 'undefined') {
5011            Mura.extend(context, Mura.hydrationData[context.instanceid]);
5012          }
5013
5014          if (typeof Mura.DisplayObject[template] != 'undefined') {
5015            context.targetEl = obj.children('.mura-object-content').node;
5016            Mura.displayObjectInstances[obj.data('instanceid')] = new Mura.DisplayObject[template](context);
5017            Mura.displayObjectInstances[obj.data('instanceid')].trigger('beforeRender');
5018            Mura.displayObjectInstances[obj.data('instanceid')].hydrate();
5019          } else {
5020            console.log('Missing Client Template for:');
5021            console.log(obj.data());
5022          }
5023
5024          obj.data('inited', true);
5025        }
5026
5027        if (obj.data('render') && obj.data('render').toLowerCase() == 'server') {
5028          obj.find('form').each(function (el) {
5029            var form = Mura(el);
5030
5031            if (form.closest('.mura-object').data('instanceid') == obj.data('instanceid')) {
5032              if (form.data('async') || !(form.hasData('async') && !form.data('async')) && !(form.hasData('autowire') && !form.data('autowire')) && !form.attr('action') && !form.attr('onsubmit') && !form.attr('onSubmit')) {
5033                form.on('submit', function (e) {
5034                  e.preventDefault();
5035                  validateForm(this, function (frm) {
5036                    submitForm(frm, obj);
5037                  });
5038                  return false;
5039                });
5040              }
5041            }
5042          });
5043        }
5044
5045        if (typeof resolve == 'function') {
5046          resolve(obj);
5047        }
5048      });
5049    }
5050
5051    return new Promise(function (resolve, reject) {
5052      var data = deepExtend(setLowerCaseKeys(obj.data()), urlparams, {
5053        siteid: Mura.siteid,
5054        contentid: Mura.contentid,
5055        contenthistid: Mura.contenthistid
5056      });
5057
5058      if (obj.data('siteid')) {
5059        data.siteid = obj.node.getAttribute('data-siteid');
5060      }
5061
5062      if (obj.data('contentid')) {
5063        data.contentid = obj.node.getAttribute('data-contentid');
5064      }
5065
5066      if (obj.data('contenthistid')) {
5067        data.contenthistid = obj.node.getAttribute('data-contenthistid');
5068      }
5069
5070      if ('objectparams' in data) {
5071        data['objectparams'] = encodeURIComponent(JSON.stringify(data['objectparams']));
5072      }
5073
5074      if (!obj.data('async') && obj.data('render') == 'client') {
5075        wireUpObject(obj);
5076
5077        if (typeof resolve == 'function') {
5078          if (typeof resolve.call == 'undefined') {
5079            resolve(obj);
5080          } else {
5081            resolve.call(obj.node, obj);
5082          }
5083        }
5084      } else {
5085        //console.log(data);
5086        if (usePreloaderMarkup) {
5087          if (typeof data.preloadermarkup != 'undefined') {
5088            obj.node.innerHTML = data.preloadermarkup;
5089            delete data.preloadermarkup;
5090          } else {
5091            obj.node.innerHTML = Mura.preloadermarkup;
5092          }
5093        }
5094
5095        var requestType = 'get';
5096        var requestData = filterUnwantedParams(data);
5097        var postCheck = new RegExp(/<\/?[a-z][\s\S]*>/i);
5098
5099        for (var p in requestData) {
5100          if (requestData.hasOwnProperty(p) && requestData[p] && postCheck.test(requestData[p])) {
5101            requestType = 'post';
5102            break;
5103          }
5104        }
5105
5106        ajax({
5107          url: Mura.getAPIEndpoint() + '?method=processAsyncObject',
5108          type: requestType,
5109          data: requestData,
5110          success: function success(resp) {
5111            //console.log(data.object,resp)
5112            setTimeout(function () {
5113              handleResponse(obj, resp);
5114
5115              if (typeof resolve == 'function') {
5116                if (typeof resolve.call == 'undefined') {
5117                  resolve(obj);
5118                } else {
5119                  resolve.call(obj.node, obj);
5120                }
5121              }
5122            }, 0);
5123          }
5124        });
5125      }
5126    });
5127  } catch (e) {
5128    console.error(e);
5129
5130    if (typeof resolve == 'function') {
5131      resolve(obj);
5132    }
5133  }
5134}
5135
5136function processModule(el, queue, rerender, resolveFn, usePreloaderMarkup) {
5137  return processDisplayObject(el, queue, rerender, resolveFn, usePreloaderMarkup);
5138}
5139
5140var hashparams = {};
5141var urlparams = {};
5142
5143function handleHashChange() {
5144  if (typeof location != 'undefined') {
5145    var hash = location.hash;
5146  } else {
5147    var hash = '';
5148  }
5149
5150  if (hash) {
5151    hash = hash.substring(1);
5152  }
5153
5154  if (hash) {
5155    hashparams = getQueryStringParams(hash);
5156
5157    if (hashparams.nextnid) {
5158      Mura('.mura-async-object[data-nextnid="' + hashparams.nextnid + '"]').each(function (el) {
5159        Mura(el).data(hashparams);
5160        processAsyncObject(el);
5161      });
5162    } else if (hashparams.objectid) {
5163      Mura('.mura-async-object[data-objectid="' + hashparams.objectid + '"]').each(function (el) {
5164        Mura(el).data(hashparams);
5165        processAsyncObject(el);
5166      });
5167    }
5168  }
5169}
5170/**
5171 * trim - description
5172 *
5173 * @param	{string} str Trims string
5174 * @return {string}		 Trimmed string
5175 * @memberof {class} Mura
5176 */
5177
5178
5179function trim(str) {
5180  return str.replace(/^\s+|\s+$/gm, '');
5181}
5182
5183function extendClass(baseClass, subClass) {
5184  var muraObject = function muraObject() {
5185    this.init.apply(this, arguments);
5186  };
5187
5188  muraObject.prototype = Object.create(baseClass.prototype);
5189  muraObject.prototype.constructor = muraObject;
5190  muraObject.prototype.handlers = {};
5191
5192  muraObject.reopen = function (subClass) {
5193    Mura.extend(muraObject.prototype, subClass);
5194  };
5195
5196  muraObject.reopenClass = function (subClass) {
5197    Mura.extend(muraObject, subClass);
5198  };
5199
5200  muraObject.on = function (eventName, fn) {
5201    eventName = eventName.toLowerCase();
5202
5203    if (typeof muraObject.prototype.handlers[eventName] == 'undefined') {
5204      muraObject.prototype.handlers[eventName] = [];
5205    }
5206
5207    if (!fn) {
5208      return muraObject;
5209    }
5210
5211    for (var i = 0; i < muraObject.prototype.handlers[eventName].length; i++) {
5212      if (muraObject.prototype.handlers[eventName][i] == handler) {
5213        return muraObject;
5214      }
5215    }
5216
5217    muraObject.prototype.handlers[eventName].push(fn);
5218    return muraObject;
5219  };
5220
5221  muraObject.off = function (eventName, fn) {
5222    eventName = eventName.toLowerCase();
5223
5224    if (typeof muraObject.prototype.handlers[eventName] == 'undefined') {
5225      muraObject.prototype.handlers[eventName] = [];
5226    }
5227
5228    if (!fn) {
5229      muraObject.prototype.handlers[eventName] = [];
5230      return muraObject;
5231    }
5232
5233    for (var i = 0; i < muraObject.prototype.handlers[eventName].length; i++) {
5234      if (muraObject.prototype.handlers[eventName][i] == handler) {
5235        muraObject.prototype.handlers[eventName].splice(i, 1);
5236      }
5237    }
5238
5239    return muraObject;
5240  };
5241
5242  Mura.extend(muraObject.prototype, subClass);
5243  return muraObject;
5244}
5245/**
5246 * getQueryStringParams - Returns object of params in string
5247 *
5248 * @name getQueryStringParams
5249 * @param	{string} queryString Query String
5250 * @return {object}
5251 * @memberof {class} Mura
5252 */
5253
5254
5255function getQueryStringParams(queryString) {
5256  if (typeof queryString === 'undefined') {
5257    if (typeof location != 'undefined') {
5258      queryString = location.search;
5259    } else {
5260      return {};
5261    }
5262  }
5263
5264  var params = {};
5265
5266  var e,
5267      a = /\+/g,
5268      // Regex for replacing addition symbol with a space
5269  r = /([^&;=]+)=?([^&;]*)/g,
5270      d = function d(s) {
5271    return decodeURIComponent(s.replace(a, " "));
5272  };
5273
5274  if (queryString.substring(0, 1) == '?') {
5275    var q = queryString.substring(1);
5276  } else {
5277    var q = queryString;
5278  }
5279
5280  while (e = r.exec(q)) {
5281    params[d(e[1]).toLowerCase()] = d(e[2]);
5282  }
5283
5284  return params;
5285}
5286/**
5287 * getHREFParams - Returns object of params in string
5288 *
5289 * @name getHREFParams
5290 * @param	{string} href
5291 * @return {object}
5292 * @memberof {class} Mura
5293 */
5294
5295
5296function getHREFParams(href) {
5297  var a = href.split('?');
5298
5299  if (a.length == 2) {
5300    return getQueryStringParams(a[1]);
5301  } else {
5302    return {};
5303  }
5304}
5305
5306function inArray(elem, array, i) {
5307  var len;
5308
5309  if (array) {
5310    if (array.indexOf) {
5311      return array.indexOf.call(array, elem, i);
5312    }
5313
5314    len = array.length;
5315    i = i ? i < 0 ? Math.max(0, len + i) : i : 0;
5316
5317    for (; i < len; i++) {
5318      // Skip accessing in sparse arrays
5319      if (i in array && array[i] === elem) {
5320        return i;
5321      }
5322    }
5323  }
5324
5325  return -1;
5326}
5327/**
5328 * getStyleSheet - Returns a stylesheet object;
5329 *
5330 * @param	{string} id Text string
5331 * @return {object}						Self
5332 */
5333
5334
5335function getStyleSheet(id) {
5336  if (Mura.isInNode()) {
5337    return getStyleSheetPlaceHolder(id);
5338  } else {
5339    var sheet = Mura('#' + id);
5340
5341    if (sheet.length) {
5342      return sheet.get(0).sheet;
5343    } else {
5344      Mura('HEAD').append('<style id="' + id + '" type="text/css"></style>');
5345      return Mura('#' + id).get(0).sheet;
5346    }
5347  }
5348}
5349/**
5350 * applyModuleCustomCSS - Returns a stylesheet object;
5351 *
5352 * @param	{object} stylesupport Object Containing Module Style configuration
5353 * @param	{object} sheet Object StyleSheet object
5354 * @param	{string} id Text string
5355 * @return {void}	void
5356 */
5357
5358
5359function applyModuleCustomCSS(stylesupport, sheet, id) {
5360  stylesupport = stylesupport || {};
5361
5362  if (typeof stylesupport.css != 'undefined' && stylesupport.css) {
5363    var styles = stylesupport.css.split('}');
5364
5365    if (Array.isArray(styles) && styles.length) {
5366      styles.forEach(function (style) {
5367        var styleParts = style.split("{");
5368
5369        if (styleParts.length > 1) {
5370          var selectors = styleParts[0].split(',');
5371          selectors.forEach(function (subSelector) {
5372            try {
5373              var subStyle = 'div.mura-object[data-instanceid="' + id + '"] ' + subSelector.replace(/\$self/g, '') + '{' + styleParts[1] + '}';
5374              sheet.insertRule(subStyle, sheet.cssRules.length);
5375
5376              if (Mura.editing) {
5377                console.log('Applying dynamic styles:' + subStyle);
5378              }
5379            } catch (e) {
5380              if (Mura.editing) {
5381                console.log('Error applying dynamic styles:' + subStyle);
5382                console.log(e);
5383              }
5384            }
5385          });
5386        }
5387      });
5388    }
5389  }
5390}
5391/**
5392 * getStyleSheetPlaceHolder - ;
5393 *
5394 * @return {object}	 object
5395 */
5396
5397
5398function getStyleSheetPlaceHolder(id) {
5399  return {
5400    deleteRule: function deleteRule(idx) {
5401      this.cssRules.splice(idx, 1);
5402    },
5403    insertRule: function insertRule(rule) {
5404      this.cssRules.push(rule);
5405    },
5406    cssRules: [],
5407    id: id,
5408    targets: {
5409      object: {
5410        class: "mura-object"
5411      },
5412      meta: {
5413        class: "mura-object-meta"
5414      },
5415      metawrapper: {
5416        class: "mura-object-meta-wrapper"
5417      },
5418      content: {
5419        class: "mura-object-content"
5420      }
5421    }
5422  };
5423}
5424/**
5425 * normalizeModuleClassesAndIds - ;
5426 *
5427 * @param	{object} params Object Containing Module Style configuration
5428 * @return {object}	style object
5429 */
5430
5431
5432function normalizeModuleClassesAndIds(params, sheet) {
5433  if (typeof sheet == 'undefined') {
5434    sheet = getStyleSheetPlaceHolder('mura-styles-' + params.instanceid);
5435  }
5436
5437  if (typeof params.class != 'undefined' && params.class != '') {
5438    sheet.targets.object.class += ' ' + params.class;
5439  }
5440
5441  if (typeof params.cssclass != 'undefined' && params.cssclass != '') {
5442    sheet.targets.object.class += ' ' + params.cssclass;
5443  }
5444
5445  if (typeof params.cssid != 'undefined' && params.cssid != '') {
5446    sheet.targets.object.id = params.cssid;
5447  }
5448
5449  if (typeof params.metacssclass != 'undefined' && params.metacssclass != '') {
5450    sheet.targets.meta.class += ' ' + params.metacssclass;
5451  }
5452
5453  if (typeof params.metacssid != 'undefined' && params.metacssid != '') {
5454    sheet.targets.meta.id = params.metacssid;
5455  }
5456
5457  if (typeof params.contentcssclass != 'undefined' && params.contentcssclass != '') {
5458    sheet.targets.content.class += ' ' + params.contentcssclass;
5459  }
5460
5461  if (typeof params.contentcssid != 'undefined' && params.contentcssid != '') {
5462    sheet.targets.content.id = params.contentcssid;
5463  }
5464
5465  if (typeof params.objectspacing != 'undefined' && params.objectspacing != '' && params.objectspacing != 'custom') {
5466    sheet.targets.object.class += ' ' + params.objectspacing;
5467  }
5468
5469  if (typeof params.metaspacing != 'undefined' && params.metaspacing != '' && params.metaspacing != 'custom') {
5470    sheet.targets.meta.class += ' ' + params.metaspacing;
5471  }
5472
5473  if (typeof params.contentspacing != 'undefined' && params.contentspacing != '' && params.contentspacing != 'custom') {
5474    sheet.targets.content.class += ' ' + params.contentspacing;
5475  }
5476
5477  if (sheet.targets.content.class.split(' ').find(function ($class) {
5478    return $class === 'container';
5479  })) {
5480    sheet.targets.metawrapper.class += ' container';
5481  }
5482
5483  return sheet;
5484}
5485/**
5486 * recordModuleClassesAndIds - ;
5487 *
5488 * @param	{object} params Object Containing Module Style configuration
5489 * @return {object}	style object
5490 */
5491
5492
5493function recordModuleClassesAndIds(params) {
5494  params.instanceid = params.instanceid || createUUID();
5495  params.stylesupport = params.stylesupport || {};
5496  var sheet = getStyleSheet('mura-styles-' + params.instanceid);
5497
5498  if (sheet.recorded) {
5499    return sheet;
5500  }
5501
5502  normalizeModuleClassesAndIds(params, sheet);
5503  return sheet;
5504}
5505/**
5506 * recordModuleStyles - ;
5507 *
5508 * @param	{object} params Object Containing Module Style configuration
5509 * @return {object}	style object
5510 */
5511
5512
5513function recordModuleStyles(params) {
5514  params.instanceid = params.instanceid || createUUID();
5515  params.stylesupport = params.stylesupport || {};
5516  var sheet = getStyleSheet('mura-styles-' + params.instanceid);
5517
5518  if (sheet.recorded) {
5519    return sheet;
5520  }
5521
5522  var styleTargets = getModuleStyleTargets(params.instanceid, false);
5523  applyModuleStyles(params.stylesupport, styleTargets.object, sheet);
5524  applyModuleCustomCSS(params.stylesupport, sheet, params.instanceid);
5525  applyModuleStyles(params.stylesupport, styleTargets.meta, sheet);
5526  applyModuleStyles(params.stylesupport, styleTargets.content, sheet);
5527  normalizeModuleClassesAndIds(params, sheet);
5528  return sheet;
5529}
5530/**
5531 * applyModuleStyles - Returns a stylesheet object;
5532 *
5533 * @param	{object} stylesupport Object Containing Module Style configuration
5534 * @param	{object} group Object Containing a group of selectors
5535 * @param	{object} sheet StyleSheet object
5536 * @param	{object} obj Mura.DomSelection
5537 * @return {void}	void
5538 */
5539
5540
5541function applyModuleStyles(stylesupport, group, sheet, obj) {
5542  var acummulator = {}; //group is for object, content, meta
5543
5544  group.targets.forEach(function (target) {
5545    var styles = {};
5546    var dyncss = '';
5547
5548    if (stylesupport && stylesupport[target.name]) {
5549      styles = stylesupport[target.name];
5550    } //console.log(target.name)
5551    //console.log(styles)
5552
5553
5554    acummulator = Mura.extend(acummulator, styles);
5555    handleBackround(acummulator);
5556
5557    for (var s in acummulator) {
5558      if (acummulator.hasOwnProperty(s)) {
5559        var p = s.toLowerCase();
5560
5561        if (Mura.styleMap && typeof Mura.styleMap.tojs[p] != 'undefined' && Mura.styleMap.tocss[Mura.styleMap.tojs[p]] != 'undefined') {
5562          dyncss += Mura.styleMap.tocss[Mura.styleMap.tojs[p]] + ': ' + acummulator[s] + ' !important;';
5563        } else if (typeof obj != 'undefined') {
5564          obj.css(s, acummulator[s]);
5565        }
5566      }
5567    } //console.log(target.name,acummulator,dyncss)
5568
5569
5570    if (dyncss) {
5571      try {
5572        //selector is for edit mode or standard
5573        target.selectors.forEach(function (selector) {
5574          //console.log(selector)
5575          sheet.insertRule(selector + ' {' + dyncss + '}}', sheet.cssRules.length); //console.log(selector + ' {' + dyncss+ '}}')
5576
5577          handleTextColor(sheet, selector, acummulator);
5578        });
5579      } catch (e) {
5580        console.log(selector + ' {' + dyncss + '}}');
5581        console.log(e);
5582      }
5583    }
5584  });
5585
5586  function handleBackround(styles) {
5587    if (typeof styles.backgroundImage != 'undefined' && styles.backgroundImage) {
5588      var bgArray = styles.backgroundImage.split(',');
5589
5590      if (bgArray.length) {
5591        styles.backgroundImage = Mura.trim(bgArray[bgArray.length - 1]);
5592      }
5593    }
5594
5595    var hasLayeredBg = styles && typeof styles.backgroundColor != 'undefined' && styles.backgroundColor && typeof styles.backgroundImage != 'undefined' && styles.backgroundImage;
5596
5597    if (hasLayeredBg) {
5598      styles.backgroundImage = 'linear-gradient(' + styles.backgroundColor + ', ' + styles.backgroundColor + ' ), ' + styles.backgroundImage;
5599    } else {
5600      if (typeof styles.backgroundimage != 'undefined' && styles.backgroundimage) {
5601        var bgArray = styles.backgroundimage.split(',');
5602
5603        if (bgArray.length) {
5604          styles.backgroundimage = Mura.trim(bgArray[bgArray.length - 1]);
5605        }
5606      }
5607
5608      hasLayeredBg = styles && typeof styles.backgroundcolor != 'undefined' && styles.backgroundcolor && typeof styles.backgroundimage != 'undefined' && styles.backgroundimage;
5609
5610      if (hasLayeredBg) {
5611        styles.backgroundImage = 'linear-gradient(' + styles.backgroundcolor + ', ' + styles.backgroundcolor + ' ), ' + styles.backgroundimage;
5612      }
5613    }
5614  }
5615
5616  function handleTextColor(sheet, selector, styles) {
5617    try {
5618      if (styles.color) {
5619        var selectorArray = selector.split('{');
5620        var style = selectorArray[0] + '{' + selectorArray[1] + ', ' + selectorArray[1] + ' label, ' + selectorArray[1] + ' p, ' + selectorArray[1] + ' h1, ' + selectorArray[1] + ' h2, ' + selectorArray[1] + ' h3, ' + selectorArray[1] + ' h4, ' + selectorArray[1] + ' h5, ' + selectorArray[1] + ' h6, ' + selectorArray[1] + ' a, ' + selectorArray[1] + ' a:link, ' + selectorArray[1] + ' a:visited, ' + selectorArray[1] + ' a:hover, ' + selectorArray[1] + ' .breadcrumb-item + .breadcrumb-item::before, ' + selectorArray[1] + ' a:active { color:' + styles.color + ' !important;}} ';
5621        sheet.insertRule(style, sheet.cssRules.length); //console.log(style)
5622
5623        sheet.insertRule(selector + ' * {color:inherit !important}}', sheet.cssRules.length); //console.log(selector + ' * {color:inherit}')
5624
5625        sheet.insertRule(selector + ' hr { border-color:' + styles.color + ' !important;}}', sheet.cssRules.length);
5626      }
5627    } catch (e) {
5628      console.log("error adding color: " + styles.color);
5629      console.log(e);
5630    }
5631  }
5632}
5633
5634function getBreakpoint() {
5635  if (typeof document != 'undefined') {
5636    var breakpoints = getBreakpoints();
5637    var width = document.documentElement.clientWidth;
5638
5639    if (Mura.editing) {
5640      width = width - 300;
5641    }
5642
5643    if (width >= breakpoints.xl) {
5644      return 'xl';
5645    } else if (width >= breakpoints.lg) {
5646      return 'lg';
5647    } else if (width >= breakpoints.md) {
5648      return 'md';
5649    } else if (width >= breakpoints.sm) {
5650      return 'sm';
5651    } else {
5652      return 'xs';
5653    }
5654  } else {
5655    return '';
5656  }
5657}
5658
5659function getBreakpoints() {
5660  if (typeof Mura.breakpoints != 'undefined') {
5661    return Mura.breakpoints;
5662  } else {
5663    return {
5664      xl: 1200,
5665      lg: 992,
5666      md: 768,
5667      sm: 576
5668    };
5669  }
5670}
5671
5672function getModuleStyleTargets(id, dynamic) {
5673  var breakpoints = getBreakpoints();
5674  var sidebar = 300;
5675  var objTargets = {
5676    object: {
5677      targets: [{
5678        name: 'objectstyles',
5679        selectors: ['@media (min-width: ' + breakpoints.xl + 'px) { div[data-instanceid="' + id + '"]', '@media (min-width: ' + (breakpoints.xl + sidebar) + 'px) { .mura-editing div[data-instanceid="' + id + '"]']
5680      }, {
5681        name: 'object_lg_styles',
5682        selectors: ['@media (min-width: ' + breakpoints.lg + 'px) and (max-width: ' + (breakpoints.xl - 1) + 'px) { div[data-instanceid="' + id + '"]', '@media (min-width: ' + (breakpoints.lg + sidebar) + 'px) and (max-width: ' + (breakpoints.xl + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"]']
5683      }, {
5684        name: 'object_md_styles',
5685        selectors: ['@media (min-width: ' + breakpoints.md + 'px) and (max-width:' + (breakpoints.lg - 1) + 'px) { div[data-instanceid="' + id + '"]', '@media (min-width: ' + (breakpoints.md + sidebar) + 'px) and (max-width: ' + (breakpoints.lg + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"]']
5686      }, {
5687        name: 'object_sm_styles',
5688        selectors: ['@media (min-width: ' + breakpoints.sm + 'px) and (max-width: ' + (breakpoints.md - 1) + 'px) { div[data-instanceid="' + id + '"]', '@media (min-width: ' + (breakpoints.sm + sidebar) + 'px) and (max-width: ' + (breakpoints.md + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"]']
5689      }, {
5690        name: 'object_xs_styles',
5691        selectors: ['@media (max-width: ' + (breakpoints.sm - 1) + 'px) { div[data-instanceid="' + id + '"]', '@media (max-width: ' + (breakpoints.sm + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"]']
5692      }]
5693    },
5694    meta: {
5695      targets: [{
5696        name: 'metastyles',
5697        selectors: ['@media (min-width: ' + breakpoints.xl + 'px) { div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta', '@media (min-width: ' + (breakpoints.xl + sidebar) + 'px) { .mura-editing div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta']
5698      }, {
5699        name: 'meta_lg_styles',
5700        selectors: ['@media (min-width: ' + breakpoints.lg + 'px) and (max-width: ' + (breakpoints.xl - 1) + 'px) { div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta', '@media (min-width: ' + (breakpoints.lg + sidebar) + 'px) and (max-width: ' + (breakpoints.xl + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta']
5701      }, {
5702        name: 'meta_md_styles',
5703        selectors: ['@media (min-width: ' + breakpoints.md + 'px) and (max-width: ' + (breakpoints.lg - 1) + 'px) { div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta', '@media (min-width: ' + (breakpoints.md + sidebar) + 'px) and (max-width: ' + (breakpoints.lg + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta']
5704      }, {
5705        name: 'meta_sm_styles',
5706        selectors: ['@media (min-width: ' + breakpoints.sm + 'px) and (max-width: ' + (breakpoints.md - 1) + 'px) { div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta', '@media (min-width: ' + (breakpoints.sm + sidebar) + 'px) and (max-width: ' + (breakpoints.md + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta']
5707      }, {
5708        name: 'meta_xs_styles',
5709        selectors: ['@media (max-width: ' + (breakpoints.sm - 1) + 'px) { div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta', '@media (max-width: ' + (breakpoints.sm + sidebar - 1) + 'px) { .mura-editing div[data-instanceid="' + id + '"] > div.mura-object-meta-wrapper > div.mura-object-meta']
5710      }]
5711    },
5712    content: {
5713      targets: [{
5714        name: 'contentstyles',
5715        selectors: ['@media (min-width: ' + breakpoints.xl + 'px) { div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content', '@media (min-width: ' + (breakpoints.xl + sidebar) + 'px) { .mura-editing div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content']
5716      }, {
5717        name: 'content_lg_styles',
5718        selectors: ['@media (min-width: ' + breakpoints.lg + 'px) and (max-width: ' + (breakpoints.xl - 1) + 'px) { div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content', '@media (min-width: ' + (breakpoints.lg + sidebar) + 'px) and (max-width: ' + (breakpoints.xl + sidebar - 1) + 'px) { .mura-editing div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content']
5719      }, {
5720        name: 'content_md_styles',
5721        selectors: ['@media (min-width: ' + breakpoints.md + 'px) and (max-width: ' + (breakpoints.lg - 1) + 'px) { div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content', '@media (min-width: ' + (breakpoints.md + sidebar) + 'px) and (max-width: ' + (breakpoints.lg + sidebar - 1) + 'px) { .mura-editing div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content']
5722      }, {
5723        name: 'content_sm_styles',
5724        selectors: ['@media (min-width: ' + breakpoints.sm + 'px) and (max-width: ' + (breakpoints.md - 1) + 'px) { div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content', '@media (min-width: ' + (breakpoints.sm + sidebar) + 'px) and (max-width: ' + (breakpoints.md + sidebar - 1) + 'px) { .mura-editing div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content']
5725      }, {
5726        name: 'content_xs_styles',
5727        selectors: ['@media (max-width: ' + (breakpoints.sm - 1) + 'px) { div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content', '@media (max-width: ' + (breakpoints.sm + sidebar - 1) + 'px) { .mura-editing div.mura-object[data-instanceid="' + id + '"] > div.mura-object-content']
5728      }]
5729    }
5730  };
5731
5732  if (!dynamic) {
5733    for (var elTarget in objTargets) {
5734      if (objTargets.hasOwnProperty(elTarget)) {
5735        objTargets[elTarget].targets.forEach(function (target) {
5736          target.selectors.pop();
5737        });
5738      }
5739    }
5740  }
5741
5742  return objTargets;
5743}
5744/**
5745 * setRequestHeader - Initialiazes feed
5746 *
5747 * @name setRequestHeader
5748 * @param	{string} headerName	Name of header
5749 * @param	{string} value Header value
5750 * @return {Mura.RequestContext} Self
5751 * @memberof {class} Mura
5752 */
5753
5754
5755function setRequestHeader(headerName, value) {
5756  Mura.requestHeaders[headerName] = value;
5757  return this;
5758}
5759/**
5760 * getRequestHeader - Returns a request header value
5761 *
5762 * @name getRequestHeader
5763 * @param	{string} headerName	Name of header
5764 * @return {string} header Value
5765 * @memberof {class} Mura
5766 */
5767
5768
5769function getRequestHeader(headerName) {
5770  if (typeof Mura.requestHeaders[headerName] != 'undefined') {
5771    return Mura.requestHeaders[headerName];
5772  } else {
5773    return null;
5774  }
5775}
5776/**
5777 * getRequestHeaders - Returns a request header value
5778 *
5779 * @name getRequestHeaders
5780 * @return {object} All Headers
5781 * @memberof {class} Mura
5782 */
5783
5784
5785function getRequestHeaders() {
5786  return Mura.requestHeaders;
5787} //http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/
5788
5789/**
5790 * hashCode - description
5791 *
5792 * @name hashCode
5793 * @param	{string} s String to hash
5794 * @return {string}
5795 * @memberof {class} Mura
5796 */
5797
5798
5799function hashCode(s) {
5800  var hash = 0,
5801      strlen = s.length,
5802      i,
5803      c;
5804
5805  if (strlen === 0) {
5806    return hash;
5807  }
5808
5809  for (i = 0; i < strlen; i++) {
5810    c = s.charCodeAt(i);
5811    hash = (hash << 5) - hash + c;
5812    hash = hash & hash; // Convert to 32bit integer
5813  }
5814
5815  return hash >>> 0;
5816}
5817/**
5818 * Returns if the current request s running in Node.js
5819**/
5820
5821
5822function isInNode() {
5823  return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]' || typeof document == 'undefined';
5824}
5825/**
5826 * Global Request Headers
5827**/
5828
5829
5830var requestHeaders = {};
5831
5832function throttle(func, interval) {
5833  var timeout;
5834  return function () {
5835    var context = this,
5836        args = arguments;
5837
5838    var later = function later() {
5839      timeout = false;
5840    };
5841
5842    if (!timeout) {
5843      func.apply(context, args);
5844      timeout = true;
5845      setTimeout(later, interval);
5846    }
5847  };
5848}
5849
5850function debounce(func, interval) {
5851  var timeout;
5852  return function () {
5853    var context = this,
5854        args = arguments;
5855
5856    var later = function later() {
5857      timeout = null;
5858      func.apply(context, args);
5859    };
5860
5861    clearTimeout(timeout);
5862    timeout = setTimeout(later, interval || 200);
5863  };
5864}
5865
5866function getAPIEndpoint() {
5867  if (Mura.apiendpoint) {
5868    Mura.apiEndpoint = Mura.apiendpoint;
5869    delete Mura.apiendpoint;
5870
5871    if (Mura.mode.toLowerCase() == 'rest') {
5872      Mura.apiEndpoint = Mura.apiEndpoint.replace('/json/', '/rest/');
5873    }
5874  }
5875
5876  return Mura.apiEndpoint;
5877}
5878
5879function setAPIEndpoint(apiEndpoint) {
5880  Mura.apiEndpoint = apiEndpoint;
5881}
5882
5883function setMode(mode) {
5884  Mura.mode = mode;
5885}
5886
5887function getMode() {
5888  return Mura.mode;
5889}
5890
5891function startUserStateListener(interval) {
5892  Mura.userStateListenerInterval = interval;
5893}
5894
5895function stopUserStateListener() {
5896  Mura.userStateListenerInterval = false;
5897}
5898
5899function pollUserState() {
5900  if (typeof window != 'undefined' && typeof document != 'undefined' && (Mura.userStateListenerInterval || Mura.editing)) {
5901    Mura.getEntity('user').invoke('pollState').then(function (state) {
5902      var data = state;
5903
5904      if (typeof state == 'string') {
5905        try {
5906          data = JSON.parse(state);
5907        } catch (e) {
5908          data = state;
5909        }
5910      }
5911
5912      Mura(document).trigger('muraUserStateMessage', data);
5913    });
5914  }
5915
5916  var interval = typeof Mura.userStateListenerInterval === 'number' && Mura.userStateListenerInterval ? Mura.userStateListenerInterval : 60000;
5917  setTimeout(pollUserState, interval);
5918}
5919
5920function deInit() {
5921  //This all needs to be moved to a state object
5922  delete Mura._requestcontext;
5923  delete Mura.response;
5924  delete Mura.request;
5925  Mura.requestHeaders = {};
5926  Mura.displayObjectInstances = {};
5927  delete Mura.renderMode;
5928  delete Mura.userStateListenerInterval;
5929  delete Mura.currentUser;
5930  Mura.mode = "json";
5931  setAPIEndpoint(getAPIEndpoint().replace('/rest/', '/json/'));
5932  Mura.trackingMetadata = {};
5933  delete Mura.trackingVars; //delete Mura.apiEndpoint;
5934  //delete Mura.apiendpoint;
5935  //delete Mura._fetch;
5936  //delete Mura._formData;
5937  //delete Mura._escapeHTML;
5938
5939  delete Mura.perm;
5940  delete Mura.formdata;
5941  delete Mura.windowResponsiveModules;
5942  delete Mura.windowResizeID;
5943  delete Mura.Content;
5944  delete Mura.content;
5945  return Mura;
5946} //Mura.init()
5947
5948
5949function init(config) {
5950  var existingEndpoint = '';
5951
5952  if (Mura.siteid && config.siteid && Mura.siteid != config.siteid) {
5953    delete Mura.apiEndpoint;
5954    delete Mura.apiendpoint;
5955  }
5956
5957  if (typeof Mura.apiEndpoint != 'undefined' && Mura.apiEndpoint) {
5958    existingEndpoint = Mura.apiEndpoint;
5959  }
5960
5961  if (typeof config.content != 'undefined') {
5962    if (typeof config.content.get == 'undefined') {
5963      config.content = getEntity('content').set(config.content);
5964    }
5965
5966    Mura.extend(config, config.content.get('config'));
5967  }
5968
5969  if (existingEndpoint) {
5970    config.apiEndpoint = existingEndpoint;
5971    delete config.apiendpoint;
5972  }
5973
5974  if (config.rootpath) {
5975    config.context = config.rootpath;
5976  }
5977
5978  if (config.endpoint) {
5979    config.context = config.endpoint;
5980  }
5981
5982  if (!config.context) {
5983    config.context = '';
5984  }
5985
5986  if (!config.rootpath) {
5987    config.rootpath = config.context;
5988  }
5989
5990  if (!config.assetpath) {
5991    config.assetpath = config.context + "/sites/" + config.siteid;
5992  }
5993
5994  if (!config.siteassetpath) {
5995    config.siteassetpath = config.assetpath;
5996  }
5997
5998  if (!config.fileassetpath) {
5999    config.fileassetpath = config.assetpath;
6000  }
6001
6002  if (config.apiendpoint) {
6003    config.apiEndpoint = config.apiendpoint;
6004    delete config.apiendpoint;
6005  }
6006
6007  if (typeof config.indexfileinapi == 'undefined') {
6008    if (typeof Mura.indexfileinapi != 'undefined') {
6009      config.indexfileinapi = Mura.indexfileinapi;
6010    } else {
6011      config.indexfileinapi = true;
6012    }
6013  }
6014
6015  if (!config.apiEndpoint) {
6016    if (config.indexfileinapi) {
6017      config.apiEndpoint = config.context + '/index.cfm/_api/json/v1/' + config.siteid + '/';
6018    } else {
6019      config.apiEndpoint = config.context + '/_api/json/v1/' + config.siteid + '/';
6020    }
6021  }
6022
6023  if (config.apiEndpoint.indexOf('/_api/') == -1) {
6024    if (config.indexfileinapi) {
6025      config.apiEndpoint = config.apiEndpoint + '/index.cfm/_api/json/v1/' + config.siteid + '/';
6026    } else {
6027      config.apiEndpoint = config.apiEndpoint + '/_api/json/v1/' + config.siteid + '/';
6028    }
6029  }
6030
6031  if (!config.pluginspath) {
6032    config.pluginspath = config.context + '/plugins';
6033  }
6034
6035  if (!config.corepath) {
6036    config.corepath = config.context + '/core';
6037  }
6038
6039  if (!config.jslib) {
6040    config.jslib = 'jquery';
6041  }
6042
6043  if (!config.perm) {
6044    config.perm = 'none';
6045  }
6046
6047  if (typeof config.layoutmanager == 'undefined') {
6048    config.layoutmanager = false;
6049  }
6050
6051  if (typeof config.mobileformat == 'undefined') {
6052    config.mobileformat = false;
6053  }
6054
6055  if (typeof config.queueObjects != 'undefined') {
6056    config.queueobjects = config.queueObjects;
6057    delete config.queueobjects;
6058  }
6059
6060  if (typeof config.queueobjects == 'undefined') {
6061    config.queueobjects = true;
6062  }
6063
6064  if (typeof config.rootdocumentdomain != 'undefined' && config.rootdocumentdomain != '') {
6065    document.domain = config.rootdocumentdomain;
6066  }
6067
6068  if (typeof config.preloaderMarkup != 'undefined') {
6069    config.preloadermarkup = config.preloaderMarkup;
6070    delete config.preloaderMarkup;
6071  }
6072
6073  if (typeof config.preloadermarkup == 'undefined') {
6074    config.preloadermarkup = '';
6075  }
6076
6077  if (typeof config.rb == 'undefined') {
6078    config.rb = {};
6079  }
6080
6081  if (typeof config.dtExample != 'undefined') {
6082    config.dtexample = config.dtExample;
6083    delete config.dtExample;
6084  }
6085
6086  if (typeof config.dtexample == 'undefined') {
6087    config.dtexample = "11/10/2024";
6088  }
6089
6090  if (typeof config.dtCh != 'undefined') {
6091    config.dtch = config.dtCh;
6092    delete config.dtCh;
6093  }
6094
6095  if (typeof config.dtch == 'undefined') {
6096    config.dtch = "/";
6097  }
6098
6099  if (typeof config.dtFormat != 'undefined') {
6100    config.dtformat = config.dtFormat;
6101    delete config.dtFormat;
6102  }
6103
6104  if (typeof config.dtformat == 'undefined') {
6105    config.dtformat = [0, 1, 2];
6106  }
6107
6108  if (typeof config.dtLocale != 'undefined') {
6109    config.dtlocale = config.dtLocale;
6110    delete config.dtLocale;
6111  }
6112
6113  if (typeof config.dtlocale == 'undefined') {
6114    config.dtlocale = "en-US";
6115  }
6116
6117  if (typeof config.useHTML5DateInput != 'undefined') {
6118    config.usehtml5dateinput = config.useHTML5DateInput;
6119    delete config.usehtml5dateinput;
6120  }
6121
6122  if (typeof config.usehtml5dateinput == 'undefined') {
6123    config.usehtml5dateinput = false;
6124  }
6125
6126  if (typeof config.cookieConsentEnabled != 'undefined') {
6127    config.cookieconsentenabled = config.cookieConsentEnabled;
6128    delete config.cookieConsentEnabled;
6129  }
6130
6131  if (typeof config.cookieconsentenabled == 'undefined') {
6132    config.cookieconsentenabled = false;
6133  }
6134
6135  if (typeof config.initialProcessMarkupSelector == 'undefined') {
6136    if (typeof window != 'undefined' && typeof document != 'undefined') {
6137      var initialProcessMarkupSelector = 'document';
6138    } else {
6139      var initialProcessMarkupSelector = '';
6140    }
6141  } else {
6142    var initialProcessMarkupSelector = config.initialProcessMarkupSelector;
6143  }
6144
6145  config.formdata = typeof FormData != 'undefined' ? true : false;
6146  var initForDataOnly = false;
6147
6148  if (typeof config.processMarkup != 'undefined') {
6149    initForDataOnly = typeof config.processMarkup != 'function' && !config.processMarkup;
6150    delete config.processMarkup;
6151  } else if (typeof config.processmarkup != 'undefined') {
6152    initForDataOnly = typeof config.processmarkup != 'function' && !config.processmarkup;
6153    delete config.processmarkup;
6154  }
6155
6156  extend(Mura, config);
6157  Mura.trackingMetadata = {};
6158  Mura.hydrationData = {};
6159
6160  if (typeof config.content != 'undefined' && typeof config.content.get != 'undefined' && config.content.get('displayregions')) {
6161    for (var r in config.content.properties.displayregions) {
6162      if (config.content.properties.displayregions.hasOwnProperty(r)) {
6163        var data = config.content.properties.displayregions[r];
6164
6165        if (typeof data.inherited != 'undefined' && typeof data.inherited.items != 'undefined') {
6166          for (var d in data.inherited.items) {
6167            Mura.hydrationData[data.inherited.items[d].instanceid] = data.inherited.items[d];
6168          }
6169        }
6170
6171        if (typeof data.local != 'undefined' && typeof data.local.items != 'undefined') {
6172          for (var d in data.local.items) {
6173            Mura.hydrationData[data.local.items[d].instanceid] = data.local.items[d];
6174          }
6175        }
6176      }
6177    }
6178  }
6179
6180  Mura.dateformat = generateDateFormat();
6181
6182  if (Mura.mode.toLowerCase() == 'rest') {
6183    Mura.apiEndpoint = Mura.apiEndpoint.replace('/json/', '/rest/');
6184  }
6185
6186  if (typeof window != 'undefined' && typeof window.document != 'undefined') {
6187    if (Array.isArray(window.queuedMuraCmds) && window.queuedMuraCmds.length) {
6188      holdingQueue = window.queuedMuraCmds.concat(holdingQueue);
6189      window.queuedMuraCmds = [];
6190    }
6191
6192    if (Array.isArray(window.queuedMuraPreInitCmds) && window.queuedMuraPreInitCmds.length) {
6193      holdingPreInitQueue = window.queuedMuraPreInitCmds.concat(holdingPreInitQueue);
6194      window.queuedMuraPreInitCmds = [];
6195    }
6196  }
6197
6198  if (!initForDataOnly) {
6199    destroyDisplayObjects();
6200    stopUserStateListener();
6201    Mura(function () {
6202      for (var cmd in holdingPreInitQueue) {
6203        if (typeof holdingPreInitQueue[cmd] == 'function') {
6204          holdingPreInitQueue[cmd](Mura);
6205        }
6206      }
6207
6208      if (typeof window != 'undefined' && typeof window.document != 'undefined') {
6209        var hash = location.hash;
6210
6211        if (hash) {
6212          hash = hash.substring(1);
6213        }
6214
6215        urlparams = setLowerCaseKeys(getQueryStringParams(location.search));
6216
6217        if (hashparams.nextnid) {
6218          Mura('.mura-async-object[data-nextnid="' + hashparams.nextnid + '"]').each(function (el) {
6219            Mura(el).data(hashparams);
6220          });
6221        } else if (hashparams.objectid) {
6222          Mura('.mura-async-object[data-nextnid="' + hashparams.objectid + '"]').each(function (el) {
6223            Mura(el).data(hashparams);
6224          });
6225        }
6226
6227        Mura(window).on('hashchange', handleHashChange);
6228        Mura(document).on('click', 'div.mura-object .mura-next-n a,div.mura-object .mura-search-results div.moreResults a,div.mura-object div.mura-pagination a', function (e) {
6229          e.preventDefault();
6230          var href = Mura(e.target).attr('href');
6231
6232          if (href != '#') {
6233            var hArray = href.split('?');
6234            var source = Mura(e.target);
6235            var data = setLowerCaseKeys(getQueryStringParams(hArray[hArray.length - 1]));
6236            var obj = source.closest('div.mura-object');
6237            obj.data(data);
6238            processAsyncObject(obj.node).then(function () {
6239              try {
6240                if (typeof window != 'undefined' && typeof document != 'undefined') {
6241                  var rect = obj.node.getBoundingClientRect();
6242                  var elemTop = rect.top;
6243
6244                  if (elemTop < 0) {
6245                    window.scrollTo(0, Mura(document).scrollTop() + elemTop);
6246                  }
6247                }
6248              } catch (e) {
6249                console.log(e);
6250              }
6251            });
6252          }
6253        });
6254
6255        if (!Mura.inAdmin && initialProcessMarkupSelector) {
6256          if (initialProcessMarkupSelector == 'document') {
6257            processMarkup(document);
6258          } else {
6259            processMarkup(initialProcessMarkupSelector);
6260          }
6261        }
6262
6263        Mura.markupInitted = true;
6264
6265        if (Mura.cookieconsentenabled) {
6266          Mura(function () {
6267            Mura('body').appendDisplayObject({
6268              object: 'cookie_consent',
6269              queue: false,
6270              statsid: 'cookie_consent'
6271            });
6272          });
6273        }
6274
6275        Mura(document).on("keydown", function (event) {
6276          keyCmdCheck(event);
6277        });
6278        Mura.breakpoint = getBreakpoint();
6279        Mura.windowResponsiveModules = {};
6280        window.addEventListener("resize", function () {
6281          clearTimeout(Mura.windowResizeID);
6282          Mura.windowResizeID = setTimeout(doneResizing, 250);
6283
6284          function doneResizing() {
6285            var breakpoint = getBreakpoint();
6286
6287            if (breakpoint != Mura.breakpoint) {
6288              Mura.breakpoint = breakpoint;
6289              Mura('.mura-object').each(function (el) {
6290                var obj = Mura(el);
6291                var instanceid = obj.data('instanceid');
6292
6293                if (typeof Mura.windowResponsiveModules[instanceid] == 'undefined' || Mura.windowResponsiveModules[instanceid]) {
6294                  obj.calculateDisplayObjectStyles(true);
6295                }
6296              });
6297            }
6298
6299            delete Mura.windowResizeID;
6300          }
6301        });
6302        Mura(document).trigger('muraReady');
6303        pollUserState();
6304      }
6305    });
6306    readyInternal(initReadyQueue);
6307  }
6308
6309  return Mura;
6310}
6311
6312var Mura = extend(function (selector, context) {
6313  if (typeof selector == 'function') {
6314    Mura.ready(selector);
6315    return this;
6316  } else {
6317    if (typeof context == 'undefined') {
6318      return select(selector);
6319    } else {
6320      return select(context).find(selector);
6321    }
6322  }
6323}, {
6324  preInit: function preInit(fn) {
6325    if (holdingReady) {
6326      holdingPreInitQueue.push(fn);
6327    } else {
6328      Mura(fn);
6329    }
6330  },
6331  generateOAuthToken: generateOAuthToken,
6332  entities: {},
6333  feeds: {},
6334  submitForm: submitForm,
6335  escapeHTML: escapeHTML,
6336  unescapeHTML: unescapeHTML,
6337  processDisplayObject: processDisplayObject,
6338  processModule: processModule,
6339  processAsyncObject: processAsyncObject,
6340  resetAsyncObject: resetAsyncObject,
6341  setLowerCaseKeys: setLowerCaseKeys,
6342  throttle: throttle,
6343  debounce: debounce,
6344  noSpam: noSpam,
6345  addLoadEvent: addLoadEvent,
6346  loader: loader,
6347  addEventHandler: addEventHandler,
6348  trigger: trigger,
6349  ready: ready,
6350  on: on,
6351  off: off,
6352  extend: extend,
6353  inArray: inArray,
6354  isNumeric: isNumeric,
6355  post: post,
6356  get: get,
6357  delete: deleteReq,
6358  put: put,
6359  patch: patch,
6360  deepExtend: deepExtend,
6361  ajax: ajax,
6362  request: ajax,
6363  changeElementType: changeElementType,
6364  setHTMLEditor: setHTMLEditor,
6365  each: each,
6366  parseHTML: parseHTML,
6367  getData: getData,
6368  cleanModuleProps: cleanModuleProps,
6369  getProps: getProps,
6370  isEmptyObject: isEmptyObject,
6371  isScrolledIntoView: isScrolledIntoView,
6372  evalScripts: evalScripts,
6373  validateForm: validateForm,
6374  escape: $escape,
6375  unescape: $unescape,
6376  getBean: getEntity,
6377  getEntity: getEntity,
6378  getCurrentUser: getCurrentUser,
6379  renderFilename: renderFilename,
6380  startUserStateListener: startUserStateListener,
6381  stopUserStateListener: stopUserStateListener,
6382  findQuery: findQuery,
6383  getFeed: getFeed,
6384  login: login,
6385  logout: logout,
6386  extendClass: extendClass,
6387  init: init,
6388  formToObject: formToObject,
6389  createUUID: createUUID,
6390  isUUID: isUUID,
6391  processMarkup: processMarkup,
6392  getQueryStringParams: getQueryStringParams,
6393  layoutmanagertoolbar: layoutmanagertoolbar,
6394  parseString: parseString,
6395  createCookie: createCookie,
6396  readCookie: readCookie,
6397  eraseCookie: eraseCookie,
6398  trim: trim,
6399  hashCode: hashCode,
6400  DisplayObject: {},
6401  displayObjectInstances: {},
6402  destroyDisplayObjects: destroyDisplayObjects,
6403  destroyModules: destroyModules,
6404  holdReady: holdReady,
6405  trackEvent: trackEvent,
6406  recordEvent: trackEvent,
6407  isInNode: isInNode,
6408  getRequestContext: getRequestContext,
6409  getDefaultRequestContext: getDefaultRequestContext,
6410  requestHeaders: requestHeaders,
6411  setRequestHeader: setRequestHeader,
6412  getRequestHeader: getRequestHeaders,
6413  getRequestHeaders: getRequestHeaders,
6414  mode: 'json',
6415  declareEntity: declareEntity,
6416  undeclareEntity: undeclareEntity,
6417  buildDisplayRegion: buildDisplayRegion,
6418  openGate: openGate,
6419  firstToUpperCase: firstToUpperCase,
6420  firstToLowerCase: firstToLowerCase,
6421  normalizeRequestHandler: normalizeRequestHandler,
6422  getStyleSheet: getStyleSheet,
6423  getStyleSheetPlaceHolder: getStyleSheetPlaceHolder,
6424  applyModuleStyles: applyModuleStyles,
6425  applyModuleCustomCSS: applyModuleCustomCSS,
6426  recordModuleStyles: recordModuleStyles,
6427  recordModuleClassesAndIds: recordModuleClassesAndIds,
6428  getModuleStyleTargets: getModuleStyleTargets,
6429  getBreakpoint: getBreakpoint,
6430  getAPIEndpoint: getAPIEndpoint,
6431  setAPIEndpoint: setAPIEndpoint,
6432  getMode: getMode,
6433  setMode: setMode,
6434  parseStringAsTemplate: parseStringAsTemplate,
6435  findText: findText,
6436  deInit: deInit,
6437  inAdmin: false,
6438  lmv: 2,
6439  homeid: '00000000000000000000000000000000001',
6440  cloning: false
6441});
6442Mura.Module = Mura.DisplayObject;
6443module.exports = Mura;
6444
6445/***/ }),
6446
6447/***/ 6839:
6448/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
6449
6450function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
6451
6452var Mura = __webpack_require__(791);
6453
6454'use strict';
6455/**
6456 * Creates a new Mura.DOMSelection
6457 * @name	Mura.DOMSelection
6458 * @class
6459 * @param	{object} properties Object containing values to set into object
6460 * @return {Mura.DOMSelection}
6461 * @extends Mura.Core
6462 * @memberof Mura
6463 */
6464
6465/**
6466* @ignore
6467*/
6468
6469
6470Mura.DOMSelection = Mura.Core.extend(
6471/** @lends Mura.DOMSelection.prototype */
6472{
6473  init: function init(selection, origSelector) {
6474    this.selection = selection;
6475    this.origSelector = origSelector;
6476
6477    if (this.selection.length && this.selection[0]) {
6478      this.parentNode = this.selection[0].parentNode;
6479      this.childNodes = this.selection[0].childNodes;
6480      this.node = selection[0];
6481      this.length = this.selection.length;
6482    } else {
6483      this.parentNode = null;
6484      this.childNodes = null;
6485      this.node = null;
6486      this.length = 0;
6487    }
6488
6489    if (typeof Mura.supportPassive == 'undefined') {
6490      Mura.supportsPassive = false;
6491
6492      try {
6493        var opts = Object.defineProperty({}, 'passive', {
6494          get: function get() {
6495            Mura.supportsPassive = true;
6496          }
6497        });
6498        window.addEventListener("testPassive", null, opts);
6499        window.removeEventListener("testPassive", null, opts);
6500      } catch (e) {}
6501    }
6502  },
6503
6504  /**
6505   * get - Deprecated: Returns element at index of selection, use item()
6506   *
6507   * @param	{number} index Index of selection
6508   * @return {*}
6509   */
6510  get: function get(index) {
6511    if (typeof index != 'undefined') {
6512      return this.selection[index];
6513    } else {
6514      return this.selection;
6515    }
6516  },
6517
6518  /**
6519   * select - Returns new Mura.DomSelection
6520   *
6521   * @param	{string} selector Selector
6522   * @return {object}
6523   */
6524  select: function select(selector) {
6525    return Mura(selector);
6526  },
6527
6528  /**
6529   * each - Runs function against each item in selection
6530   *
6531   * @param	{function} fn Method
6532   * @return {Mura.DOMSelection} Self
6533   */
6534  each: function each(fn) {
6535    this.selection.forEach(function (el, idx, array) {
6536      if (typeof fn.call == 'undefined') {
6537        fn(el, idx, array);
6538      } else {
6539        fn.call(el, el, idx, array);
6540      }
6541    });
6542    return this;
6543  },
6544
6545  /**
6546   * each - Runs function against each item in selection
6547   *
6548   * @param	{function} fn Method
6549   * @return {Mura.DOMSelection} Self
6550   */
6551  forEach: function forEach(fn) {
6552    this.selection.forEach(function (el, idx, array) {
6553      if (typeof fn.call == 'undefined') {
6554        fn(el, idx, array);
6555      } else {
6556        fn.call(el, el, idx, array);
6557      }
6558    });
6559    return this;
6560  },
6561
6562  /**
6563   * filter - Creates a new Mura.DomSelection instance contains selection values that pass filter function by returning true
6564   *
6565   * @param	{function} fn Filter function
6566   * @return {object}		New Mura.DOMSelection
6567   */
6568  filter: function filter(fn) {
6569    return Mura(this.selection.filter(function (el, idx, array) {
6570      if (typeof fn.call == 'undefined') {
6571        return fn(el, idx, array);
6572      } else {
6573        return fn.call(el, el, idx, array);
6574      }
6575    }));
6576  },
6577
6578  /**
6579   * map - Creates a new Mura.DomSelection instance contains selection values that are returned by Map function
6580   *
6581   * @param	{function} fn Map function
6582   * @return {object}		New Mura.DOMSelection
6583   */
6584  map: function map(fn) {
6585    return Mura(this.selection.map(function (el, idx, array) {
6586      if (typeof fn.call == 'undefined') {
6587        return fn(el, idx, array);
6588      } else {
6589        return fn.call(el, el, idx, array);
6590      }
6591    }));
6592  },
6593
6594  /**
6595   * reduce - Returns value from	reduce function
6596   *
6597   * @param	{function} fn Reduce function
6598   * @param	{any} initialValue Starting accumulator value
6599   * @return {accumulator}
6600   */
6601  reduce: function reduce(fn, initialValue) {
6602    initialValue = initialValue || 0;
6603    return this.selection.reduce(function (accumulator, item, idx, array) {
6604      if (typeof fn.call == 'undefined') {
6605        return fn(accumulator, item, idx, array);
6606      } else {
6607        return fn.call(item, accumulator, item, idx, array);
6608      }
6609    }, initialValue);
6610  },
6611
6612  /**
6613   * isNumeric - Returns if value is numeric
6614   *
6615   * @param	{*} val Value
6616   * @return {type}		 description
6617   */
6618  isNumeric: function (_isNumeric) {
6619    function isNumeric(_x) {
6620      return _isNumeric.apply(this, arguments);
6621    }
6622
6623    isNumeric.toString = function () {
6624      return _isNumeric.toString();
6625    };
6626
6627    return isNumeric;
6628  }(function (val) {
6629    if (typeof val != 'undefined') {
6630      return isNumeric(val);
6631    }
6632
6633    return isNumeric(this.selection[0]);
6634  }),
6635
6636  /**
6637   * processMarkup - Process Markup of selected dom elements
6638   *
6639   * @return {Promise}
6640   */
6641  processMarkup: function processMarkup() {
6642    var self = this;
6643    return new Promise(function (resolve, reject) {
6644      self.each(function (el) {
6645        Mura.processMarkup(el);
6646      });
6647    });
6648  },
6649
6650  /**
6651   * addEventHandler - Add event event handling object
6652   *
6653   * @param	{string} selector	Selector (optional: for use with delegated events)
6654   * @param	{object} handler				description
6655   * @return {Mura.DOMSelection} Self
6656   */
6657  addEventHandler: function addEventHandler(selector, handler) {
6658    if (typeof handler == 'undefined') {
6659      handler = selector;
6660      selector = '';
6661    }
6662
6663    for (var h in handler) {
6664      if (eventName.hasOwnProperty(h)) {
6665        if (typeof selector == 'string' && selector) {
6666          on(h, selector, handler[h]);
6667        } else {
6668          on(h, handler[h]);
6669        }
6670      }
6671    }
6672
6673    return this;
6674  },
6675
6676  /**
6677   * on - Add event handling method
6678   *
6679   * @param	{string} eventName Event name
6680   * @param	{string} selector	Selector (optional: for use with delegated events)
6681   * @param	{function} fn				description
6682   * @return {Mura.DOMSelection} Self
6683   */
6684  on: function on(eventName, selector, fn, EventListenerOptions) {
6685    if (typeof EventListenerOptions == 'undefined') {
6686      if (typeof fn != 'undefined' && typeof fn != 'function') {
6687        EventListenerOptions = fn;
6688      } else {
6689        EventListenerOptions = true;
6690      }
6691    }
6692
6693    if (eventName == 'touchstart' || eventName == 'end') {
6694      EventListenerOptions = Mura.supportsPassive ? {
6695        passive: true
6696      } : false;
6697    }
6698
6699    if (typeof selector == 'function') {
6700      fn = selector;
6701      selector = '';
6702    }
6703
6704    if (typeof fn === 'undefined') {
6705      return;
6706    }
6707
6708    if (eventName == 'ready') {
6709      if (document.readyState != 'loading') {
6710        var self = this;
6711        setTimeout(function () {
6712          self.each(function (target) {
6713            if (selector) {
6714              Mura(target).find(selector).each(function (target) {
6715                if (typeof fn.call == 'undefined') {
6716                  fn(target);
6717                } else {
6718                  fn.call(target, target);
6719                }
6720              });
6721            } else {
6722              if (typeof fn.call == 'undefined') {
6723                fn(target);
6724              } else {
6725                fn.call(target, target);
6726              }
6727            }
6728          });
6729        }, 1);
6730        return this;
6731      } else {
6732        eventName = 'DOMContentLoaded';
6733      }
6734    }
6735
6736    this.each(function (el) {
6737      if (typeof this.addEventListener == 'function') {
6738        var self = el;
6739        this.addEventListener(eventName, function (event) {
6740          if (selector) {
6741            if (Mura(event.target).is(selector)) {
6742              if (typeof fn.call == 'undefined') {
6743                return fn(event);
6744              } else {
6745                return fn.call(event.target, event);
6746              }
6747            }
6748          } else {
6749            if (typeof fn.call == 'undefined') {
6750              return fn(event);
6751            } else {
6752              return fn.call(self, event);
6753            }
6754          }
6755        }, EventListenerOptions);
6756      }
6757    });
6758    return this;
6759  },
6760
6761  /**
6762   * hover - Adds hovering events to selected dom elements
6763   *
6764   * @param	{function} handlerIn	In method
6765   * @param	{function} handlerOut Out method
6766   * @return {object}						Self
6767   */
6768  hover: function hover(handlerIn, handlerOut, EventListenerOptions) {
6769    if (typeof EventListenerOptions == 'undefined' || EventListenerOptions == null) {
6770      EventListenerOptions = Mura.supportsPassive ? {
6771        passive: true
6772      } : false;
6773    }
6774
6775    this.on('mouseover', handlerIn, EventListenerOptions);
6776    this.on('mouseout', handlerOut, EventListenerOptions);
6777    this.on('touchstart', handlerIn, EventListenerOptions);
6778    this.on('touchend', handlerOut, EventListenerOptions);
6779    return this;
6780  },
6781
6782  /**
6783   * click - Adds onClick event handler to selection
6784   *
6785   * @param	{function} fn Handler function
6786   * @return {Mura.DOMSelection} Self
6787   */
6788  click: function click(fn) {
6789    this.on('click', fn);
6790    return this;
6791  },
6792
6793  /**
6794   * change - Adds onChange event handler to selection
6795   *
6796   * @param	{function} fn Handler function
6797   * @return {Mura.DOMSelection} Self
6798   */
6799  change: function change(fn) {
6800    this.on('change', fn);
6801    return this;
6802  },
6803
6804  /**
6805   * submit - Adds onSubmit event handler to selection
6806   *
6807   * @param	{function} fn Handler function
6808   * @return {Mura.DOMSelection} Self
6809   */
6810  submit: function submit(fn) {
6811    if (fn) {
6812      this.on('submit', fn);
6813    } else {
6814      this.each(function (el) {
6815        if (typeof el.submit == 'function') {
6816          Mura.submitForm(el);
6817        }
6818      });
6819    }
6820
6821    return this;
6822  },
6823
6824  /**
6825   * ready - Adds onReady event handler to selection
6826   *
6827   * @param	{function} fn Handler function
6828   * @return {Mura.DOMSelection} Self
6829   */
6830  ready: function ready(fn) {
6831    this.on('ready', fn);
6832    return this;
6833  },
6834
6835  /**
6836   * off - Removes event handler from selection
6837   *
6838   * @param	{string} eventName Event name
6839   * @param	{function} fn			Function to remove	(optional)
6840   * @return {Mura.DOMSelection} Self
6841   */
6842  off: function off(eventName, fn) {
6843    this.each(function (el, idx, array) {
6844      if (typeof eventName != 'undefined') {
6845        if (typeof fn != 'undefined') {
6846          el.removeEventListener(eventName, fn);
6847        } else {
6848          el[eventName] = null;
6849        }
6850      } else {
6851        if (typeof el.parentElement != 'undefined' && el.parentElement && typeof el.parentElement.replaceChild != 'undefined') {
6852          var elClone = el.cloneNode(true);
6853          el.parentElement.replaceChild(elClone, el);
6854          array[idx] = elClone;
6855        } else {
6856          console.log("Mura: Can not remove all handlers from element without a parent node");
6857        }
6858      }
6859    });
6860    return this;
6861  },
6862
6863  /**
6864   * unbind - Removes event handler from selection
6865   *
6866   * @param	{string} eventName Event name
6867   * @param	{function} fn			Function to remove	(optional)
6868   * @return {Mura.DOMSelection} Self
6869   */
6870  unbind: function unbind(eventName, fn) {
6871    this.off(eventName, fn);
6872    return this;
6873  },
6874
6875  /**
6876   * bind - Add event handling method
6877   *
6878   * @param	{string} eventName Event name
6879   * @param	{string} selector	Selector (optional: for use with delegated events)
6880   * @param	{function} fn				description
6881   * @return {Mura.DOMSelection}					 Self
6882   */
6883  bind: function bind(eventName, fn) {
6884    this.on(eventName, fn);
6885    return this;
6886  },
6887
6888  /**
6889   * trigger - Triggers event on selection
6890   *
6891   * @param	{string} eventName	 Event name
6892   * @param	{object} eventDetail Event properties
6893   * @return {Mura.DOMSelection}						 Self
6894   */
6895  trigger: function trigger(eventName, eventDetail) {
6896    eventDetail = eventDetail || {};
6897    this.each(function (el) {
6898      Mura.trigger(el, eventName, eventDetail);
6899    });
6900    return this;
6901  },
6902
6903  /**
6904   * parent - Return new Mura.DOMSelection of the first elements parent
6905   *
6906   * @return {Mura.DOMSelection}
6907   */
6908  parent: function parent() {
6909    if (!this.selection.length) {
6910      return this;
6911    }
6912
6913    return Mura(this.selection[0].parentNode);
6914  },
6915
6916  /**
6917   * children - Returns new Mura.DOMSelection or the first elements children
6918   *
6919   * @param	{string} selector Filter (optional)
6920   * @return {Mura.DOMSelection}
6921   */
6922  children: function children(selector) {
6923    if (!this.selection.length) {
6924      return this;
6925    }
6926
6927    if (this.selection[0].hasChildNodes()) {
6928      var children = Mura(this.selection[0].childNodes);
6929
6930      if (typeof selector == 'string') {
6931        var filterFn = function filterFn(el) {
6932          return (el.nodeType === 1 || el.nodeType === 11 || el.nodeType === 9) && el.matchesSelector(selector);
6933        };
6934      } else {
6935        var filterFn = function filterFn(el) {
6936          return el.nodeType === 1 || el.nodeType === 11 || el.nodeType === 9;
6937        };
6938      }
6939
6940      return children.filter(filterFn);
6941    } else {
6942      return Mura([]);
6943    }
6944  },
6945
6946  /**
6947   * find - Returns new Mura.DOMSelection matching items under the first selection
6948   *
6949   * @param	{string} selector Selector
6950   * @return {Mura.DOMSelection}
6951   */
6952  find: function find(selector) {
6953    if (this.selection.length && this.selection[0]) {
6954      var removeId = false;
6955
6956      if (this.selection[0].nodeType == '1' || this.selection[0].nodeType == '11') {
6957        var result = this.selection[0].querySelectorAll(selector);
6958      } else if (this.selection[0].nodeType == '9') {
6959        var result = document.querySelectorAll(selector);
6960      } else {
6961        var result = [];
6962      }
6963
6964      return Mura(result);
6965    } else {
6966      return Mura([]);
6967    }
6968  },
6969
6970  /**
6971   * first - Returns first item in selection
6972   *
6973   * @return {*}
6974   */
6975  first: function first() {
6976    if (this.selection.length) {
6977      return Mura(this.selection[0]);
6978    } else {
6979      return Mura([]);
6980    }
6981  },
6982
6983  /**
6984   * last - Returns last item in selection
6985   *
6986   * @return {*}
6987   */
6988  last: function last() {
6989    if (this.selection.length) {
6990      return Mura(this.selection[this.selection.length - 1]);
6991    } else {
6992      return Mura([]);
6993    }
6994  },
6995
6996  /**
6997   * selector - Returns css selector for first item in selection
6998   *
6999   * @return {string}
7000   */
7001  selector: function selector() {
7002    var pathes = [];
7003    var path,
7004        node = Mura(this.selection[0]);
7005
7006    while (node.length) {
7007      var realNode = node.get(0),
7008          name = realNode.localName;
7009
7010      if (!name) {
7011        break;
7012      }
7013
7014      if (!node.data('hastempid') && node.attr('id') && node.attr('id') != 'mura-variation-el') {
7015        name = '#' + node.attr('id');
7016        path = name + (path ? ' > ' + path : '');
7017        break;
7018      } else if (node.data('instanceid')) {
7019        name = '[data-instanceid="' + node.data('instanceid') + '"]';
7020        path = name + (path ? ' > ' + path : '');
7021        break;
7022      } else {
7023        name = name.toLowerCase();
7024        var parent = node.parent();
7025        var sameTagSiblings = parent.children(name);
7026
7027        if (sameTagSiblings.length > 1) {
7028          var allSiblings = parent.children();
7029          var index = allSiblings.index(realNode) + 1;
7030
7031          if (index > 0) {
7032            name += ':nth-child(' + index + ')';
7033          }
7034        }
7035
7036        path = name + (path ? ' > ' + path : '');
7037        node = parent;
7038      }
7039    }
7040
7041    pathes.push(path);
7042    return pathes.join(',');
7043  },
7044
7045  /**
7046   * siblings - Returns new Mura.DOMSelection of first item's siblings
7047   *
7048   * @param	{string} selector Selector to filter siblings (optional)
7049   * @return {Mura.DOMSelection}
7050   */
7051  siblings: function siblings(selector) {
7052    if (!this.selection.length) {
7053      return this;
7054    }
7055
7056    var el = this.selection[0];
7057
7058    if (el.hasChildNodes()) {
7059      var silbings = Mura(this.selection[0].childNodes);
7060
7061      if (typeof selector == 'string') {
7062        var filterFn = function filterFn(el) {
7063          return (el.nodeType === 1 || el.nodeType === 11 || el.nodeType === 9) && el.matchesSelector(selector);
7064        };
7065      } else {
7066        var filterFn = function filterFn(el) {
7067          return el.nodeType === 1 || el.nodeType === 11 || el.nodeType === 9;
7068        };
7069      }
7070
7071      return silbings.filter(filterFn);
7072    } else {
7073      return Mura([]);
7074    }
7075  },
7076
7077  /**
7078   * item - Returns item at selected index
7079   *
7080   * @param	{number} idx Index to return
7081   * @return {*}
7082   */
7083  item: function item(idx) {
7084    return this.selection[idx];
7085  },
7086
7087  /**
7088   * index - Returns the index of element
7089   *
7090   * @param	{*} el Element to return index of
7091   * @return {*}
7092   */
7093  index: function index(el) {
7094    return this.selection.indexOf(el);
7095  },
7096
7097  /**
7098   * indexOf - Returns the index of element
7099   *
7100   * @param	{*} el Element to return index of
7101   * @return {*}
7102   */
7103  indexOf: function indexOf(el) {
7104    return this.selection.indexOf(el);
7105  },
7106
7107  /**
7108   * closest - Returns new Mura.DOMSelection of closest parent matching selector
7109   *
7110   * @param	{string} selector Selector
7111   * @return {Mura.DOMSelection}
7112   */
7113  closest: function closest(selector) {
7114    if (!this.selection.length) {
7115      return null;
7116    }
7117
7118    var el = this.selection[0];
7119
7120    for (var parent = el; parent !== null && parent.matchesSelector && !parent.matchesSelector(selector); parent = el.parentElement) {
7121      el = parent;
7122    }
7123
7124    ;
7125
7126    if (parent) {
7127      return Mura(parent);
7128    } else {
7129      return Mura([]);
7130    }
7131  },
7132
7133  /**
7134   * append - Appends element to items in selection
7135   *
7136   * @param	{*} el Element to append
7137   * @return {Mura.DOMSelection} Self
7138   */
7139  append: function append(el) {
7140    this.each(function (target) {
7141      try {
7142        if (typeof el == 'string') {
7143          target.insertAdjacentHTML('beforeend', el);
7144        } else {
7145          target.appendChild(el);
7146        }
7147      } catch (e) {
7148        console.log(e);
7149      }
7150    });
7151    return this;
7152  },
7153
7154  /**
7155   * appendDisplayObject - Appends display object to selected items
7156   *
7157   * @param	{object} data Display objectparams (including object='objectkey')
7158   * @return {Promise}
7159   */
7160  appendDisplayObject: function appendDisplayObject(data) {
7161    var self = this;
7162    delete data.method;
7163
7164    if (typeof data.transient == 'undefined') {
7165      data.transient = true;
7166    }
7167
7168    return new Promise(function (resolve, reject) {
7169      self.each(function (target) {
7170        var el = document.createElement('div');
7171        el.setAttribute('class', 'mura-object');
7172        var preserveid = false;
7173
7174        for (var a in data) {
7175          if (_typeof(data[a]) == 'object') {
7176            el.setAttribute('data-' + a, JSON.stringify(data[a]));
7177          } else if (a != 'preserveid') {
7178            el.setAttribute('data-' + a, data[a]);
7179          } else {
7180            preserveid = data[a];
7181          }
7182        }
7183
7184        if (typeof data.async == 'undefined') {
7185          el.setAttribute('data-async', true);
7186        }
7187
7188        if (typeof data.render == 'undefined') {
7189          el.setAttribute('data-render', 'server');
7190        }
7191
7192        if (preserveid && Mura.isUUID(data.instanceid)) {
7193          el.setAttribute('data-instanceid', data.instanceid);
7194        } else {
7195          el.setAttribute('data-instanceid', Mura.createUUID());
7196        }
7197
7198        var self = target;
7199
7200        function watcher() {
7201          if (Mura.markupInitted) {
7202            Mura(self).append(el);
7203            Mura.processDisplayObject(el, true, true).then(resolve, reject);
7204          } else {
7205            setTimeout(watcher);
7206          }
7207        }
7208
7209        watcher();
7210      });
7211    });
7212  },
7213
7214  /**
7215   * appendModule - Appends display object to selected items
7216   *
7217   * @param	{object} data Display objectparams (including object='objectkey')
7218   * @return {Promise}
7219   */
7220  appendModule: function appendModule(data) {
7221    return this.appendDisplayObject(data);
7222  },
7223
7224  /**
7225   * insertDisplayObjectAfter - Inserts display object after selected items
7226   *
7227   * @param	{object} data Display objectparams (including object='objectkey')
7228   * @return {Promise}
7229   */
7230  insertDisplayObjectAfter: function insertDisplayObjectAfter(data) {
7231    var self = this;
7232    delete data.method;
7233
7234    if (typeof data.transient == 'undefined') {
7235      data.transient = true;
7236    }
7237
7238    return new Promise(function (resolve, reject) {
7239      self.each(function (target) {
7240        var el = document.createElement('div');
7241        el.setAttribute('class', 'mura-object');
7242        var preserveid = false;
7243
7244        for (var a in data) {
7245          if (_typeof(data[a]) == 'object') {
7246            el.setAttribute('data-' + a, JSON.stringify(data[a]));
7247          } else if (a != 'preserveid') {
7248            el.setAttribute('data-' + a, data[a]);
7249          } else {
7250            preserveid = data[a];
7251          }
7252        }
7253
7254        if (typeof data.async == 'undefined') {
7255          el.setAttribute('data-async', true);
7256        }
7257
7258        if (typeof data.render == 'undefined') {
7259          el.setAttribute('data-render', 'server');
7260        }
7261
7262        if (preserveid && Mura.isUUID(data.instanceid)) {
7263          el.setAttribute('data-instanceid', data.instanceid);
7264        } else {
7265          el.setAttribute('data-instanceid', Mura.createUUID());
7266        }
7267
7268        var self = target;
7269
7270        function watcher() {
7271          if (Mura.markupInitted) {
7272            Mura(self).after(el);
7273            Mura.processDisplayObject(el, true, true).then(resolve, reject);
7274          } else {
7275            setTimeout(watcher);
7276          }
7277        }
7278
7279        watcher();
7280      });
7281    });
7282  },
7283
7284  /**
7285   * insertModuleAfter - Appends display object to selected items
7286   *
7287   * @param	{object} data Display objectparams (including object='objectkey')
7288   * @return {Promise}
7289   */
7290  insertModuleAfter: function insertModuleAfter(data) {
7291    return this.insertDisplayObjectAfter(data);
7292  },
7293
7294  /**
7295   * insertDisplayObjectBefore - Inserts display object after selected items
7296   *
7297   * @param	{object}
7297 data Display objectparams (including object='objectkey')
7298   * @return {Promise}
7299   */
7300  insertDisplayObjectBefore: function insertDisplayObjectBefore(data) {
7301    var self = this;
7302    delete data.method;
7303
7304    if (typeof data.transient == 'undefined') {
7305      data.transient = true;
7306    }
7307
7308    return new Promise(function (resolve, reject) {
7309      self.each(function (target) {
7310        var el = document.createElement('div');
7311        el.setAttribute('class', 'mura-object');
7312        var preserveid = false;
7313
7314        for (var a in data) {
7315          if (_typeof(data[a]) == 'object') {
7316            el.setAttribute('data-' + a, JSON.stringify(data[a]));
7317          } else if (a != 'preserveid') {
7318            el.setAttribute('data-' + a, data[a]);
7319          } else {
7320            preserveid = data[a];
7321          }
7322        }
7323
7324        if (typeof data.async == 'undefined') {
7325          el.setAttribute('data-async', true);
7326        }
7327
7328        if (typeof data.render == 'undefined') {
7329          el.setAttribute('data-render', 'server');
7330        }
7331
7332        if (preserveid && Mura.isUUID(data.instanceid)) {
7333          el.setAttribute('data-instanceid', data.instanceid);
7334        } else {
7335          el.setAttribute('data-instanceid', Mura.createUUID());
7336        }
7337
7338        var self = target;
7339
7340        function watcher() {
7341          if (Mura.markupInitted) {
7342            Mura(self).before(el);
7343            Mura.processDisplayObject(el, true, true).then(resolve, reject);
7344          } else {
7345            setTimeout(watcher);
7346          }
7347        }
7348
7349        watcher();
7350      });
7351    });
7352  },
7353
7354  /**
7355   * insertModuleBefore - Appends display object to selected items
7356   *
7357   * @param	{object} data Display objectparams (including object='objectkey')
7358   * @return {Promise}
7359   */
7360  insertModuleBefore: function insertModuleBefore(data) {
7361    return this.insertDisplayObjectBefore(data);
7362  },
7363
7364  /**
7365   * prependDisplayObject - Prepends display object to selected items
7366   *
7367   * @param	{object} data Display objectparams (including object='objectkey')
7368   * @return {Promise}
7369   */
7370  prependDisplayObject: function prependDisplayObject(data) {
7371    var self = this;
7372    delete data.method;
7373
7374    if (typeof data.transient == 'undefined') {
7375      data.transient = true;
7376    }
7377
7378    return new Promise(function (resolve, reject) {
7379      self.each(function (target) {
7380        var el = document.createElement('div');
7381        el.setAttribute('class', 'mura-object');
7382        var preserveid = false;
7383
7384        for (var a in data) {
7385          if (_typeof(data[a]) == 'object') {
7386            el.setAttribute('data-' + a, JSON.stringify(data[a]));
7387          } else if (a != 'preserveid') {
7388            el.setAttribute('data-' + a, data[a]);
7389          } else {
7390            preserveid = data[a];
7391          }
7392        }
7393
7394        if (typeof data.async == 'undefined') {
7395          el.setAttribute('data-async', true);
7396        }
7397
7398        if (typeof data.render == 'undefined') {
7399          el.setAttribute('data-render', 'server');
7400        }
7401
7402        if (preserveid && Mura.isUUID(data.instanceid)) {
7403          el.setAttribute('data-instanceid', data.instanceid);
7404        } else {
7405          el.setAttribute('data-instanceid', Mura.createUUID());
7406        }
7407
7408        var self = target;
7409
7410        function watcher() {
7411          if (Mura.markupInitted) {
7412            Mura(self).prepend(el);
7413            Mura.processDisplayObject(el, true, true).then(resolve, reject);
7414          } else {
7415            setTimeout(watcher);
7416          }
7417        }
7418
7419        watcher();
7420      });
7421    });
7422  },
7423
7424  /**
7425   * prependModule - Prepends display object to selected items
7426   *
7427   * @param	{object} data Display objectparams (including object='objectkey')
7428   * @return {Promise}
7429   */
7430  prependModule: function prependModule(data) {
7431    return this.prependDisplayObject(data);
7432  },
7433
7434  /**
7435   * processDisplayObject - Handles processing of display object params to selection
7436   *
7437   * @return {Promise}
7438   */
7439  processDisplayObject: function processDisplayObject() {
7440    var self = this;
7441    return new Promise(function (resolve, reject) {
7442      self.each(function (target) {
7443        Mura.processDisplayObject(target, true, true).then(resolve, reject);
7444      });
7445    });
7446  },
7447
7448  /**
7449   * processModule - Prepends display object to selected items
7450   *
7451   * @return {Promise}
7452   */
7453  processModule: function processModule() {
7454    return this.processDisplayObject();
7455  },
7456
7457  /**
7458   * prepend - Prepends element to items in selection
7459   *
7460   * @param	{*} el Element to append
7461   * @return {Mura.DOMSelection} Self
7462   */
7463  prepend: function prepend(el) {
7464    this.each(function (target) {
7465      try {
7466        if (typeof el == 'string') {
7467          target.insertAdjacentHTML('afterbegin', el);
7468        } else {
7469          target.insertBefore(el, target.firstChild);
7470        }
7471      } catch (e) {
7472        console.log(e);
7473      }
7474    });
7475    return this;
7476  },
7477
7478  /**
7479   * before - Inserts element before items in selection
7480   *
7481   * @param	{*} el Element to append
7482   * @return {Mura.DOMSelection} Self
7483   */
7484  before: function before(el) {
7485    this.each(function (target) {
7486      try {
7487        if (typeof el == 'string') {
7488          target.insertAdjacentHTML('beforebegin', el);
7489        } else {
7490          target.parentNode.insertBefore(el, target);
7491        }
7492      } catch (e) {
7493        console.log(e);
7494      }
7495    });
7496    return this;
7497  },
7498
7499  /**
7500   * after - Inserts element after items in selection
7501   *
7502   * @param	{*} el Element to append
7503   * @return {Mura.DOMSelection} Self
7504   */
7505  after: function after(el) {
7506    this.each(function (target) {
7507      try {
7508        if (typeof el == 'string') {
7509          target.insertAdjacentHTML('afterend', el);
7510        } else {
7511          if (target.nextSibling) {
7512            target.parentNode.insertBefore(el, target.nextSibling);
7513          } else {
7514            target.parentNode.appendChild(el);
7515          }
7516        }
7517      } catch (e) {
7518        console.log(e);
7519      }
7520    });
7521    return this;
7522  },
7523
7524  /**
7525   * hide - Hides elements in selection
7526   *
7527   * @return {object}	Self
7528   */
7529  hide: function hide() {
7530    this.each(function (el) {
7531      el.style.display = 'none';
7532    });
7533    return this;
7534  },
7535
7536  /**
7537   * show - Shows elements in selection
7538   *
7539   * @return {object}	Self
7540   */
7541  show: function show() {
7542    this.each(function (el) {
7543      el.style.display = '';
7544    });
7545    return this;
7546  },
7547
7548  /**
7549   * repaint - repaints elements in selection
7550   *
7551   * @return {object}	Self
7552   */
7553  redraw: function redraw() {
7554    this.each(function (el) {
7555      var elm = Mura(el);
7556      setTimeout(function () {
7557        elm.show();
7558      }, 1);
7559    });
7560    return this;
7561  },
7562
7563  /**
7564   * remove - Removes elements in selection
7565   *
7566   * @return {object}	Self
7567   */
7568  remove: function remove() {
7569    this.each(function (el) {
7570      el.parentNode && el.parentNode.removeChild(el);
7571    });
7572    return this;
7573  },
7574
7575  /**
7576   * detach - Detaches elements in selection
7577   *
7578   * @return {object}	Self
7579   */
7580  detach: function detach() {
7581    var detached = [];
7582    this.each(function (el) {
7583      el.parentNode && detached.push(el.parentNode.removeChild(el));
7584    });
7585    return Mura(detached);
7586  },
7587
7588  /**
7589   * addClass - Adds class to elements in selection
7590   *
7591   * @param	{string} className Name of class
7592   * @return {Mura.DOMSelection} Self
7593   */
7594  addClass: function addClass(className) {
7595    if (className.length) {
7596      this.each(function (el) {
7597        if (el.classList) {
7598          el.classList.add(className);
7599        } else {
7600          el.className += ' ' + className;
7601        }
7602      });
7603    }
7604
7605    return this;
7606  },
7607
7608  /**
7609   * hasClass - Returns if the first element in selection has class
7610   *
7611   * @param	{string} className Class name
7612   * @return {Mura.DOMSelection} Self
7613   */
7614  hasClass: function hasClass(className) {
7615    return this.is("." + className);
7616  },
7617
7618  /**
7619   * removeClass - Removes class from elements in selection
7620   *
7621   * @param	{string} className Class name
7622   * @return {Mura.DOMSelection} Self
7623   */
7624  removeClass: function removeClass(className) {
7625    this.each(function (el) {
7626      if (el.classList) {
7627        el.classList.remove(className);
7628      } else if (el.className) {
7629        el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
7630      }
7631    });
7632    return this;
7633  },
7634
7635  /**
7636   * toggleClass - Toggles class on elements in selection
7637   *
7638   * @param	{string} className Class name
7639   * @return {Mura.DOMSelection} Self
7640   */
7641  toggleClass: function toggleClass(className) {
7642    this.each(function (el) {
7643      if (el.classList) {
7644        el.classList.toggle(className);
7645      } else {
7646        var classes = el.className.split(' ');
7647        var existingIndex = classes.indexOf(className);
7648        if (existingIndex >= 0) classes.splice(existingIndex, 1);else classes.push(className);
7649        el.className = classes.join(' ');
7650      }
7651    });
7652    return this;
7653  },
7654
7655  /**
7656   * empty - Removes content from elements in selection
7657   *
7658   * @return {object}	Self
7659   */
7660  empty: function empty() {
7661    this.each(function (el) {
7662      el.innerHTML = '';
7663    });
7664    return this;
7665  },
7666
7667  /**
7668   * evalScripts - Evaluates script tags in selection elements
7669   *
7670   * @return {object}	Self
7671   */
7672  evalScripts: function evalScripts() {
7673    if (!this.selection.length) {
7674      return this;
7675    }
7676
7677    this.each(function (el) {
7678      Mura.evalScripts(el);
7679    });
7680    return this;
7681  },
7682
7683  /**
7684   * html - Returns or sets HTML of elements in selection
7685   *
7686   * @param	{string} htmlString description
7687   * @return {object}						Self
7688   */
7689  html: function html(htmlString) {
7690    if (typeof htmlString != 'undefined') {
7691      this.each(function (el) {
7692        el.innerHTML = htmlString;
7693        Mura.evalScripts(el);
7694      });
7695      return this;
7696    } else {
7697      if (!this.selection.length) {
7698        return '';
7699      }
7700
7701      return this.selection[0].innerHTML;
7702    }
7703  },
7704
7705  /**
7706   * css - Sets css value for elements in selection
7707   *
7708   * @param	{string} ruleName Css rule name
7709   * @param	{string} value		Rule value
7710   * @return {object}					Self
7711   */
7712  css: function css(ruleName, value) {
7713    if (!this.selection.length) {
7714      return this;
7715    }
7716
7717    if (typeof ruleName == 'undefined' && typeof value == 'undefined') {
7718      try {
7719        return getComputedStyle(this.selection[0]);
7720      } catch (e) {
7721        console.log(e);
7722        return {};
7723      }
7724    } else if (_typeof(ruleName) == 'object') {
7725      this.each(function (el) {
7726        try {
7727          for (var p in ruleName) {
7728            el.style[Mura.styleMap.tojs[p.toLowerCase()]] = ruleName[p];
7729          }
7730        } catch (e) {
7731          console.log(e);
7732        }
7733      });
7734    } else if (typeof value != 'undefined') {
7735      this.each(function (el) {
7736        try {
7737          el.style[Mura.styleMap.tojs[ruleName.toLowerCase()]] = value;
7738        } catch (e) {
7739          console.log(e);
7740        }
7741      });
7742      return this;
7743    } else {
7744      try {
7745        return getComputedStyle(this.selection[0])[Mura.styleMap.tojs[ruleName.toLowerCase()]];
7746      } catch (e) {
7747        console.log(e);
7748      }
7749    }
7750
7751    return this;
7752  },
7753
7754  /**
7755   * calculateDisplayObjectStyles - Looks at data attrs and sets appropriate styles
7756   *
7757   * @return {object}	Self
7758   */
7759  calculateDisplayObjectStyles: function calculateDisplayObjectStyles(windowResponse) {
7760    this.each(function (el) {
7761      var breakpoints = ['mura-xs', 'mura-sm', 'mura-md', 'mura-lg', 'mura-xl'];
7762      var objBreakpoint = 'mura-sm';
7763      var obj = Mura(el);
7764
7765      for (var b = 0; b < breakpoints.length; b++) {
7766        if (obj.is('.' + breakpoints[b])) {
7767          objBreakpoint = breakpoints[b];
7768          break;
7769        }
7770      }
7771
7772      var styleTargets = Mura.getModuleStyleTargets(obj.data('instanceid'), true);
7773      var fullsize = breakpoints.indexOf('mura-' + Mura.getBreakpoint()) >= breakpoints.indexOf(objBreakpoint);
7774      Mura.windowResponsiveModules = Mura.windowResponsiveModules || {};
7775      Mura.windowResponsiveModules[obj.data('instanceid')] = false;
7776      obj = obj.node ? obj : Mura(obj);
7777
7778      if (!windowResponse) {
7779        applyObjectClassesAndId(obj);
7780      }
7781
7782      var styleSupport = obj.data('stylesupport') || {};
7783
7784      if (typeof styleSupport == 'string') {
7785        try {
7786          styleSupport = JSON.parse.call(null, styleSupport);
7787        } catch (e) {
7788          styleSupport = {};
7789        }
7790
7791        if (typeof styleSupport == 'string') {
7792          styleSupport = {};
7793        }
7794      }
7795
7796      obj.removeAttr('style');
7797
7798      if (!fullsize) {
7799        if (styleSupport && _typeof(styleSupport.objectstyles) == 'object') {
7800          var objectstyles = styleSupport.objectstyles;
7801          delete objectstyles.margin;
7802          delete objectstyles.marginLeft;
7803          delete objectstyles.marginRight;
7804          delete objectstyles.marginTop;
7805          delete objectstyles.marginBottom;
7806        }
7807      }
7808
7809      if (!fullsize || fullsize && !(obj.css('marginTop') == '0px' && obj.css('marginBottom') == '0px' && obj.css('marginLeft') == '0px' && obj.css('marginRight') == '0px')) {
7810        Mura.windowResponsiveModules[obj.data('instanceid')] = true;
7811      }
7812
7813      if (!windowResponse) {
7814        var sheet = Mura.getStyleSheet('mura-styles-' + obj.data('instanceid'));
7815
7816        while (sheet.cssRules.length) {
7817          sheet.deleteRule(0);
7818        }
7819
7820        Mura.applyModuleStyles(styleSupport, styleTargets.object, sheet, obj);
7821        Mura.applyModuleCustomCSS(styleSupport, sheet, obj.data('instanceid'));
7822      }
7823
7824      var metaWrapper = obj.children('.mura-object-meta-wrapper');
7825
7826      if (metaWrapper.length) {
7827        styleSupport.metastyles = styleSupport.metastyles || {};
7828        var meta = metaWrapper.children('.mura-object-meta');
7829
7830        if (meta.length) {
7831          meta.removeAttr('style');
7832
7833          if (!windowResponse) {
7834            applyMetaClassesAndId(obj, meta, metaWrapper);
7835            Mura.applyModuleStyles(styleSupport, styleTargets.meta, sheet, obj);
7836          }
7837        }
7838      }
7839
7840      var content = obj.children('.mura-object-content').first();
7841      content.removeAttr('style');
7842
7843      if (!windowResponse) {
7844        applyContentClassesAndId(obj, content, metaWrapper);
7845        Mura.applyModuleStyles(styleSupport, styleTargets.content, sheet, obj);
7846      }
7847
7848      applyMarginWidthOffset(obj);
7849      pinUIToolsToTopLeft(obj);
7850
7851      function applyObjectClassesAndId(obj) {
7852        if (obj.data('class')) {
7853          var classes = obj.data('class');
7854
7855          if (typeof classes != 'Array') {
7856            var classes = classes.split(' ');
7857          }
7858
7859          for (var c = 0; c < classes.length; c++) {
7860            if (!obj.hasClass(classes[c])) {
7861              obj.addClass(classes[c]);
7862            }
7863          }
7864        }
7865
7866        if (obj.data('cssclass')) {
7867          var classes = obj.data('cssclass');
7868
7869          if (typeof classes != 'array') {
7870            var classes = classes.split(' ');
7871          }
7872
7873          for (var c = 0; c < classes.length; c++) {
7874            if (!obj.hasClass(classes[c])) {
7875              obj.addClass(classes[c]);
7876            }
7877          }
7878        }
7879
7880        if (obj.data('objectspacing')) {
7881          var classes = obj.data('objectspacing');
7882
7883          if (typeof classes != 'array') {
7884            var classes = classes.split(' ');
7885          }
7886
7887          for (var c = 0; c < classes.length; c++) {
7888            if (c != 'custom' && !obj.hasClass(classes[c])) {
7889              obj.addClass(classes[c]);
7890            }
7891          }
7892        }
7893
7894        if (obj.data('cssid')) {
7895          obj.attr('id', obj.data('cssid'));
7896        } else {
7897          obj.removeAttr('id');
7898        }
7899      }
7900
7901      function applyMetaClassesAndId(obj, meta, metawrapper) {
7902        if (obj.data('metacssid')) {
7903          meta.attr('id', obj.data('metacssid'));
7904        } else {
7905          meta.removeAttr('id');
7906        }
7907
7908        if (obj.data('metacssclass')) {
7909          obj.data('metacssclass').split(' ').forEach(function (c) {
7910            if (!meta.hasClass(c)) {
7911              meta.addClass(c);
7912            }
7913          });
7914        }
7915
7916        if (obj.data('metaspacing')) {
7917          var classes = obj.data('metaspacing');
7918
7919          if (typeof classes != 'array') {
7920            var classes = classes.split(' ');
7921          }
7922
7923          for (var c = 0; c < classes.length; c++) {
7924            if (c != 'custom' && !meta.hasClass(classes[c])) {
7925              meta.addClass(classes[c]);
7926            }
7927          }
7928        }
7929
7930        if (obj.is('.mura-object-label-left, .mura-object-label-right')) {
7931          var left = meta.css('marginLeft');
7932          var right = meta.css('marginRight');
7933
7934          if (!(left == '0px' && right == '0px') && left.charAt(0) != "-" && right.charAt(0) != "-") {
7935            meta.css('width', 'calc(50% - (' + left + ' + ' + right + '))');
7936          }
7937        }
7938      }
7939
7940      function applyContentClassesAndId(obj, content, metaWrapper) {
7941        if (obj.data('contentcssid')) {
7942          content.attr('id', obj.data('contentcssid'));
7943        } else {
7944          content.removeAttr('id');
7945        }
7946
7947        if (obj.data('contentcssclass')) {
7948          obj.data('contentcssclass').split(' ').forEach(function (c) {
7949            if (!content.hasClass(c)) {
7950              content.addClass(c);
7951            }
7952          });
7953        }
7954
7955        if (obj.data('contentspacing')) {
7956          var classes = obj.data('contentspacing');
7957
7958          if (typeof classes != 'array') {
7959            var classes = classes.split(' ');
7960          }
7961
7962          for (var c = 0; c < classes.length; c++) {
7963            if (c != 'custom' && !content.hasClass(classes[c])) {
7964              content.addClass(classes[c]);
7965            }
7966          }
7967        }
7968
7969        if (content.hasClass('container')) {
7970          metaWrapper.addClass('container');
7971        } else {
7972          metaWrapper.removeClass('container');
7973        }
7974
7975        if (obj.is('.mura-object-label-left, .mura-object-label-right')) {
7976          var left = content.css('marginLeft');
7977          var right = content.css('marginRight');
7978
7979          if (!(left == '0px' && right == '0px') && left.charAt(0) != "-" && right.charAt(0) != "-") {
7980            if (fullsize) {
7981              content.css('width', 'calc(50% - (' + left + ' + ' + right + '))');
7982            }
7983
7984            Mura.windowResponsiveModules[obj.data('instanceid')] = true;
7985          }
7986        }
7987      }
7988
7989      function applyMarginWidthOffset(obj) {
7990        var left = obj.css('marginLeft');
7991        var right = obj.css('marginRight');
7992
7993        if (!obj.is('.mura-center') && !(left == '0px' && right == '0px') && !(left == 'auto' || right == 'auto') && left.charAt(0) != "-" && right.charAt(0) != "-") {
7994          if (fullsize) {
7995            var width = '100%';
7996
7997            if (obj.is('.mura-one')) {
7998              width = '8.33%';
7999            } else if (obj.is('.mura-two')) {
8000              width = '16.66%';
8001            } else if (obj.is('.mura-three')) {
8002              width = '25%';
8003            } else if (obj.is('.mura-four')) {
8004              width = '33.33%';
8005            } else if (obj.is('.mura-five')) {
8006              width = '41.66%';
8007            } else if (obj.is('.mura-six')) {
8008              width = '50%';
8009            } else if (obj.is('.mura-seven')) {
8010              width = '58.33';
8011            } else if (obj.is('.mura-eight')) {
8012              width = '66.66%';
8013            } else if (obj.is('.mura-nine')) {
8014              width = '75%';
8015            } else if (obj.is('.mura-ten')) {
8016              width = '83.33%';
8017            } else if (obj.is('.mura-eleven')) {
8018              width = '91.66%';
8019            } else if (obj.is('.mura-twelve')) {
8020              width = '100%';
8021            } else if (obj.is('.mura-one-third')) {
8022              width = '33.33%';
8023            } else if (obj.is('.mura-two-thirds')) {
8024              width = '66.66%';
8025            } else if (obj.is('.mura-one-half')) {
8026              width = '50%';
8027            } else {
8028              width = '100%';
8029            }
8030
8031            obj.css('width', 'calc(' + width + ' - (' + left + ' + ' + right + '))');
8032          }
8033
8034          Mura.windowResponsiveModules[obj.data('instanceid')] = true;
8035        }
8036      }
8037
8038      function pinUIToolsToTopLeft(obj) {
8039        if (obj.css('paddingTop').replace(/[^0-9]/g, '') != '0' || obj.css('paddingLeft').replace(/[^0-9]/g, '') != '0') {
8040          obj.addClass('mura-object-pin-tools');
8041        } else {
8042          obj.removeClass('mura-object-pin-tools');
8043        }
8044      }
8045    });
8046    return this;
8047  },
8048
8049  /**
8050   * text - Gets or sets the text content of each element in the selection
8051   *
8052   * @param	{string} textString Text string
8053   * @return {object}						Self
8054   */
8055  text: function text(textString) {
8056    if (typeof textString != 'undefined') {
8057      this.each(function (el) {
8058        el.textContent = textString;
8059      });
8060      return this;
8061    } else {
8062      return this.selection[0].textContent;
8063    }
8064  },
8065
8066  /**
8067   * is - Returns if the first element in the select matches the selector
8068   *
8069   * @param	{string} selector description
8070   * @return {boolean}
8071   */
8072  is: function is(selector) {
8073    if (!this.selection.length) {
8074      return false;
8075    }
8076
8077    try {
8078      if (typeof this.selection[0] !== "undefined") {
8079        return this.selection[0].matchesSelector && this.selection[0].matchesSelector(selector);
8080      } else {
8081        return false;
8082      }
8083    } catch (e) {
8084      return false;
8085    }
8086  },
8087
8088  /**
8089   * hasAttr - Returns is the first element in the selection has an attribute
8090   *
8091   * @param	{string} attributeName description
8092   * @return {boolean}
8093   */
8094  hasAttr: function hasAttr(attributeName) {
8095    if (!this.selection.length) {
8096      return false;
8097    }
8098
8099    return typeof this.selection[0].hasAttribute == 'function' && this.selection[0].hasAttribute(attributeName);
8100  },
8101
8102  /**
8103   * hasData - Returns if the first element in the selection has data attribute
8104   *
8105   * @param	{sting} attributeName Data atttribute name
8106   * @return {boolean}
8107   */
8108  hasData: function hasData(attributeName) {
8109    if (!this.selection.length) {
8110      return false;
8111    }
8112
8113    return this.hasAttr('data-' + attributeName);
8114  },
8115
8116  /**
8117   * offsetParent - Returns first element in selection's offsetParent
8118   *
8119   * @return {object}	offsetParent
8120   */
8121  offsetParent: function offsetParent() {
8122    if (!this.selection.length) {
8123      return this;
8124    }
8125
8126    var el = this.selection[0];
8127    return el.offsetParent || el;
8128  },
8129
8130  /**
8131   * outerHeight - Returns first element in selection's outerHeight
8132   *
8133   * @param	{boolean} withMargin Whether to include margin
8134   * @return {number}
8135   */
8136  outerHeight: function outerHeight(withMargin) {
8137    if (!this.selection.length) {
8138      return this;
8139    }
8140
8141    if (typeof withMargin == 'undefined') {
8142      function outerHeight(el) {
8143        var height = el.offsetHeight;
8144        var style = getComputedStyle(el);
8145        height += parseInt(style.marginTop) + parseInt(style.marginBottom);
8146        return height;
8147      }
8148
8149      return outerHeight(this.selection[0]);
8150    } else {
8151      return this.selection[0].offsetHeight;
8152    }
8153  },
8154
8155  /**
8156   * height - Returns height of first element in selection or set height for elements in selection
8157   *
8158   * @param	{number} height	Height (option)
8159   * @return {object}				Self
8160   */
8161  height: function height(_height) {
8162    if (!this.selection.length) {
8163      return this;
8164    }
8165
8166    if (typeof width != 'undefined') {
8167      if (!isNaN(_height)) {
8168        _height += 'px';
8169      }
8170
8171      this.css('height', _height);
8172      return this;
8173    }
8174
8175    var el = this.selection[0]; //var type=el.constructor.name.toLowerCase();
8176
8177    if (typeof window != 'undefined' && typeof window.document != 'undefined' && el === window) {
8178      return innerHeight;
8179    } else if (el === document) {
8180      var body = document.body;
8181      var html = document.documentElement;
8182      return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
8183    }
8184
8185    var styles = getComputedStyle(el);
8186    var margin = parseFloat(styles['marginTop']) + parseFloat(styles['marginBottom']);
8187    return Math.ceil(el.offsetHeight + margin);
8188  },
8189
8190  /**
8191   * width - Returns width of first element in selection or set width for elements in selection
8192   *
8193   * @param	{number} width Width (optional)
8194   * @return {object}			 Self
8195   */
8196  width: function (_width) {
8197    function width(_x2) {
8198      return _width.apply(this, arguments);
8199    }
8200
8201    width.toString = function () {
8202      return _width.toString();
8203    };
8204
8205    return width;
8206  }(function (width) {
8207    if (!this.selection.length) {
8208      return this;
8209    }
8210
8211    if (typeof width != 'undefined') {
8212      if (!isNaN(width)) {
8213        width += 'px';
8214      }
8215
8216      this.css('width', width);
8217      return this;
8218    }
8219
8220    var el = this.selection[0]; //var type=el.constructor.name.toLowerCase();
8221
8222    if (typeof window != 'undefined' && typeof window.document != 'undefined' && el === window) {
8223      return innerWidth;
8224    } else if (el === document) {
8225      var body = document.body;
8226      var html = document.documentElement;
8227      return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrolWidth, html.offsetWidth);
8228    }
8229
8230    return getComputedStyle(el).width;
8231  }),
8232
8233  /**
8234   * width - Returns outerWidth of first element in selection
8235   *
8236   * @return {number}
8237   */
8238  outerWidth: function outerWidth() {
8239    if (!this.selection.length) {
8240      return 0;
8241    }
8242
8243    var el = this.selection[0];
8244    var width = el.offsetWidth;
8245    var style = getComputedStyle(el);
8246    width += parseInt(style.marginLeft) + parseInt(style.marginRight);
8247    return width;
8248  },
8249
8250  /**
8251   * scrollTop - Returns the scrollTop of the current document
8252   *
8253   * @return {object}
8254   */
8255  scrollTop: function scrollTop() {
8256    if (!this.selection.length) {
8257      return 0;
8258    }
8259
8260    var el = this.selection[0];
8261
8262    if (typeof el.scrollTop != 'undefined') {
8263      return el.scrollTop;
8264    } else {
8265      return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
8266    }
8267  },
8268
8269  /**
8270   * offset - Returns offset of first element in selection
8271   *
8272   * @return {object}
8273   */
8274  offset: function offset() {
8275    if (!this.selection.length) {
8276      return this;
8277    }
8278
8279    var box = this.selection[0].getBoundingClientRect();
8280    return {
8281      top: box.top + (pageYOffset || document.scrollTop) - (document.clientTop || 0),
8282      left: box.left + (pageXOffset || document.scrollLeft) - (document.clientLeft || 0)
8283    };
8284  },
8285
8286  /**
8287   * removeAttr - Removes attribute from elements in selection
8288   *
8289   * @param	{string} attributeName Attribute name
8290   * @return {object}							 Self
8291   */
8292  removeAttr: function removeAttr(attributeName) {
8293    if (!this.selection.length) {
8294      return this;
8295    }
8296
8297    this.each(function (el) {
8298      if (el && typeof el.removeAttribute == 'function') {
8299        el.removeAttribute(attributeName);
8300      }
8301    });
8302    return this;
8303  },
8304
8305  /**
8306   * changeElementType - Changes element type of elements in selection
8307   *
8308   * @param	{string} type Element type to change to
8309   * @return {Mura.DOMSelection} Self
8310   */
8311  changeElementType: function changeElementType(type) {
8312    if (!this.selection.length) {
8313      return this;
8314    }
8315
8316    this.each(function (el) {
8317      Mura.changeElementType(el, type);
8318    });
8319    return this;
8320  },
8321
8322  /**
8323   * val - Set the value of elements in selection
8324   *
8325   * @param	{*} value Value
8326   * @return {Mura.DOMSelection} Self
8327   */
8328  val: function val(value) {
8329    if (!this.selection.length) {
8330      return this;
8331    }
8332
8333    if (typeof value != 'undefined') {
8334      this.each(function (el) {
8335        if (el.tagName == 'radio') {
8336          if (el.value == value) {
8337            el.checked = true;
8338          } else {
8339            el.checked = false;
8340          }
8341        } else {
8342          el.value = value;
8343        }
8344      });
8345      return this;
8346    } else if (this.selection[0].tagName == 'SELECT') {
8347      var val = [];
8348
8349      for (var j = this.selection[0].options.length - 1; j >= 0; j--) {
8350        if (this.selection[0].options[j].selected) {
8351          val.push(this.selection[0].options[j].value);
8352        }
8353      }
8354
8355      return val.join(",");
8356    } else {
8357      if (Object.prototype.hasOwnProperty.call(this.selection[0], 'value') || typeof this.selection[0].value != 'undefined') {
8358        return this.selection[0].value;
8359      } else {
8360        return '';
8361      }
8362    }
8363  },
8364
8365  /**
8366   * attr - Returns attribute value of first element in selection or set attribute value for elements in selection
8367   *
8368   * @param	{string} attributeName Attribute name
8369   * @param	{*} value				 Value (optional)
8370   * @return {Mura.DOMSelection} Self
8371   */
8372  attr: function attr(attributeName, value) {
8373    if (!this.selection.length) {
8374      return this;
8375    }
8376
8377    if (typeof value == 'undefined' && typeof attributeName == 'undefined') {
8378      return Mura.getAttributes(this.selection[0]);
8379    } else if (_typeof(attributeName) == 'object') {
8380      this.each(function (el) {
8381        if (el.setAttribute) {
8382          for (var p in attributeName) {
8383            el.setAttribute(p, attributeName[p]);
8384          }
8385        }
8386      });
8387      return this;
8388    } else if (typeof value != 'undefined') {
8389      this.each(function (el) {
8390        if (el.setAttribute) {
8391          el.setAttribute(attributeName, value);
8392        }
8393      });
8394      return this;
8395    } else {
8396      if (this.selection[0] && this.selection[0].getAttribute) {
8397        return this.selection[0].getAttribute(attributeName);
8398      } else {
8399        return undefined;
8400      }
8401    }
8402  },
8403
8404  /**
8405   * data - Returns data attribute value of first element in selection or set data attribute value for elements in selection
8406   *
8407   * @param	{string} attributeName Attribute name
8408   * @param	{*} value				 Value (optional)
8409   * @return {Mura.DOMSelection} Self
8410   */
8411  data: function data(attributeName, value) {
8412    if (!this.selection.length) {
8413      return this;
8414    }
8415
8416    if (typeof value == 'undefined' && typeof attributeName == 'undefined') {
8417      return Mura.getData(this.selection[0]);
8418    } else if (_typeof(attributeName) == 'object') {
8419      this.each(function (el) {
8420        for (var p in attributeName) {
8421          el.setAttribute("data-" + p, attributeName[p]);
8422        }
8423      });
8424      return this;
8425    } else if (typeof value != 'undefined') {
8426      this.each(function (el) {
8427        el.setAttribute("data-" + attributeName, value);
8428      });
8429      return this;
8430    } else if (this.selection[0] && this.selection[0].getAttribute) {
8431      return Mura.parseString(this.selection[0].getAttribute("data-" + attributeName));
8432    } else {
8433      return undefined;
8434    }
8435  },
8436
8437  /**
8438   * prop - Returns attribute value of first element in selection or set attribute value for elements in selection
8439   *
8440   * @param	{string} attributeName Attribute name
8441   * @param	{*} value				 Value (optional)
8442   * @return {Mura.DOMSelection} Self
8443   */
8444  prop: function prop(attributeName, value) {
8445    if (!this.selection.length) {
8446      return this;
8447    }
8448
8449    if (typeof value == 'undefined' && typeof attributeName == 'undefined') {
8450      return Mura.getProps(this.selection[0]);
8451    } else if (_typeof(attributeName) == 'object') {
8452      this.each(function (el) {
8453        for (var p in attributeName) {
8454          el.setAttribute(p, attributeName[p]);
8455        }
8456      });
8457      return this;
8458    } else if (typeof value != 'undefined') {
8459      this.each(function (el) {
8460        el.setAttribute(attributeName, value);
8461      });
8462      return this;
8463    } else {
8464      return Mura.parseString(this.selection[0].getAttribute(attributeName));
8465    }
8466  },
8467
8468  /**
8469   * fadeOut - Fades out elements in selection
8470   *
8471   * @return {Mura.DOMSelection} Self
8472   */
8473  fadeOut: function fadeOut() {
8474    this.each(function (el) {
8475      el.style.opacity = 1;
8476
8477      (function fade() {
8478        if ((el.style.opacity -= .1) < 0) {
8479          el.style.opacity = 0;
8480          el.style.display = "none";
8481        } else {
8482          requestAnimationFrame(fade);
8483        }
8484      })();
8485    });
8486    return this;
8487  },
8488
8489  /**
8490   * fadeIn - Fade in elements in selection
8491   *
8492   * @param	{string} display Display value
8493   * @return {Mura.DOMSelection} Self
8494   */
8495  fadeIn: function fadeIn(display) {
8496    this.each(function (el) {
8497      el.style.opacity = 0;
8498      el.style.display = display || "block";
8499
8500      (function fade() {
8501        var val = parseFloat(el.style.opacity);
8502
8503        if (!((val += .1) >
8503 1)) {
8504          el.style.opacity = val;
8505          requestAnimationFrame(fade);
8506        }
8507      })();
8508    });
8509    return this;
8510  },
8511
8512  /**
8513   * toggle - Toggles display object elements in selection
8514   *
8515   * @return {Mura.DOMSelection} Self
8516   */
8517  toggle: function toggle() {
8518    this.each(function (el) {
8519      if (typeof el.style.display == 'undefined' || el.style.display == '') {
8520        el.style.display = 'none';
8521      } else {
8522        el.style.display = '';
8523      }
8524    });
8525    return this;
8526  },
8527
8528  /**
8529   * slideToggle - Place holder
8530   *
8531   * @return {Mura.DOMSelection} Self
8532   */
8533  slideToggle: function slideToggle() {
8534    this.each(function (el) {
8535      if (typeof el.style.display == 'undefined' || el.style.display == '') {
8536        el.style.display = 'none';
8537      } else {
8538        el.style.display = '';
8539      }
8540    });
8541    return this;
8542  },
8543
8544  /**
8545   * focus - sets focus of the first select element
8546   *
8547   * @return {self}
8548   */
8549  focus: function focus() {
8550    if (!this.selection.length) {
8551      return this;
8552    }
8553
8554    this.selection[0].focus();
8555    return this;
8556  },
8557
8558  /**
8559   * renderEditableAttr- Returns a string with editable attriute markup markup.
8560   *
8561   * @param	{object} params Keys: name, type, required, validation, message, label
8562   * @return {self}
8563   */
8564  makeEditableAttr: function makeEditableAttr(params) {
8565    if (!this.selection.length) {
8566      return this;
8567    }
8568
8569    var value = this.selection[0].innerHTML;
8570    params = params || {};
8571
8572    if (!params.name) {
8573      return this;
8574    }
8575
8576    params.type = params.type || "text";
8577
8578    if (typeof params.required == 'undefined') {
8579      params.required = false;
8580    }
8581
8582    if (typeof params.validation == 'undefined') {
8583      params.validation = '';
8584    }
8585
8586    if (typeof params.message == 'undefined') {
8587      params.message = '';
8588    }
8589
8590    if (typeof params.label == 'undefined') {
8591      params.label = params.name;
8592    }
8593
8594    var outerClass = "mura-editable mura-inactive";
8595    var innerClass = "mura-inactive mura-editable-attribute";
8596
8597    if (params.type == "htmlEditor") {
8598      outerClass += " mura-region mura-region-loose";
8599      innerClass += " mura-region-local";
8600    } else {
8601      outerClass += " inline";
8602      innerClass += " inline";
8603    }
8604
8605    var innerClass = "mura-inactive mura-editable-attribute";
8606    /*
8607    <div class="mura-editable mura-inactive inline">
8608    <label class="mura-editable-label" style="">TITLE</label>
8609    <div contenteditable="false" id="mura-editable-attribute-title" class="mura-inactive mura-editable-attribute inline" data-attribute="title" data-type="text" data-required="false" data-message="" data-label="title">About</div>
8610    </div>
8611    	<div class="mura-region mura-region-loose mura-editable mura-inactive">
8612    <label class="mura-editable-label" style="">BODY</label>
8613    <div contenteditable="false" id="mura-editable-attribute-body" class="mura-region-local mura-inactive mura-editable-attribute" data-attribute="body" data-type="htmlEditor" data-required="false" data-message="" data-label="body" data-loose="true" data-perm="true" data-inited="false"></div>
8614    </div>
8615    */
8616
8617    var markup = '<div class="' + outerClass + '">';
8618    markup += '<div contenteditable="false" id="mura-editable-attribute-' + params.name + ' class="' + innerClass + '" ';
8619    markup += ' data-attribute="' + params.name + '" ';
8620    markup += ' data-type="' + params.type + '" ';
8621    markup += ' data-required="' + params.required + '" ';
8622    markup += ' data-message="' + params.message + '" ';
8623    markup += ' data-label="' + params.label + '"';
8624
8625    if (params.type == 'htmlEditor') {
8626      markup += ' data-loose="true" data-perm="true" data-inited="false"';
8627    }
8628
8629    markup += '>' + value + '</div>';
8630    markup += '<label class="mura-editable-label" style="display:none">' + params.label.toUpperCase() + '</label>';
8631    markup += '</div>';
8632    this.selection[0].innerHTML = markup;
8633    Mura.evalScripts(this.selection[0]);
8634    return this;
8635  },
8636
8637  /**
8638  * processDisplayRegion - Renders and processes the display region data returned from Mura.renderFilename()
8639  *
8640  * @param	{any} data Region data to render
8641  * @return {Promise}
8642  */
8643  processDisplayRegion: function processDisplayRegion(data, label) {
8644    if (typeof data == 'undefined' || !this.selection.length) {
8645      return this.processMarkup();
8646    }
8647
8648    this.html(Mura.buildDisplayRegion(data));
8649
8650    if (label != 'undefined') {
8651      this.find('label.mura-editable-label').html('DISPLAY REGION : ' + data.label);
8652    }
8653
8654    return this.processMarkup();
8655  },
8656
8657  /**
8658   * appendDisplayObject - Appends display object to selected items
8659   *
8660   * @param	{object}
8660 data Display objectparams (including object='objectkey')
8661   * @return {Promise}
8662   */
8663  dspObject: function dspObject(data) {
8664    return this.appendDisplayObject(data);
8665  }
8666});
8667
8668/***/ }),
8669
8670/***/ 6501:
8671/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
8672
8673function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8674
8675var Mura = __webpack_require__(791);
8676/**
8677* Creates a new Mura.Entity
8678* @name	Mura.Entity
8679* @class
8680* @extends Mura.Core
8681* @memberof Mura
8682* @param	{object} properties Object containing values to set into object
8683* @return {Mura.Entity}
8684*/
8685
8686
8687Mura.Entity = Mura.Core.extend(
8688/** @lends Mura.Entity.prototype */
8689{
8690  init: function init(properties, requestcontext) {
8691    properties = properties || {};
8692    properties.entityname = properties.entityname || 'content';
8693    properties.siteid = properties.siteid || Mura.siteid;
8694    this.set(properties);
8695
8696    if (typeof this.properties.isnew == 'undefined') {
8697      this.properties.isnew = 1;
8698    }
8699
8700    if (this.properties.isnew) {
8701      this.set('isdirty', true);
8702    } else {
8703      this.set('isdirty', false);
8704    }
8705
8706    if (typeof this.properties.isdeleted == 'undefined') {
8707      this.properties.isdeleted = false;
8708    }
8709
8710    this._requestcontext = requestcontext || Mura.getRequestContext();
8711    this.cachePut();
8712    return this;
8713  },
8714
8715  /**
8716   * updateFromDom - Updates editable data from what's in the DOM.
8717   *
8718   * @return {string}
8719   */
8720  updateFromDom: function updateFromDom() {
8721    return this;
8722  },
8723
8724  /**
8725   * setRequestContext - Sets the RequestContext
8726   *
8727   * @RequestContext	{Mura.RequestContext} Mura.RequestContext List of fields
8728   * @return {Mura.Feed}				Self
8729   */
8730  setRequestContext: function setRequestContext(requestcontext) {
8731    this._requestcontext = requestcontext;
8732    return this;
8733  },
8734
8735  /**
8736   * getEnpoint - Returns API endpoint for entity type
8737   *
8738   * @return {string} All Headers
8739   */
8740  getAPIEndpoint: function getAPIEndpoint() {
8741    return this._requestcontext.getAPIEndpoint() + this.get('entityname') + '/';
8742  },
8743
8744  /**
8745   * invoke - Invokes a method
8746   *
8747   * @param	{string} name Method to call
8748   * @param	{object} params Arguments to submit to method
8749   * @param	{string} method GET or POST
8750   * @return {any}
8751   */
8752  invoke: function invoke(name, params, method, eventHandler) {
8753    if (_typeof(name) == 'object') {
8754      params = name.params || {};
8755      method = name.method || 'get';
8756      eventHandler = name;
8757      name = name.name;
8758    } else {
8759      eventHandler = eventHandler || {};
8760    }
8761
8762    Mura.normalizeRequestHandler(eventHandler);
8763    var self = this;
8764
8765    if (typeof method == 'undefined' && typeof params == 'string') {
8766      method = params;
8767      params = {};
8768    }
8769
8770    params = params || {};
8771    method = method || "post";
8772
8773    if (this[name] == 'function') {
8774      return this[name].apply(this, params);
8775    }
8776
8777    return new Promise(function (resolve, reject) {
8778      if (typeof resolve == 'function') {
8779        eventHandler.success = resolve;
8780      }
8781
8782      if (typeof reject == 'function') {
8783        eventHandler.error = reject;
8784      }
8785
8786      if (Mura.formdata && params instanceof FormData) {
8787        params.append('_cacheid', Math.random());
8788      } else {
8789        params._cacheid = Math.random();
8790      }
8791
8792      self._requestcontext.request({
8793        type: method.toLowerCase(),
8794        url: self.getAPIEndpoint() + name,
8795        data: params,
8796        success: function success(resp) {
8797          if (typeof resp.error == 'undefined') {
8798            if (typeof eventHandler.success == 'function') {
8799              if (typeof resp.data != 'undefined') {
8800                eventHandler.success(resp.data);
8801              } else {
8802                eventHandler.success(resp);
8803              }
8804            }
8805          } else {
8806            if (typeof eventHandler.error == 'function') {
8807              eventHandler.error(resp);
8808            }
8809          }
8810        },
8811        error: function error(resp) {
8812          if (typeof eventHandler.error == 'function') {
8813            eventHandler.error(resp);
8814          }
8815        },
8816        progress: eventHandler.progress,
8817        abort: eventHandler.abort
8818      });
8819    });
8820  },
8821
8822  /**
8823   * invokeWithCSRF - Proxies method call to remote api, but first generates CSRF tokens based on name
8824   *
8825   * @param	{string} name Method to call
8826   * @param	{object} params Arguments to submit to method
8827   * @param	{string} method GET or POST
8828   * @return {Promise} All Headers
8829   */
8830  invokeWithCSRF: function invokeWithCSRF(name, params, method, eventHandler) {
8831    if (_typeof(name) == 'object') {
8832      params = name.params || {};
8833      method = name.method || 'get';
8834      eventHandler = name;
8835      name = name.name;
8836    } else {
8837      eventHandler = eventHandler || {};
8838    }
8839
8840    Mura.normalizeRequestHandler(eventHandler);
8841
8842    if (self._requestcontext.getMode().toLowerCase() == 'rest') {
8843      return new Promise(function (resolve, reject) {
8844        return self.invoke(name, params, method, eventHandler).then(resolve, reject);
8845      });
8846    } else {
8847      var self = this;
8848      return new Promise(function (resolve, reject) {
8849        if (typeof resolve == 'function') {
8850          eventHandler.success = resolve;
8851        }
8852
8853        if (typeof reject == 'function') {
8854          eventHandler.error = reject;
8855        }
8856
8857        self._requestcontext.request({
8858          type: 'post',
8859          url: self._requestcontext.getAPIEndpoint() + '?method=generateCSRFTokens',
8860          data: {
8861            siteid: self.get('siteid'),
8862            context: name
8863          },
8864          success: function success(resp) {
8865            if (Mura.formdata && params instanceof FormData) {
8866              params.append('csrf_token', resp.data.csrf_token);
8867              params.append('csrf_token_expires', resp.data.csrf_token_expires);
8868            } else {
8869              params = Mura.extend(params, resp.data);
8870            }
8871
8872            if (resp.data != 'undefined') {
8873              self.invoke(name, params, method, eventHandler).then(resolve, reject);
8874            } else {
8875              if (typeof eventHandler.error == 'function') {
8876                eventHandler.error(resp);
8877              }
8878            }
8879          },
8880          error: function error(resp) {
8881            if (typeof eventHandler.error == 'function') {
8882              eventHandler.error(resp);
8883            }
8884          }
8885        });
8886      });
8887    }
8888  },
8889
8890  /**
8891   * exists - Returns if the entity was previously saved
8892   *
8893   * @return {boolean}
8894   */
8895  exists: function exists() {
8896    return this.has('isnew') && !this.get('isnew');
8897  },
8898
8899  /**
8900   * get - Retrieves property value from entity
8901   *
8902   * @param	{string} propertyName Property Name
8903   * @param	{*} defaultValue Default Value
8904   * @return {*}							Property Value
8905   */
8906  get: function get(propertyName, defaultValue) {
8907    if (typeof this.properties.links != 'undefined' && typeof this.properties.links[propertyName] != 'undefined') {
8908      var self = this;
8909
8910      if (_typeof(this.properties[propertyName]) == 'object') {
8911        return new Promise(function (resolve, reject) {
8912          if ('items' in self.properties[propertyName]) {
8913            var returnObj = new Mura.EntityCollection(self.properties[propertyName], self._requestcontext);
8914          } else {
8915            if (Mura.entities[self.properties[propertyName].entityname]) {
8916              var returnObj = new Mura.entities[self.properties[propertyName].entityname](self.properties[propertyName], self._requestcontext);
8917            } else {
8918              var returnObj = new Mura.Entity(self.properties[propertyName], self._requestcontext);
8919            }
8920          }
8921
8922          if (typeof resolve == 'function') {
8923            resolve(returnObj);
8924          }
8925        });
8926      } else {
8927        if (_typeof(defaultValue) == 'object') {
8928          var params = defaultValue;
8929        } else {
8930          var params = {};
8931        }
8932
8933        return new Promise(function (resolve, reject) {
8934          self._requestcontext.request({
8935            type: 'get',
8936            url: self.properties.links[propertyName],
8937            params: params,
8938            success: function success(resp) {
8939              if ('items' in resp.data) {
8940                var returnObj = new Mura.EntityCollection(resp.data, self._requestcontext);
8941              } else {
8942                if (Mura.entities[self.entityname]) {
8943                  var returnObj = new Mura.entities[self.entityname](resp.data, self._requestcontext);
8944                } else {
8945                  var returnObj = new Mura.Entity(resp.data, self._requestcontext);
8946                }
8947              } //Dont cache if there are custom params
8948
8949
8950              if (Mura.isEmptyObject(params)) {
8951                self.set(propertyName, resp.data);
8952              }
8953
8954              if (typeof resolve == 'function') {
8955                resolve(returnObj);
8956              }
8957            },
8958            error: function error(resp) {
8959              if (typeof reject == 'function') {
8960                reject(resp);
8961              }
8962            }
8963          });
8964        });
8965      }
8966    } else if (typeof this.properties[propertyName] != 'undefined') {
8967      return this.properties[propertyName];
8968    } else if (typeof defaultValue != 'undefined') {
8969      this.properties[propertyName] = defaultValue;
8970      return this.properties[propertyName];
8971    } else {
8972      return '';
8973    }
8974  },
8975
8976  /**
8977   * set - Sets property value
8978   *
8979   * @param	{string} propertyName	Property Name
8980   * @param	{*} propertyValue Property Value
8981   * @return {Mura.Entity} Self
8982   */
8983  set: function set(propertyName, propertyValue) {
8984    if (_typeof(propertyName) == 'object') {
8985      this.properties = Mura.deepExtend(this.properties, propertyName);
8986      this.set('isdirty', true);
8987    } else if (typeof this.properties[propertyName] == 'undefined' || this.properties[propertyName] != propertyValue) {
8988      this.properties[propertyName] = propertyValue;
8989      this.set('isdirty', true);
8990    }
8991
8992    return this;
8993  },
8994
8995  /**
8996   * has - Returns is the entity has a certain property within it
8997   *
8998   * @param	{string} propertyName Property Name
8999   * @return {type}
9000   */
9001  has: function has(propertyName) {
9002    return typeof this.properties[propertyName] != 'undefined' || typeof this.properties.links != 'undefined' && typeof this.properties.links[propertyName] != 'undefined';
9003  },
9004
9005  /**
9006   * getAll - Returns all of the entities properties
9007   *
9008   * @return {object}
9009   */
9010  getAll: function getAll() {
9011    return this.properties;
9012  },
9013
9014  /**
9015   * load - Loads entity from JSON API
9016   *
9017   * @return {Promise}
9018   */
9019  load: function load() {
9020    return this.loadBy('id', this.get('id'));
9021  },
9022
9023  /**
9024   * new - Loads properties of a new instance from JSON API
9025   *
9026   * @param	{type} params Property values that you would like your new entity to have
9027   * @return {Promise}
9028   */
9029  'new': function _new(params) {
9030    var self = this;
9031    return new Promise(function (resolve, reject) {
9032      params = Mura.extend({
9033        entityname: self.get('entityname'),
9034        method: 'findNew',
9035        siteid: self.get('siteid'),
9036        '_cacheid': Math.random()
9037      }, params);
9038
9039      self._requestcontext.get(self._requestcontext.getAPIEndpoint(), params).then(function (resp) {
9040        self.set(resp.data);
9041
9042        if (typeof resolve == 'function') {
9043          resolve(self);
9044        }
9045      });
9046    });
9047  },
9048
9049  /**
9050   * checkSchema - Checks the schema for Mura ORM entities
9051   *
9052   * @return {Promise}
9053   */
9054  'checkSchema': function checkSchema() {
9055    var self = this;
9056    return new Promise(function (resolve, reject) {
9057      if (self._requestcontext.getMode().toLowerCase() == 'rest') {
9058        self._requestcontext.request({
9059          type: 'post',
9060          url: self._requestcontext.getAPIEndpoint(),
9061          data: {
9062            entityname: self.get('entityname'),
9063            method: 'checkSchema',
9064            siteid: self.get('siteid'),
9065            '_cacheid': Math.random()
9066          },
9067          success: function success(resp) {
9068            if (resp.data != 'undefined') {
9069              if (typeof resolve == 'function') {
9070                resolve(self);
9071              }
9072            } else {
9073              console.log(resp);
9074
9075              if (typeof reject == 'function') {
9076                reject(self);
9077              }
9078            }
9079          },
9080          error: function error(resp) {
9081            self.set('errors', resp.error);
9082
9083            if (typeof reject == 'function') {
9084              reject(self);
9085            }
9086          }
9087        });
9088      } else {
9089        self._requestcontext.request({
9090          type: 'post',
9091          url: self._requestcontext.getAPIEndpoint() + '?method=generateCSRFTokens',
9092          data: {
9093            siteid: self.get('siteid'),
9094            context: ''
9095          },
9096          success: function success(resp) {
9097            self._requestcontext.request({
9098              type: 'post',
9099              url: self._requestcontext.getAPIEndpoint(),
9100              data: Mura.extend({
9101                entityname: self.get('entityname'),
9102                method: 'checkSchema',
9103                siteid: self.get('siteid'),
9104                '_cacheid': Math.random()
9105              }, {
9106                'csrf_token': resp.data.csrf_token,
9107                'csrf_token_expires': resp.data.csrf_token_expires
9108              }),
9109              success: function success(resp) {
9110                if (resp.data != 'undefined') {
9111                  if (typeof resolve == 'function') {
9112                    resolve(self);
9113                  }
9114                } else {
9115                  console.log(resp);
9116                  self.set('errors', resp.error);
9117
9118                  if (typeof reject == 'function') {
9119                    reject(self);
9120                  }
9121                }
9122              },
9123              error: function error(resp) {
9124                this.success(resp);
9125              }
9126            });
9127          },
9128          error: function error(resp) {
9129            this.success(resp);
9130          }
9131        });
9132      }
9133    });
9134  },
9135
9136  /**
9137   * undeclareEntity - Undeclares an Mura ORM entity with service factory
9138   *
9139   * @return {Promise}
9140   */
9141  'undeclareEntity': function undeclareEntity(deleteSchema) {
9142    deleteSchema = deleteSchema || false;
9143    var self = this;
9144    return new Promise(function (resolve, reject) {
9145      if (self._requestcontext.getMode().toLowerCase() == 'rest') {
9146        self._requestcontext.request({
9147          type: 'post',
9148          url: self._requestcontext.getAPIEndpoint(),
9149          data: {
9150            entityname: self.get('entityname'),
9151            deleteSchema: deleteSchema,
9152            method: 'undeclareEntity',
9153            siteid: self.get('siteid'),
9154            '_cacheid': Math.random()
9155          },
9156          success: function success(resp) {
9157            if (resp.data != 'undefined') {
9158              if (typeof resolve == 'function') {
9159                resolve(self);
9160              }
9161            } else {
9162              console.log(resp);
9163              self.set('errors', resp.error);
9164
9165              if (typeof reject == 'function') {
9166                reject(self);
9167              }
9168            }
9169          },
9170          error: function error(resp) {
9171            this.success(resp);
9172          }
9173        });
9174      } else {
9175        return self._requestcontext.request({
9176          type: 'post',
9177          url: self._requestcontext.getAPIEndpoint() + '?method=generateCSRFTokens',
9178          data: {
9179            siteid: self.get('siteid'),
9180            context: ''
9181          },
9182          success: function success(resp) {
9183            self._requestcontext.request({
9184              type: 'post',
9185              url: self._requestcontext.getAPIEndpoint(),
9186              data: Mura.extend({
9187                entityname: self.get('entityname'),
9188                method: 'undeclareEntity',
9189                siteid: self.get('siteid'),
9190                '_cacheid': Math.random()
9191              }, {
9192                'csrf_token': resp.data.csrf_token,
9193                'csrf_token_expires': resp.data.csrf_token_expires
9194              }),
9195              success: function success(resp) {
9196  
9196              if (resp.data != 'undefined') {
9197                  if (typeof resolve == 'function') {
9198                    resolve(self);
9199                  }
9200                } else {
9201                  self.set('errors', resp.error);
9202
9203                  if (typeof reject == 'function') {
9204                    reject(self);
9205                  }
9206                }
9207              }
9208            });
9209          },
9210          error: function error(resp) {
9211            this.success(resp);
9212          }
9213        });
9214      }
9215    });
9216  },
9217
9218  /**
9219   * loadBy - Loads entity by property and value
9220   *
9221   * @param	{string} propertyName	The primary load property to filter against
9222   * @param	{string|number} propertyValue The value to match the propert against
9223   * @param	{object} params				Addition parameters
9224   * @return {Promise}
9225   */
9226  loadBy: function loadBy(propertyName, propertyValue, params) {
9227    propertyName = propertyName || 'id';
9228    propertyValue = propertyValue || this.get(propertyName) || 'null';
9229    var self = this;
9230
9231    if (propertyName == 'id') {
9232      var cachedValue = Mura.datacache.get(propertyValue);
9233
9234      if (typeof cachedValue != 'undefined') {
9235        this.set(cachedValue);
9236        return new Promise(function (resolve, reject) {
9237          resolve(self);
9238        });
9239      }
9240    }
9241
9242    return new Promise(function (resolve, reject) {
9243      params = Mura.extend({
9244        entityname: self.get('entityname').toLowerCase(),
9245        method: 'findQuery',
9246        siteid: self.get('siteid'),
9247        '_cacheid': Math.random()
9248      }, params);
9249
9250      if (params.entityname == 'content' || params.entityname == 'contentnav') {
9251        params.includeHomePage = 1;
9252        params.showNavOnly = 0;
9253        params.showExcludeSearch = 1;
9254      }
9255
9256      params[propertyName] = propertyValue;
9257
9258      self._requestcontext.findQuery(params).then(function (collection) {
9259        if (collection.get('items').length) {
9260          self.set(collection.get('items')[0].getAll());
9261        }
9262
9263        if (typeof resolve == 'function') {
9264          resolve(self);
9265        }
9266      }, function (resp) {
9267        if (typeof reject == 'function') {
9268          reject(resp);
9269        }
9270      });
9271    });
9272  },
9273
9274  /**
9275   * validate - Validates instance
9276   *
9277   * @param	{string} fields List of properties to validate, defaults to all
9278   * @return {Promise}
9279   */
9280  validate: function validate(fields) {
9281    fields = fields || '';
9282    var self = this;
9283    var data = Mura.deepExtend({}, self.getAll());
9284    data.fields = fields;
9285    return new Promise(function (resolve, reject) {
9286      self._requestcontext.request({
9287        type: 'post',
9288        url: self._requestcontext.getAPIEndpoint() + '?method=validate',
9289        data: {
9290          data: JSON.stringify(data),
9291          validations: '{}',
9292          version: 4
9293        },
9294        success: function success(resp) {
9295          if (resp.data != 'undefined') {
9296            self.set('errors', resp.data);
9297          } else {
9298            self.set('errors', resp.error);
9299          }
9300
9301          if (typeof resolve == 'function') {
9302            resolve(self);
9303          }
9304        },
9305        error: function error(resp) {
9306          self.set('errors', resp.error);
9307          resolve(self);
9308        }
9309      });
9310    });
9311  },
9312
9313  /**
9314   * hasErrors - Returns if the entity has any errors
9315   *
9316   * @return {boolean}
9317   */
9318  hasErrors: function hasErrors() {
9319    var errors = this.get('errors', {});
9320    return typeof errors == 'string' && errors != '' || _typeof(errors) == 'object' && !Mura.isEmptyObject(errors);
9321  },
9322
9323  /**
9324   * getErrors - Returns entites errors property
9325   *
9326   * @return {object}
9327   */
9328  getErrors: function getErrors() {
9329    return this.get('errors', {});
9330  },
9331
9332  /**
9333   * save - Saves entity to JSON API
9334   *
9335   * @return {Promise}
9336   */
9337  save: function save(eventHandler) {
9338    eventHandler = eventHandler || {};
9339    Mura.normalizeRequestHandler(eventHandler);
9340    var self = this;
9341
9342    if (!this.get('isdirty')) {
9343      return new Promise(function (resolve, reject) {
9344        if (typeof resolve == 'function') {
9345          eventHandler.success = resolve;
9346        }
9347
9348        if (typeof eventHandler.success == 'function') {
9349          eventHandler.success(self);
9350        }
9351      });
9352    }
9353
9354    if (!this.get('id')) {
9355      return new Promise(function (resolve, reject) {
9356        var temp = Mura.deepExtend({}, self.getAll());
9357
9358        self._requestcontext.request({
9359          type: 'get',
9360          url: self._requestcontext.getAPIEndpoint() + self.get('entityname') + '/new',
9361          success: function success(resp) {
9362            self.set(resp.data);
9363            self.set(temp);
9364            self.set('id', resp.data.id);
9365            self.set('isdirty', true);
9366            self.cachePut();
9367            self.save(eventHandler).then(resolve, reject);
9368          },
9369          error: eventHandler.error,
9370          abort: eventHandler.abort
9371        });
9372      });
9373    } else {
9374      return new Promise(function (resolve, reject) {
9375        if (typeof resolve == 'function') {
9376          eventHandler.success = resolve;
9377        }
9378
9379        if (typeof reject == 'function') {
9380          eventHandler.error = reject;
9381        }
9382
9383        var context = self.get('id');
9384
9385        if (self._requestcontext.getMode().toLowerCase() == 'rest') {
9386          self._requestcontext.request({
9387            type: 'post',
9388            url: self._requestcontext.getAPIEndpoint() + '?method=save',
9389            data: self.getAll(),
9390            success: function success(resp) {
9391              if (resp.data != 'undefined') {
9392                self.set(resp.data);
9393                self.set('isdirty', false);
9394
9395                if (self.get('saveerrors') || Mura.isEmptyObject(self.getErrors())) {
9396                  if (typeof eventHandler.success == 'function') {
9397                    eventHandler.success(self);
9398                  }
9399                } else {
9400                  if (typeof eventHandler.error == 'function') {
9401                    eventHandler.error(self);
9402                  }
9403                }
9404              } else {
9405                self.set('errors', resp.error);
9406
9407                if (typeof eventHandler.error == 'function') {
9408                  eventHandler.error(self);
9409                }
9410              }
9411            },
9412            error: function error(resp) {
9413              self.set('errors', resp.error);
9414
9415              if (typeof eventHandler.error == 'function') {
9416                eventHandler.error(self);
9417              }
9418            },
9419            progress: eventHandler.progress,
9420            abort: eventHandler.abort
9421          });
9422        } else {
9423          self._requestcontext.request({
9424            type: 'post',
9425            url: self._requestcontext.getAPIEndpoint() + '?method=generateCSRFTokens',
9426            data: {
9427              siteid: self.get('siteid'),
9428              context: context
9429            },
9430            success: function success(resp) {
9431              self._requestcontext.request({
9432                type: 'post',
9433                url: self._requestcontext.getAPIEndpoint() + '?method=save',
9434                data: Mura.extend(self.getAll(), {
9435                  'csrf_token': resp.data.csrf_token,
9436                  'csrf_token_expires': resp.data.csrf_token_expires
9437                }),
9438                success: function success(resp) {
9439                  if (resp.data != 'undefined') {
9440                    self.set(resp.data);
9441                    self.set('isdirty', false);
9442
9443                    if (self.get('saveerrors') || Mura.isEmptyObject(self.getErrors())) {
9444                      if (typeof eventHandler.success == 'function') {
9445                        eventHandler.success(self);
9446                      }
9447                    } else {
9448                      if (typeof eventHandler.error == 'function') {
9449                        eventHandler.error(self);
9450                      }
9451                    }
9452                  } else {
9453                    self.set('errors', resp.error);
9454
9455                    if (typeof eventHandler.error == 'function') {
9456                      eventHandler.error(self);
9457                    }
9458                  }
9459                },
9460                error: function error(resp) {
9461                  self.set('errors', resp.error);
9462
9463                  if (typeof eventHandler.error == 'function') {
9464                    eventHandler.error(self);
9465                  }
9466                },
9467                progress: eventHandler.progress,
9468                abort: eventHandler.abort
9469              });
9470            },
9471            error: function error(resp) {
9472              this.error(resp);
9473            },
9474            abort: eventHandler.abort
9475          });
9476        }
9477      });
9478    }
9479  },
9480
9481  /**
9482   * delete - Deletes entity
9483   *
9484   * @return {Promise}
9485   */
9486  'delete': function _delete(eventHandler) {
9487    eventHandler = eventHandler || {};
9488    Mura.normalizeRequestHandler(eventHandler);
9489    var self = this;
9490
9491    if (self._requestcontext.getMode().toLowerCase() == 'rest') {
9492      return new Promise(function (resolve, reject) {
9493        if (typeof resolve == 'function') {
9494          eventHandler.success = resolve;
9495        }
9496
9497        if (typeof reject == 'function') {
9498          eventHandler.error = reject;
9499        }
9500
9501        self._requestcontext.request({
9502          type: 'post',
9503          url: self._requestcontext.getAPIEndpoint() + '?method=delete',
9504          data: {
9505            siteid: self.get('siteid'),
9506            id: self.get('id'),
9507            entityname: self.get('entityname')
9508          },
9509          success: function success() {
9510            self.set('isdeleted', true);
9511            self.cachePurge();
9512
9513            if (typeof eventHandler.success == 'function') {
9514              eventHandler.success(self);
9515            }
9516          },
9517          error: eventHandler.error,
9518          progress: eventHandler.progress,
9519          abort: eventHandler.abort
9520        });
9521      });
9522    } else {
9523      return new Promise(function (resolve, reject) {
9524        if (typeof resolve == 'function') {
9525          eventHandler.success = resolve;
9526        }
9527
9528        if (typeof reject == 'function') {
9529          eventHandler.error = reject;
9530        }
9531
9532        self._requestcontext.request({
9533          type: 'post',
9534          url: self._requestcontext.getAPIEndpoint() + '?method=generateCSRFTokens',
9535          data: {
9536            siteid: self.get('siteid'),
9537            context: self.get('id')
9538          },
9539          success: function success(resp) {
9540            self._requestcontext.request({
9541              type: 'post',
9542              url: self._requestcontext.getAPIEndpoint() + '?method=delete',
9543              data: {
9544                siteid: self.get('siteid'),
9545                id: self.get('id'),
9546                entityname: self.get('entityname'),
9547                'csrf_token': resp.data.csrf_token,
9548                'csrf_token_expires': resp.data.csrf_token_expires
9549              },
9550              success: function success() {
9551                self.set('isdeleted', true);
9552                self.cachePurge();
9553
9554                if (typeof eventHandler.success == 'function') {
9555                  eventHandler.success(self);
9556                }
9557              },
9558              error: eventHandler.error,
9559              progress: eventHandler.progress,
9560              abort: eventHandler.abort
9561            });
9562          },
9563          error: eventHandler.error,
9564          abort: eventHandler.abort
9565        });
9566      });
9567    }
9568  },
9569
9570  /**
9571   * getFeed - Returns a Mura.Feed instance of this current entitie's type and siteid
9572   *
9573   * @return {object}
9574   */
9575  getFeed: function getFeed() {
9576    return this._requestcontext.getFeed(this.get('entityName'));
9577  },
9578
9579  /**
9580   * cachePurge - Purges this entity from client cache
9581   *
9582   * @return {object}	Self
9583   */
9584  cachePurge: function cachePurge() {
9585    Mura.datacache.purge(this.get('id'));
9586    return this;
9587  },
9588
9589  /**
9590   * cachePut - Places this entity into client cache
9591   *
9592   * @return {object}	Self
9593   */
9594  cachePut: function cachePut() {
9595    if (!this.get('isnew')) {
9596      Mura.datacache.set(this.get('id'), this);
9597    }
9598
9599    return this;
9600  }
9601});
9602
9603/***/ }),
9604
9605/***/ 2826:
9606/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
9607
9608var Mura = __webpack_require__(791);
9609/**
9610 * Creates a new Mura.EntityCollection
9611 * @name	Mura.EntityCollection
9612 * @class
9613 * @extends Mura.Entity
9614 * @memberof	Mura
9615 * @param	{object} properties Object containing values to set into object
9616 * @return {Mura.EntityCollection} Self
9617 */
9618
9619
9620Mura.EntityCollection = Mura.Entity.extend(
9621/** @lends Mura.EntityCollection.prototype */
9622{
9623  init: function init(properties, requestcontext) {
9624    properties = properties || {};
9625    this.set(properties);
9626    this._requestcontext = requestcontext || Mura._requestcontext;
9627    var self = this;
9628
9629    if (Array.isArray(self.get('items'))) {
9630      self.set('items', self.get('items').map(function (obj) {
9631        var entityname = obj.entityname.substr(0, 1).toUpperCase() + obj.entityname.substr(1);
9632
9633        if (Mura.entities[entityname]) {
9634          return new Mura.entities[entityname](obj, self._requestcontext);
9635        } else {
9636          return new Mura.Entity(obj, self._requestcontext);
9637        }
9638      }));
9639    }
9640
9641    return this;
9642  },
9643
9644  /**
9645   * length - Returns length entity collection
9646   *
9647   * @return {number}		 integer
9648   */
9649  length: function length() {
9650    return this.properties.items.length;
9651  },
9652
9653  /**
9654   * item - Return entity in collection at index
9655   *
9656   * @param	{nuymber} idx Index
9657   * @return {object}		 Mura.Entity
9658   */
9659  item: function item(idx) {
9660    return this.properties.items[idx];
9661  },
9662
9663  /**
9664   * index - Returns index of item in collection
9665   *
9666   * @param	{object} item Entity instance
9667   * @return {number}			Index of entity
9668   */
9669  index: function index(item) {
9670    return this.properties.items.indexOf(item);
9671  },
9672
9673  /**
9674   * indexOf - Returns index of item in collection
9675   *
9676   * @param	{object} item Entity instance
9677   * @return {number}			Index of entity
9678   */
9679  indexOf: function indexOf(item) {
9680    return this.properties.items.indexOf(item);
9681  },
9682
9683  /**
9684   * getAll - Returns object with of all entities and properties
9685   *
9686   * @return {object}
9687   */
9688  getAll: function getAll() {
9689    var self = this;
9690
9691    if (typeof self.properties.items != 'undefined') {
9692      return Mura.extend({}, self.properties, {
9693        items: self.properties.items.map(function (obj) {
9694          return obj.getAll();
9695        })
9696      });
9697    } else if (typeof self.properties.properties != 'undefined') {
9698      return Mura.extend({}, self.properties, {
9699        properties: self.properties.properties.map(function (obj) {
9700          return obj.getAll();
9701        })
9702      });
9703    }
9704  },
9705
9706  /**
9707   * each - Passes each entity in collection through function
9708   *
9709   * @param	{function} fn Function
9710   * @return {object}	Self
9711   */
9712  each: function each(fn) {
9713    this.properties.items.forEach(function (item, idx) {
9714      if (typeof fn.call == 'undefined') {
9715        fn(item, idx);
9716      } else {
9717        fn.call(item, item, idx);
9718      }
9719    });
9720    return this;
9721  },
9722
9723  /**
9724  * each - Passes each entity in collection through function
9725  *
9726  * @param	{function} fn Function
9727  * @return {object}	Self
9728  */
9729  forEach: function forEach(fn) {
9730    return this.each(fn);
9731  },
9732
9733  /**
9734   * sort - Sorts collection
9735   *
9736   * @param	{function} fn Sorting function
9737   * @return {object}	 Self
9738   */
9739  sort: function sort(fn) {
9740    this.properties.items.sort(fn);
9741    return this;
9742  },
9743
9744  /**
9745   * filter - Returns new Mura.EntityCollection of entities in collection that pass filter
9746   *
9747   * @param	{function} fn Filter function
9748   * @return {Mura.EntityCollection}
9749   */
9750  filter: function filter(fn) {
9751    var newProps = {};
9752
9753    for (var p in this.properties) {
9754      if (this.properties.hasOwnProperty(p) && p != 'items' && p != 'links') {
9755        newProps[p] = this.properties[p];
9756      }
9757    }
9758
9759    var collection = new Mura.EntityCollection(newProps, this._requestcontext);
9760    return collection.set('items', this.properties.items.filter(function (item, idx) {
9761      if (typeof fn.call == 'undefined') {
9762        return fn(item, idx);
9763      } else {
9764        return fn.call(item, item, idx);
9765      }
9766    }));
9767  },
9768
9769  /**
9770  * map - Returns new Array returned from map function
9771  *
9772  * @param	{function} fn Filter function
9773  * @return {Array}
9774  */
9775  map: function map(fn) {
9776    return this.properties.items.map(function (item, idx) {
9777      if (typeof fn.call == 'undefined') {
9778        return fn(item, idx);
9779      } else {
9780        return fn.call(item, item, idx);
9781      }
9782    });
9783  },
9784
9785  /**
9786  * reverse - Returns new Array returned from map function
9787  *
9788  * @param	{function} fn Sorting function
9789  * @return {object}	 collection
9790  */
9791  reverse: function reverse(fn) {
9792    var newProps = {};
9793
9794    for (var p in this.properties) {
9795      if (this.properties.hasOwnProperty(p) && p != 'items' && p != 'links') {
9796        newProps[p] = this.properties[p];
9797      }
9798    }
9799
9800    var collection = new Mura.EntityCollection(newProps, this._requestcontext);
9801    collection.set('items', this.properties.items.reverse());
9802    return collection;
9803  },
9804
9805  /**
9806  * reduce - Returns value from	reduce function
9807  *
9808  * @param	{function} fn Reduce function
9809  * @param	{any} initialValue Starting accumulator value
9810  * @return {accumulator}
9811  */
9812  reduce: function reduce(fn, initialValue) {
9813    initialValue = initialValue || 0;
9814    return this.properties.items.reduce(function (accumulator, item, idx, array) {
9815      if (typeof fn.call == 'undefined') {
9816        return fn(accumulator, item, idx, array);
9817      } else {
9818        return fn.call(item, accumulator, item, idx, array);
9819      }
9820    }, initialValue);
9821  }
9822});
9823
9824/***/ }),
9825
9826/***/ 7847:
9827/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
9828
9829var _Mura$Core$extend;
9830
9831function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9832
9833var Mura = __webpack_require__(791);
9834/**
9835 * Creates a new Mura.Feed
9836 * @name  Mura.Feed
9837 * @class
9838 * @extends Mura.Core
9839 * @memberof Mura
9840 * @param  {string} siteid     Siteid
9841 * @param  {string} entityname Entity name
9842 * @return {Mura.Feed}            Self
9843 */
9844
9845/**
9846 * @ignore
9847 */
9848
9849
9850Mura.Feed = Mura.Core.extend((_Mura$Core$extend = {
9851  init: function init(siteid, entityname, requestcontext) {
9852    this.queryString = entityname + '/?_cacheid=' + Math.random();
9853    this.propIndex = 0;
9854    this._requestcontext = requestcontext || Mura.getRequestContext();
9855    return this;
9856  },
9857
9858  /**
9859   * fields - List fields to retrieve from API
9860   *
9861   * @param  {string} fields List of fields
9862   * @return {Mura.Feed}        Self
9863   */
9864  fields: function fields(_fields) {
9865    if (typeof _fields != 'undefined' && _fields) {
9866      this.queryString += '&fields=' + encodeURIComponent(_fields);
9867    }
9868
9869    return this;
9870  },
9871
9872  /**
9873   * setRequestContext - Sets the RequestContext
9874   *
9875   * @RequestContext  {Mura.RequestContext} Mura.RequestContext List of fields
9876   * @return {Mura.Feed}        Self
9877   */
9878  setRequestContext: function setRequestContext(RequestContext) {
9879    this._requestcontext = RequestContext;
9880    return this;
9881  },
9882
9883  /**
9884   * contentPoolID - Sets items per page
9885   *
9886   * @param  {string} contentPoolID Items per page
9887   * @return {Mura.Feed}              Self
9888   */
9889  contentPoolID: function contentPoolID(_contentPoolID) {
9890    this.queryString += '&contentpoolid=' + encodeURIComponent(_contentPoolID);
9891    return this;
9892  },
9893
9894  /**
9895   * name - Sets the name of the content feed to use
9896   *
9897   * @param  {string} name Name of feed as defined in admin
9898   * @return {Mura.Feed}              Self
9899   */
9900  name: function name(_name) {
9901    this.queryString += '&feedname=' + encodeURIComponent(_name);
9902    return this;
9903  },
9904
9905  /**
9906   * cacheKey - Set unique key in cache
9907   *
9908   * @param  {string} cacheKey Unique key in cache
9909   * @return {Mura.Feed}              Self
9910   */
9911  cacheKey: function cacheKey(_cacheKey) {
9912    this.queryString += '&cacheKey=' + encodeURIComponent(_cacheKey);
9913    return this;
9914  },
9915
9916  /**
9917   * cachedWithin - Sets maximum number of seconds to remain in cache
9918   *
9919   * @param  {number} cachedWithin Maximum number of seconds to remain in cache
9920   * @return {Mura.Feed}              Self
9921   */
9922  cachedWithin: function cachedWithin(_cachedWithin) {
9923    this.queryString += '&cachedWithin=' + encodeURIComponent(_cachedWithin);
9924    return this;
9925  },
9926
9927  /**
9928   * purgeCache - Sets whether to purge any existing cached values
9929   *
9930   * @param  {boolean} purgeCache Whether to purge any existing cached values
9931   * @return {Mura.Feed}              Self
9932   */
9933  purgeCache: function purgeCache(_purgeCache) {
9934    this.queryString += '&purgeCache=' + encodeURIComponent(_purgeCache);
9935    return this;
9936  },
9937
9938  /**
9939   * contentPoolID - Sets items per page
9940   *
9941   * @param  {string} feedID Items per page
9942   * @return {Mura.Feed}              Self
9943   */
9944  feedID: function feedID(_feedID) {
9945    this.queryString += '&feedid=' + encodeURIComponent(_feedID);
9946    return this;
9947  },
9948
9949  /**
9950   * where - Optional method for starting query chain
9951   *
9952   * @param  {string} property Property name
9953   * @return {Mura.Feed}          Self
9954   */
9955  where: function where(property) {
9956    if (property) {
9957      return this.andProp(property);
9958    }
9959
9960    return this;
9961  },
9962
9963  /**
9964   * prop - Add new property value
9965   *
9966   * @param  {string} property Property name
9967   * @return {Mura.Feed}          Self
9968   */
9969  prop: function prop(property) {
9970    return this.andProp(property);
9971  },
9972
9973  /**
9974   * andProp - Add new AND property value
9975   *
9976   * @param  {string} property Property name
9977   * @return {Mura.Feed}          Self
9978   */
9979  andProp: function andProp(property) {
9980    this.queryString += '&' + encodeURIComponent(property + '[' + this.propIndex + ']') + '=';
9981    this.propIndex++;
9982    return this;
9983  },
9984
9985  /**
9986   * orProp - Add new OR property value
9987   *
9988   * @param  {string} property Property name
9989   * @return {Mura.Feed}          Self
9990   */
9991  orProp: function orProp(property) {
9992    this.queryString += '&or' + encodeURIComponent('[' + this.propIndex + ']') + '&';
9993    this.propIndex++;
9994    this.queryString += encodeURIComponent(property + '[' + this.propIndex + ']') + '=';
9995    this.propIndex++;
9996    return this;
9997  },
9998
9999  /**
10000   * isEQ - Checks if preceding property value is EQ to criteria
10001   *
10002   * @param  {*} criteria Criteria
10003   * @return {Mura.Feed}          Self
10004   */
10005  isEQ: function isEQ(criteria) {
10006    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10007      criteria = 'null';
10008    }
10009
10010    this.queryString += encodeURIComponent(criteria);
10011    return this;
10012  },
10013
10014  /**
10015   * isNEQ - Checks if preceding property value is NEQ to criteria
10016   *
10017   * @param  {*} criteria Criteria
10018   * @return {Mura.Feed}          Self
10019   */
10020  isNEQ: function isNEQ(criteria) {
10021    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10022      criteria = 'null';
10023    }
10024
10025    this.queryString += encodeURIComponent('neq^' + criteria);
10026    return this;
10027  },
10028
10029  /**
10030   * isLT - Checks if preceding property value is LT to criteria
10031   *
10032   * @param  {*} criteria Criteria
10033   * @return {Mura.Feed}          Self
10034   */
10035  isLT: function isLT(criteria) {
10036    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10037      criteria = 'null';
10038    }
10039
10040    this.queryString += encodeURIComponent('lt^' + criteria);
10041    return this;
10042  },
10043
10044  /**
10045   * isLTE - Checks if preceding property value is LTE to criteria
10046   *
10047   * @param  {*} criteria Criteria
10048   * @return {Mura.Feed}          Self
10049   */
10050  isLTE: function isLTE(criteria) {
10051    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10052      criteria = 'null';
10053    }
10054
10055    this.queryString += encodeURIComponent('lte^' + criteria);
10056    return this;
10057  },
10058
10059  /**
10060   * isGT - Checks if preceding property value is GT to criteria
10061   *
10062   * @param  {*} criteria Criteria
10063   * @return {Mura.Feed}          Self
10064   */
10065  isGT: function isGT(criteria) {
10066    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10067      criteria = 'null';
10068    }
10069
10070    this.queryString += encodeURIComponent('gt^' + criteria);
10071    return this;
10072  },
10073
10074  /**
10075   * isGTE - Checks if preceding property value is GTE to criteria
10076   *
10077   * @param  {*} criteria Criteria
10078   * @return {Mura.Feed}          Self
10079   */
10080  isGTE: function isGTE(criteria) {
10081    if (typeof criteria == 'undefined' || criteria === '' || criteria == null) {
10082      criteria = 'null';
10083    }
10084
10085    this.queryString += encodeURIComponent('gte^' + criteria);
10086    return this;
10087  },
10088
10089  /**
10090   * isIn - Checks if preceding property value is IN to list of criterias
10091   *
10092   * @param  {*} criteria Criteria List
10093   * @return {Mura.Feed}          Self
10094   */
10095  isIn: function isIn(criteria) {
10096    this.queryString += encodeURIComponent('in^' + criteria);
10097    return this;
10098  },
10099
10100  /**
10101   * isNotIn - Checks if preceding property value is NOT IN to list of criterias
10102   *
10103   * @param  {*} criteria Criteria List
10104   * @return {Mura.Feed}          Self
10105   */
10106  isNotIn: function isNotIn(criteria) {
10107    this.queryString += encodeURIComponent('notin^' + criteria);
10108    return this;
10109  },
10110
10111  /**
10112   * containsValue - Checks if preceding property value is CONTAINS the value of criteria
10113   *
10114   * @param  {*} criteria Criteria
10115   * @return {Mura.Feed}          Self
10116   */
10117  containsValue: function containsValue(criteria) {
10118    this.queryString += encodeURIComponent('containsValue^' + criteria);
10119    return this;
10120  },
10121  contains: function contains(criteria) {
10122    this.queryString += encodeURIComponent('containsValue^' + criteria);
10123    return this;
10124  },
10125
10126  /**
10127   * beginsWith - Checks if preceding property value BEGINS WITH criteria
10128   *
10129   * @param  {*} criteria Criteria
10130   * @return {Mura.Feed}          Self
10131   */
10132  beginsWith: function beginsWith(criteria) {
10133    this.queryString += encodeURIComponent('begins^' + criteria);
10134    return this;
10135  },
10136
10137  /**
10138   * endsWith - Checks if preceding property value ENDS WITH criteria
10139   *
10140   * @param  {*} criteria Criteria
10141   * @return {Mura.Feed}          Self
10142   */
10143  endsWith: function endsWith(criteria) {
10144    this.queryString += encodeURIComponent('ends^' + criteria);
10145    return this;
10146  },
10147
10148  /**
10149   * openGrouping - Start new logical condition grouping
10150   *
10151   * @return {Mura.Feed}          Self
10152   */
10153  openGrouping: function openGrouping() {
10154    this.queryString += '&openGrouping' + encodeURIComponent('[' + this.propIndex + ']');
10155    this.propIndex++;
10156    return this;
10157  },
10158
10159  /**
10160   * openGrouping - Starts new logical condition grouping
10161   *
10162   * @return {Mura.Feed}          Self
10163   */
10164  andOpenGrouping: function andOpenGrouping() {
10165    this.queryString += '&andOpenGrouping' + encodeURIComponent('[' + this.propIndex + ']');
10166    this.propIndex++;
10167    return this;
10168  },
10169
10170  /**
10171   * orOpenGrouping - Starts new logical condition grouping
10172   *
10173   * @return {Mura.Feed}          Self
10174   */
10175  orOpenGrouping: function orOpenGrouping() {
10176    this.queryString += '&orOpenGrouping' + encodeURIComponent('[' + this.propIndex + ']');
10177    this.propIndex++;
10178    return this;
10179  },
10180
10181  /**
10182   * openGrouping - Closes logical condition grouping
10183   *
10184   * @return {Mura.Feed}          Self
10185   */
10186  closeGrouping: function closeGrouping() {
10187    this.queryString += '&closeGrouping' + encodeURIComponent('[' + this.propIndex + ']');
10188    this.propIndex++;
10189    return this;
10190  },
10191
10192  /**
10193   * sort - Set desired sort or return collection
10194   *
10195   * @param  {string} property  Property
10196   * @param  {string} direction Sort direction
10197   * @return {Mura.Feed}           Self
10198   */
10199  sort: function sort(property, direction) {
10200    direction = direction || 'asc';
10201
10202    if (direction == 'desc') {
10203      this.queryString += '&sort' + encodeURIComponent('[' + this.propIndex + ']') + '=' + encodeURIComponent('-' + property);
10204    } else {
10205      this.queryString += '&sort' + encodeURIComponent('[' + this.propIndex + ']') + '=' + encodeURIComponent(property);
10206    }
10207
10208    this.propIndex++;
10209    return this;
10210  },
10211
10212  /**
10213   * itemsPerPage - Sets items per page
10214   *
10215   * @param  {number} itemsPerPage Items per page
10216   * @return {Mura.Feed}              Self
10217   */
10218  itemsPerPage: function itemsPerPage(_itemsPerPage) {
10219    this.queryString += '&itemsPerPage=' + encodeURIComponent(_itemsPerPage);
10220    return this;
10221  },
10222
10223  /**
10224   * pageIndex - Sets items per page
10225   *
10226   * @param  {number} pageIndex page to start at
10227   */
10228  pageIndex: function pageIndex(_pageIndex) {
10229    this.queryString += '&pageIndex=' + encodeURIComponent(_pageIndex);
10230    return this;
10231  },
10232
10233  /**
10234   * maxItems - Sets max items to return
10235   *
10236   * @param  {number} maxItems Items to return
10237   * @return {Mura.Feed}              Self
10238   */
10239  maxItems: function maxItems(_maxItems) {
10240    this.queryString += '&maxItems=' + encodeURIComponent(_maxItems);
10241    return this;
10242  },
10243
10244  /**
10245   * distinct - Sets to select distinct values of select fields
10246   *
10247   * @param  {boolean} distinct Whether to to select distinct values
10248   * @return {Mura.Feed}              Self
10249   */
10250  distinct: function distinct(_distinct) {
10251    if (typeof _distinct == 'undefined') {
10252      _distinct = true;
10253    }
10254
10255    this.queryString += '&distinct=' + encodeURIComponent(_distinct);
10256    return this;
10257  },
10258
10259  /**
10260   * aggregate - Define aggregate values that you would like (sum,max,min,cout,avg,groupby)
10261   *
10262   * @param  {string} type Type of aggregation (sum,max,min,cout,avg,groupby)
10263   * @param  {string} property property
10264   * @return {Mura.Feed}	Self
10265   */
10266  aggregate: function aggregate(type, property) {
10267    if (type == 'count' && typeof property == 'undefined') {
10268      property = '*';
10269    }
10270
10271    if (typeof type != 'undefined' && typeof property != 'undefined') {
10272      this.queryString += '&' + encodeURIComponent(type + '[' + this.propIndex + ']') + '=' + property;
10273      this.propIndex++;
10274    }
10275
10276    return this;
10277  },
10278
10279  /**
10280   * liveOnly - Set whether to return all content or only content that is currently live.
10281   * This only works if the user has module level access to the current site's content
10282   *
10283   * @param  {number} liveOnly 0 or 1
10284   * @return {Mura.Feed}              Self
10285   */
10286  liveOnly: function liveOnly(_liveOnly) {
10287    this.queryString += '&liveOnly=' + encodeURIComponent(_liveOnly);
10288    return this;
10289  },
10290
10291  /**
10292   * groupBy - Sets property or properties to group by
10293   *
10294   * @param  {string} groupBy
10295   * @return {Mura.Feed}              Self
10296   */
10297  groupBy: function groupBy(property) {
10298    if (typeof property != 'undefined') {
10299      this.queryString += '&' + encodeURIComponent('groupBy[' + this.propIndex + ']') + '=' + property;
10300      this.propIndex++;
10301    }
10302
10303    return this;
10304  }
10305}, _defineProperty(_Mura$Core$extend, "maxItems", function maxItems(_maxItems2) {
10306  this.queryString += '&maxItems=' + encodeURIComponent(_maxItems2);
10307  return this;
10308}), _defineProperty(_Mura$Core$extend, "showNavOnly", function showNavOnly(_showNavOnly) {
10309  this.queryString += '&showNavOnly=' + encodeURIComponent(_showNavOnly);
10310  return this;
10311}), _defineProperty(_Mura$Core$extend, "expand", function expand(_expand) {
10312  if (typeof _expand == 'undefined') {
10313    _expand = 'all';
10314  }
10315
10316  if (_expand) {
10317    this.queryString += '&expand=' + encodeURIComponent(_expand);
10318  }
10319
10320  return this;
10321}), _defineProperty(_Mura$Core$extend, "expandDepth", function expandDepth(_expandDepth) {
10322  _expandDepth = _expandDepth || 1;
10323
10324  if (Mura.isNumeric(_expandDepth) && Number(parseFloat(_expandDepth)) > 1) {
10325    this.queryString += '&expandDepth=' + encodeURIComponent(_expandDepth);
10326  }
10327
10328  return this;
10329}), _defineProperty(_Mura$Core$extend, "findMany", function findMany(ids) {
10330  if (!Array.isArray(ids)) {
10331    ids = ids.split(",");
10332  }
10333
10334  if (!ids.length) {
10335    ids = [Mura.createUUID()];
10336  }
10337
10338  if (ids.length === 1) {
10339    this.andProp('id').isEQ(ids[0]);
10340  } else {
10341    this.queryString += '&id=' + encodeURIComponent(ids.join(","));
10342  }
10343
10344  return this;
10345}), _defineProperty(_Mura$Core$extend, "pointInTime", function pointInTime(_pointInTime) {
10346  this.queryString += '&pointInTime=' + encodeURIComponent(_pointInTime);
10347  return this;
10348}), _defineProperty(_Mura$Core$extend, "showExcludeSearch", function showExcludeSearch(_showExcludeSearch) {
10349  this.queryString += '&showExcludeSearch=' + encodeURIComponent(_showExcludeSearch);
10350  return this;
10351}), _defineProperty(_Mura$Core$extend, "applyPermFilter", function applyPermFilter(_applyPermFilter) {
10352  this.queryString += '&applyPermFilter=' + encodeURIComponent(_applyPermFilter);
10353  return this;
10354}), _defineProperty(_Mura$Core$extend, "imageSizes", function imageSizes(_imageSizes) {
10355  this.queryString += '&imageSizes=' + encodeURIComponent(_imageSizes);
10356  return this;
10357}), _defineProperty(_Mura$Core$extend, "useCategoryIntersect", function useCategoryIntersect(_useCategoryIntersect) {
10358  this.queryString += '&useCategoryIntersect=' + encodeURIComponent(_useCategoryIntersect);
10359  return this;
10360}), _defineProperty(_Mura$Core$extend, "includeHomepage", function includeHomepage(_includeHomepage) {
10361  this.queryString += '&includehomepage=' + encodeURIComponent(_includeHomepage);
10362  return this;
10363}), _defineProperty(_Mura$Core$extend, "innerJoin", function innerJoin(relatedEntity) {
10364  this.queryString += '&innerJoin' + encodeURIComponent('[' + this.propIndex + ']') + '=' + encodeURIComponent(relatedEntity);
10365  this.propIndex++;
10366  return this;
10367}), _defineProperty(_Mura$Core$extend, "leftJoin", function leftJoin(relatedEntity) {
10368  this.queryString += '&leftJoin' + encodeURIComponent('[' + this.propIndex + ']') + '=' + encodeURIComponent(relatedEntity);
10369  this.propIndex++;
10370  return this;
10371}), _defineProperty(_Mura$Core$extend, "getIterator", function getIterator(params) {
10372  return this.getQuery(params);
10373}), _defineProperty(_Mura$Core$extend, "getQuery", function getQuery(params) {
10374  var self = this;
10375
10376  if (typeof params != 'undefined') {
10377    for (var p in params) {
10378      if (params.hasOwnProperty(p)) {
10379        if (typeof self[p] == 'function') {
10380          self[p](params[p]);
10381        } else {
10382          self.andProp(p).isEQ(params[p]);
10383        }
10384      }
10385    }
10386  }
10387
10388  return new Promise(function (resolve, reject) {
10389    var rcEndpoint = self._requestcontext.getAPIEndpoint();
10390
10391    if (rcEndpoint.charAt(rcEndpoint.length - 1) == "/") {
10392      var apiEndpoint = rcEndpoint;
10393    } else {
10394      var apiEndpoint = rcEndpoint + '/';
10395    }
10396
10397    self._requestcontext.request({
10398      type: 'get',
10399      url: apiEndpoint + self.queryString,
10400      success: function success(resp) {
10401        if (resp.data != 'undefined') {
10402          var returnObj = new Mura.EntityCollection(resp.data, self._requestcontext);
10403
10404          if (typeof resolve == 'function') {
10405            resolve(returnObj);
10406          }
10407        } else if (typeof reject == 'function') {
10408          reject(resp);
10409        }
10410      },
10411      error: function error(resp) {
10412        if (typeof reject == 'function') {
10413          reject(resp);
10414        }
10415      }
10416    });
10417  });
10418}), _Mura$Core$extend));
10419
10420/***/ }),
10421
10422/***/ 7023:
10423/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
10424
10425function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10426
10427var Mura = __webpack_require__(791); //https://github.com/malko/l.js
10428
10429/*
10430* script for js/css parallel loading with dependancies management
10431* @author Jonathan Gotti < jgotti at jgotti dot net >
10432* @licence dual licence mit / gpl
10433* @since 2012-04-12
10434* @todo add prefetching using text/cache for js files
10435* @changelog
10436*            - 2014-06-26 - bugfix in css loaded check when hashbang is used
10437*            - 2014-05-25 - fallback support rewrite + null id bug correction + minification work
10438*            - 2014-05-21 - add cdn fallback support with hashbang url
10439*            - 2014-05-22 - add support for relative paths for stylesheets in checkLoaded
10440*            - 2014-05-21 - add support for relative paths for scripts in checkLoaded
10441*            - 2013-01-25 - add parrallel loading inside single load call
10442*            - 2012-06-29 - some minifier optimisations
10443*            - 2012-04-20 - now sharp part of url will be used as tag id
10444*                         - add options for checking already loaded scripts at load time
10445*            - 2012-04-19 - add addAliases method
10446* @note coding style is implied by the target usage of this script not my habbits
10447*/
10448
10449
10450if (typeof window != 'undefined' && typeof window.document != 'undefined') {
10451  var isA = function isA(a, b) {
10452    return a instanceof (b || Array);
10453  } //-- some minifier optimisation
10454  ,
10455      D = document,
10456      getElementsByTagName = 'getElementsByTagName',
10457      length = 'length',
10458      readyState = 'readyState',
10459      onreadystatechange = 'onreadystatechange' //-- get the current script tag for further evaluation of it's eventual content
10460  ,
10461      scripts = D[getElementsByTagName]("script"),
10462      scriptTag = scripts[scripts[length] - 1],
10463      script = scriptTag.innerHTML.replace(/^\s+|\s+$/g, '');
10464
10465  try {
10466    var preloadsupport = w.document.createElement("link").relList.supports("preload");
10467  } catch (e) {
10468    var preloadsupport = false;
10469  } //avoid multiple inclusion to override current loader but allow tag content evaluation
10470
10471
10472  if (!Mura.ljs) {
10473    var checkLoaded = scriptTag.src.match(/checkLoaded/) ? 1 : 0 //-- keep trace of header as we will make multiple access to it
10474    ,
10475        header = D[getElementsByTagName]("head")[0] || D.documentElement,
10476        urlParse = function urlParse(url) {
10477      var parts = {}; // u => url, i => id, f = fallback
10478
10479      parts.u = url.replace(/#(=)?([^#]*)?/g, function (m, a, b) {
10480        parts[a ? 'f' : 'i'] = b;
10481        return '';
10482      });
10483      return parts;
10484    },
10485        appendElmt = function appendElmt(type, attrs, cb) {
10486      var el = D.createElement(type),
10487          i;
10488
10489      if (type == 'script' && cb) {
10490        //-- this is not intended to be used for link
10491        if (el[readyState]) {
10492          el[onreadystatechange] = function () {
10493            if (el[readyState] === "loaded" || el[readyState] === "complete") {
10494              el[onreadystatechange] = null;
10495              cb();
10496            }
10497          };
10498        } else {
10499          el.onload = cb;
10500        }
10501      } else if (type == 'link' && _typeof(attrs) == 'object' && typeof attrs.rel != 'undefined' && attrs.rel == 'preload') {
10502        /*
10503        Inspired by
10504        https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
10505        */
10506        var media = attrs.media || 'all';
10507        attrs.as = attrs.as || 'style';
10508
10509        if (!preloadsupport) {
10510          attrs.media = 'x only';
10511          attrs.rel = "stylesheet";
10512        }
10513
10514        function loadCB() {
10515          if (el.addEventListener) {
10516            el.removeEventListener("load", loadCB);
10517          }
10518
10519          el.media = media || "all";
10520          el.rel = "stylesheet";
10521        }
10522
10523        function onloadcssdefined(cb) {
10524          var sheets = document.styleSheets;
10525          var resolvedHref = attrs.href;
10526          var i = sheets.length;
10527
10528          while (i--) {
10529            if (sheets[i].href === resolvedHref) {
10530              return cb();
10531            }
10532          }
10533
10534          setTimeout(function () {
10535            onloadcssdefined(cb);
10536          });
10537        }
10538
10539        ;
10540
10541        if (el.addEventListener) {
10542          el.addEventListener("load", loadCB);
10543        }
10544
10545        el.onloadcssdefined = onloadcssdefined;
10546        onloadcssdefined(loadCB);
10547      }
10548
10549      for (i in attrs) {
10550        attrs[i] && (el[i] = attrs[i]);
10551      }
10552
10553      header.appendChild(el); // return e; // unused at this time so drop it
10554    },
10555        _load = function load(url, cb) {
10556      if (this.aliases && this.aliases[url]) {
10557        var args = this.aliases[url].slice(0);
10558        isA(args) || (args = [args]);
10559        cb && args.push(cb);
10560        return this.load.apply(this, args);
10561      }
10562
10563      if (isA(url)) {
10564        // parallelized request
10565        for (var l = url[length]; l--;) {
10566          this.load(url[l]);
10567        }
10568
10569        cb && url.push(cb); // relaunch the dependancie queue
10570
10571        return this.load.apply(this, url);
10572      }
10573
10574      if (url.match(/\.css\b/)) {
10575        return this.loadcss(url, cb);
10576      } else if (url.match(/\.html\b/)) {
10577        return this.loadimport(url, cb);
10578      } else {
10579        return this.loadjs(url, cb);
10580      }
10581    },
10582        loaded = {} // will handle already loaded urls
10583    ,
10584        loader = {
10585      aliases: {},
10586      loadjs: function loadjs(url, attrs, cb) {
10587        if (_typeof(url) == 'object') {
10588          if (Array.isArray(url)) {
10589            return loader.load.apply(this, arguments);
10590          } else if (typeof attrs === 'function') {
10591            cb = attrs;
10592            attrs = {};
10593            url = attrs.href;
10594          } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10595            return loader.load.apply(this, arguments);
10596          } else {
10597            attrs = url;
10598            url = attrs.href;
10599            cb = undefined;
10600          }
10601        } else if (typeof attrs == 'function') {
10602          cb = attrs;
10603          attrs = {};
10604        } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10605          return loader.load.apply(this, arguments);
10606        }
10607
10608        if (typeof attrs === 'undefined') {
10609          attrs = {};
10610        }
10611
10612        var parts = urlParse(url);
10613        var partToAttrs = [['i', 'id'], ['f', 'fallback'], ['u', 'src']];
10614
10615        for (var i = 0; i < partToAttrs.length; i++) {
10616          var part = partToAttrs[i];
10617
10618          if (!(part[1] in attrs) && part[0] in parts) {
10619            attrs[part[1]] = parts[part[0]];
10620          }
10621        }
10622
10623        if (typeof attrs.type === 'undefined') {
10624          attrs.type = 'text/javascript';
10625        }
10626
10627        var finalAttrs = {};
10628
10629        for (var a in attrs) {
10630          if (a != 'fallback') {
10631            finalAttrs[a] = attrs[a];
10632          }
10633        }
10634
10635        finalAttrs.onerror = function (error) {
10636          if (attrs.fallback) {
10637            var c = error.currentTarget;
10638            c.parentNode.removeChild(c);
10639            finalAttrs.src = attrs.fallback;
10640            appendElmt('script', attrs, cb);
10641          }
10642        };
10643
10644        if (loaded[finalAttrs.src] === true) {
10645          // already loaded exec cb if any
10646          cb && cb();
10647          return this;
10648        } else if (loaded[finalAttrs.src] !== undefined) {
10649          // already asked for loading we append callback if any else return
10650          if (cb) {
10651            loaded[finalAttrs.src] = function (ocb, cb) {
10652              return function () {
10653                ocb && ocb();
10654                cb && cb();
10655              };
10656            }(loaded[finalAttrs.src], cb);
10657          }
10658
10659          return this;
10660        } // first time we ask this script
10661
10662
10663        loaded[finalAttrs.src] = function (cb) {
10664          return function () {
10665            loaded[finalAttrs.src] = true;
10666            cb && cb();
10667          };
10668        }(cb);
10669
10670        cb = function cb() {
10671          loaded[url]();
10672        };
10673
10674        appendElmt('script', finalAttrs, cb);
10675        return this;
10676      },
10677      loadcss: function loadcss(url, attrs, cb) {
10678        if (_typeof(url) == 'object') {
10679          if (Array.isArray(url)) {
10680            return loader.load.apply(this, arguments);
10681          } else if (typeof attrs === 'function') {
10682            cb = attrs;
10683            attrs = url;
10684            url = attrs.href;
10685          } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10686            return loader.load.apply(this, arguments);
10687          } else {
10688            attrs = url;
10689            url = attrs.href;
10690            cb = undefined;
10691          }
10692        } else if (typeof attrs == 'function') {
10693          cb = attrs;
10694          attrs = {};
10695        } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10696          return loader.load.apply(this, arguments);
10697        }
10698
10699        var parts = urlParse(url);
10700        parts = {
10701          type: 'text/css',
10702          rel: 'stylesheet',
10703          href: url,
10704          id: parts.i
10705        };
10706
10707        if (typeof attrs !== 'undefined') {
10708          for (var a in attrs) {
10709            parts[a] = attrs[a];
10710          }
10711        }
10712
10713        loaded[parts.href] || appendElmt('link', parts);
10714        loaded[parts.href] = true;
10715        cb && cb();
10716        return this;
10717      },
10718      loadimport: function loadimport(url, attrs, cb) {
10719        if (_typeof(url) == 'object') {
10720          if (Array.isArray(url)) {
10721            return loader.load.apply(this, arguments);
10722          } else if (typeof attrs === 'function') {
10723            cb = attrs;
10724            attrs = url;
10725            url = attrs.href;
10726          } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10727            return loader.load.apply(this, arguments);
10728          } else {
10729            attrs = url;
10730            url = attrs.href;
10731            cb = undefined;
10732          }
10733        } else if (typeof attrs == 'function') {
10734          cb = attrs;
10735          attrs = {};
10736        } else if (typeof attrs == 'string' || _typeof(attrs) == 'object' && Array.isArray(attrs)) {
10737          return loader.load.apply(this, arguments);
10738        }
10739
10740        var parts = urlParse(url);
10741        parts = {
10742          rel: 'import',
10743          href: url,
10744          id: parts.i
10745        };
10746
10747        if (typeof attrs !== 'undefined') {
10748          for (var a in attrs) {
10749            parts[a] = attrs[a];
10750          }
10751        }
10752
10753        loaded[parts.href] || appendElmt('link', parts);
10754        loaded[parts.href] = true;
10755        cb && cb();
10756        return this;
10757      },
10758      load: function load() {
10759        var argv = arguments,
10760            argc = argv[length];
10761
10762        if (argc === 1 && isA(argv[0], Function)) {
10763          argv[0]();
10764          return this;
10765        }
10766
10767        _load.call(this, argv[0], argc <= 1 ? undefined : function () {
10768          loader.load.apply(loader, [].slice.call(argv, 1));
10769        });
10770
10771        return this;
10772      },
10773      addAliases: function addAliases(aliases) {
10774        for (var i in aliases) {
10775          this.aliases[i] = isA(aliases[i]) ? aliases[i].slice(0) : aliases[i];
10776        }
10777
10778        return this;
10779      }
10780    };
10781
10782    if (checkLoaded) {
10783      var i, l, links, url;
10784
10785      for (i = 0, l = scripts[length]; i < l; i++) {
10786        (url = scripts[i].getAttribute('src')) && (loaded[url.replace(/#.*$/, '')] = true);
10787      }
10788
10789      links = D[getElementsByTagName]('link');
10790
10791      for (i = 0, l = links[length]; i < l; i++) {
10792        (links[i].rel === 'import' || links[i].rel === 'stylesheet' || links[i].type === 'text/css') && (loaded[links[i].getAttribute('href').replace(/#.*$/, '')] = true);
10793      }
10794    } //export ljs
10795
10796
10797    Mura.ljs = loader; // eval inside tag code if any
10798  }
10799
10800  scriptTag.src && script && appendElmt('script', {
10801    innerHTML: script
10802  });
10803}
10804
10805/***/ }),
10806
10807/***/ 7285:
10808/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
10809
10810var Mura = __webpack_require__(791);
10811/**
10812* Creates a new Mura.Core
10813* @name Mura.Core
10814* @class
10815* @memberof Mura
10816* @param  {object} properties Object containing values to set into object
10817* @return {Mura.Core}
10818*/
10819
10820
10821function Core() {
10822  this.init.apply(this, arguments);
10823  return this;
10824}
10825/** @lends Mura.Core.prototype */
10826
10827
10828Core.prototype = {
10829  init: function init() {},
10830
10831  /**
10832   * invoke - Invokes a method
10833   *
10834   * @param  {string} funcName Method to call
10835   * @param  {object} params Arguments to submit to method
10836   * @return {any}
10837   */
10838  invoke: function invoke(funcName, params) {
10839    params = params || {};
10840
10841    if (this[funcName] == 'function') {
10842      return this[funcName].apply(this, params);
10843    }
10844  },
10845
10846  /**
10847   * trigger - Triggers custom event on Mura objects
10848   *
10849   * @name Mura.Core.trigger
10850   * @function
10851   * @param  {string} eventName  Name of header
10852   * @return {object}  Self
10853   */
10854  trigger: function trigger(eventName) {
10855    eventName = eventName.toLowerCase();
10856
10857    if (typeof this.prototype.handlers[eventName] != 'undefined') {
10858      var handlers = this.prototype.handlers[eventName];
10859
10860      for (var handler in handlers) {
10861        if (typeof handler.call == 'undefined') {
10862          handler(this);
10863        } else {
10864          handler.call(this, this);
10865        }
10866      }
10867    }
10868
10869    return this;
10870  }
10871};
10872/** @lends Mura.Core.prototype */
10873
10874/**
10875 * Extend - Allow the creation of new Mura core classes
10876 *
10877 * @name Mura.Core.extend
10878 * @function
10879 * @param  {object} properties  Properties to add to new class prototype
10880 * @return {class}  Self
10881 */
10882
10883Core.extend = function (properties) {
10884  var self = this;
10885  return Mura.extend(Mura.extendClass(self, properties), {
10886    extend: self.extend,
10887    handlers: []
10888  });
10889};
10890
10891Mura.Core = Core;
10892
10893/***/ }),
10894
10895/***/ 3902:
10896/***/ (function(__unused_webpack_module, exports) {
10897
10898if (typeof window != 'undefined' && typeof window.document != 'undefined') {
10899  window.Element && function (ElementPrototype) {
10900    ElementPrototype.matchesSelector = ElementPrototype.matchesSelector || ElementPrototype.mozMatchesSelector || ElementPrototype.msMatchesSelector || ElementPrototype.oMatchesSelector || ElementPrototype.webkitMatchesSelector || function (selector) {
10901      var node = this,
10902          nodes = (node.parentNode || node.document).querySelectorAll(selector),
10903          i = -1;
10904
10905      while (nodes[++i] && nodes[i] != node) {
10906        ;
10907      }
10908
10909      return !!nodes[i];
10910    };
10911  }(Element.prototype); //https://github.com/filamentgroup/loadCSS/blob/master/src/cssrelpreload.js
10912
10913  /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
10914
10915  /* This file is meant as a standalone workflow for
10916  - testing support for link[rel=preload]
10917  - enabling async CSS loading in browsers that do not support rel=preload
10918  - applying rel preload css once loaded, whether supported or not.
10919  */
10920
10921  (function (w) {
10922    "use strict"; // rel=preload support test
10923
10924    if (!w.loadCSS) {
10925      w.loadCSS = function () {};
10926    } // define on the loadCSS obj
10927
10928
10929    var rp = loadCSS.relpreload = {}; // rel=preload feature support test
10930    // runs once and returns a function for compat purposes
10931
10932    rp.support = function () {
10933      var ret;
10934
10935      try {
10936        ret = w.document.createElement("link").relList.supports("preload");
10937      } catch (e) {
10938        ret = false;
10939      }
10940
10941      return function () {
10942        return ret;
10943      };
10944    }(); // if preload isn't supported, get an asynchronous load by using a non-matching media attribute
10945    // then change that media back to its intended value on load
10946
10947
10948    rp.bindMediaToggle = function (link) {
10949      // remember existing media attr for ultimate state, or default to 'all'
10950      var finalMedia = link.media || "all";
10951
10952      function enableStylesheet() {
10953        link.media = finalMedia;
10954      } // bind load handlers to enable media
10955
10956
10957      if (link.addEventListener) {
10958        link.addEventListener("load", enableStylesheet);
10959      } else if (link.attachEvent) {
10960        link.attachEvent("onload", enableStylesheet);
10961      } // Set rel and non-applicable media type to start an async request
10962      // note: timeout allows this to happen async to let rendering continue in IE
10963
10964
10965      setTimeout(function () {
10966        link.rel = "stylesheet";
10967        link.media = "only x";
10968      }); // also enable media after 3 seconds,
10969      // which will catch very old browsers (android 2.x, old firefox) that don't support onload on link
10970
10971      setTimeout(enableStylesheet, 3000);
10972    }; // loop through link elements in DOM
10973
10974
10975    rp.poly = function () {
10976      // double check this to prevent external calls from running
10977      if (rp.support()) {
10978        return;
10979      }
10980
10981      var links = w.document.getElementsByTagName("link");
10982
10983      for (var i = 0; i < links.length; i++) {
10984        var link = links[i]; // qualify links to those with rel=preload and as=style attrs
10985
10986        if (link.rel === "preload" && link.getAttribute("as") === "style" && !link.getAttribute("data-loadcss")) {
10987          // prevent rerunning on link
10988          link.setAttribute("data-loadcss", true); // bind listeners to toggle media back
10989
10990          rp.bindMediaToggle(link);
10991        }
10992      }
10993    }; // if unsupported, run the polyfill
10994
10995
10996    if (!rp.support()) {
10997      // run once at least
10998      rp.poly(); // rerun poly on an interval until onload
10999
11000      var run = w.setInterval(rp.poly, 500);
11001
11002      if (w.addEventListener) {
11003        w.addEventListener("load", function () {
11004          rp.poly();
11005          w.clearInterval(run);
11006        });
11007      } else if (w.attachEvent) {
11008        w.attachEvent("onload", function () {
11009          rp.poly();
11010          w.clearInterval(run);
11011        });
11012      }
11013    } // commonjs
11014
11015
11016    if (true) {
11017      exports.loadCSS = loadCSS;
11018    } else {}
11019  })(window); //https://stackoverflow.com/questions/44091567/how-to-cover-a-div-with-an-img-tag-like-background-image-does
11020
11021
11022  if ('objectFit' in document.documentElement.style === false) {
11023    document.addEventListener('DOMContentLoaded', function () {
11024      Array.prototype.forEach.call(document.querySelectorAll('img[data-object-fit]'), function (image) {
11025        (image.runtimeStyle || image.style).background = 'url("' + image.src + '") no-repeat 50%/' + (image.currentStyle ? image.currentStyle['object-fit'] : image.getAttribute('data-object-fit'));
11026        image.src = 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'' + image.width + '\' height=\'' + image.height + '\'%3E%3C/svg%3E';
11027      });
11028    });
11029  }
11030}
11031
11032/***/ }),
11033
11034/***/ 4980:
11035/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
11036
11037function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11038
11039var Mura = __webpack_require__(791);
11040/**
11041* Creates a new Mura.RequestContext
11042* @name	Mura.RequestContext
11043* @class
11044* @extends Mura.Core
11045* @memberof Mura
11046* @param	{object} request		 Siteid
11047* @param	{object} response Entity name
11048* @param	{object} requestHeaders Optional
11049* @return {Mura.RequestContext} Self
11050*/
11051
11052
11053Mura.RequestContext = Mura.Core.extend(
11054/** @lends Mura.RequestContext.prototype */
11055{
11056  init: function init(request, response, headers, siteid, endpoint, mode) {
11057    //Logic aded to support single config object arg
11058    if (_typeof(request) === 'object' && _typeof(request.req) === 'object' && typeof response === 'undefined') {
11059      var config = request;
11060      request = config.req;
11061      response = config.res;
11062      headers = config.headers;
11063      siteid = config.siteid;
11064      endpoint = config.endpoint;
11065      mode = config.mode;
11066    } else {
11067      if (typeof headers == 'string') {
11068        var originalSiteid = siteid;
11069        siteid = headers;
11070
11071        if (_typeof(originalSiteid) === 'object') {
11072          headers = originalSiteid;
11073        } else {
11074          headers = {};
11075        }
11076      }
11077    }
11078
11079    this.siteid = siteid || Mura.siteid;
11080    this.apiEndpoint = endpoint || Mura.getAPIEndpoint();
11081    this.mode = mode || Mura.getMode();
11082    this.requestObject = request;
11083    this.responseObject = response;
11084    this._request = new Mura.Request(request, response, headers);
11085
11086    if (this.mode == 'rest') {
11087      this.apiEndpoint = this.apiEndpoint.replace('/json/', '/rest/');
11088    }
11089
11090    return this;
11091  },
11092
11093  /**
11094   * setRequestHeader - Initialiazes feed
11095   *
11096   * @param	{string} headerName	Name of header
11097   * @param	{string} value Header value
11098   * @return {Mura.RequestContext}	Self
11099   */
11100  setRequestHeader: function setRequestHeader(headerName, value) {
11101    this._request.setRequestHeader(headerName, value);
11102
11103    return this;
11104  },
11105
11106  /**
11107   * getRequestHeader - Returns a request header value
11108   *
11109   * @param	{string} headerName	Name of header
11110   * @return {string} header Value
11111   */
11112  getRequestHeader: function getRequestHeader(headerName) {
11113    return this._request.getRequestHeader(headerName);
11114  },
11115
11116  /**
11117   * getAPIEndpoint() - Returns api endpoint
11118   *
11119   * @return {object} All Headers
11120   */
11121  getAPIEndpoint: function getAPIEndpoint() {
11122    return this.apiEndpoint;
11123  },
11124
11125  /**
11126   * getMode() - Returns context's mode
11127   *
11128   * @return {object} All Headers
11129   */
11130  getMode: function getMode() {
11131    return this.mode;
11132  },
11133
11134  /**
11135   * getRequestHeaders - Returns a request header value
11136   *
11137   * @return {object} All Headers
11138   */
11139  getRequestHeaders: function getRequestHeaders() {
11140    return this._request.getRequestHeaders();
11141  },
11142
11143  /**
11144   * request - Executes a request
11145   *
11146   * @param	{object} params		 Object
11147   * @return {Promise}						Self
11148   */
11149  request: function request(params) {
11150    return this._request.execute(params);
11151  },
11152
11153  /**
11154   * renderFilename - Returns "Rendered" JSON object of content
11155   *
11156   * @param	{type} filename Mura content filename
11157   * @param	{type} params Object
11158   * @return {Promise}
11159   */
11160  renderFilename: function renderFilename(filename, params) {
11161    var query = [];
11162    var self = this;
11163    params = params || {};
11164    params.filename = params.filename || '';
11165    params.siteid = params.siteid || this.siteid;
11166
11167    for (var key in params) {
11168      if (key != 'entityname' && key != 'filename' && key != 'siteid' && key != 'method') {
11169        query.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));
11170      }
11171    }
11172
11173    return new Promise(function (resolve, reject) {
11174      self.request({
11175        async: true,
11176        type: 'get',
11177        url: self.apiEndpoint + '/content/_path/' + filename + '?' + query.join('&'),
11178        success: function success(resp) {
11179          if (resp != null && typeof location != 'undefined' && typeof resp.data != 'undefined' && typeof resp.data.redirect != 'undefined' && typeof resp.data.contentid == 'undefined') {
11180            if (resp.data.redirect && resp.data.redirect != location.href) {
11181              location.href = resp.data.redirect;
11182            } else {
11183              location.reload(true);
11184            }
11185          } else {
11186            var item = new Mura.entities.Content({}, self);
11187            item.set(resp.data);
11188            resolve(item);
11189          }
11190        },
11191        error: function error(resp) {
11192          if (resp != null && typeof resp.data != 'undefined' && typeof resp.data != 'undefined' && typeof resolve == 'function') {
11193            var item = new Mura.entities.Content({}, self);
11194            item.set(resp.data);
11195            resolve(item);
11196          } else if (typeof reject == 'function') {
11197            reject(resp);
11198          }
11199        }
11200      });
11201    });
11202  },
11203
11204  /**
11205   * findText - Returns content associated with text
11206   *
11207   * @param	{type} text
11208   * @param	{type} params Object
11209   * @return {Promise}
11210   */
11211  findText: function findText(text, params) {
11212    var self = this;
11213    params = params || {};
11214    params.text = text || params.text || '';
11215    params.siteid = params.siteid || this.siteid;
11216    params.method = "findtext";
11217    return new Promise(function (resolve, reject) {
11218      self.request({
11219        type: 'get',
11220        url: self.apiEndpoint,
11221        data: params,
11222        success: function success(resp) {
11223          var collection = new Mura.EntityCollection(resp.data, self);
11224
11225          if (typeof resolve == 'function') {
11226            resolve(collection);
11227          }
11228        },
11229        error: function error(resp) {
11230          console.log(resp);
11231        }
11232      });
11233    });
11234  },
11235
11236  /**
11237   * getEntity - Returns Mura.Entity instance
11238   *
11239   * @param	{string} entityname Entity Name
11240   * @param	{string} siteid		 Siteid
11241   * @return {Mura.Entity}
11242   */
11243  getEntity: function getEntity(entityname, siteid) {
11244    if (typeof entityname == 'string') {
11245      var properties = {
11246        entityname: entityname.substr(0, 1).toUpperCase() + entityname.substr(1)
11247      };
11248      properties.siteid = siteid || this.siteid;
11249    } else {
11250      properties = entityname;
11251      properties.entityname = properties.entityname || 'Content';
11252      properties.siteid = properties.siteid || this.siteid;
11253    }
11254
11255    properties.links = {
11256      permissions: this.apiEndpoint + properties.entityname + "/permissions"
11257    };
11258
11259    if (Mura.entities[properties.entityname]) {
11260      var entity = new Mura.entities[properties.entityname](properties, this);
11261      return entity;
11262    } else {
11263      var entity = new Mura.Entity(properties, this);
11264      return entity;
11265    }
11266  },
11267
11268  /**
11269   * getBean - Returns Mura.Entity instance
11270   *
11271   * @param	{string} entityname Entity Name
11272   * @param	{string} siteid		 Siteid
11273   * @return {Mura.Entity}
11274   */
11275  getBean: function getBean(entityname, siteid) {
11276    return this.getEntity(entityname, siteid);
11277  },
11278
11279  /**
11280   * declareEntity - Declare Entity with in service factory
11281   *
11282   * @param	{object} entityConfig Entity config object
11283   * @return {Promise}
11284   */
11285  declareEntity: function declareEntity(entityConfig) {
11286    var self = this;
11287
11288    if (this.getMode().toLowerCase() == 'rest') {
11289      return new Promise(function (resolve, reject) {
11290        self.request({
11291          async: true,
11292          type: 'POST',
11293          url: self.apiEndpoint,
11294          data: {
11295            method: 'declareEntity',
11296            entityConfig: encodeURIComponent(JSON.stringify(entityConfig))
11297          },
11298          success: function success(resp) {
11299            if (typeof resolve == 'function' && resp != null && typeof resp.data != 'undefined') {
11300              resolve(resp.data);
11301            } else if (typeof reject == 'function' && resp != null && typeof resp.error != 'undefined') {
11302              resolve(resp);
11303            } else if (typeof resolve == 'function') {
11304              resolve(resp);
11305            }
11306          }
11307        });
11308      });
11309    } else {
11310      return new Promise(function (resolve, reject) {
11311        self.request({
11312          type: 'POST',
11313          url: self.apiEndpoint + '?method=generateCSRFTokens',
11314          data: {
11315            context: ''
11316          },
11317          success: function success(resp) {
11318            self.request({
11319              async: true,
11320              type: 'POST',
11321              url: self.apiEndpoint,
11322              data: {
11323                method: 'declareEntity',
11324                entityConfig: encodeURIComponent(JSON.stringify(entityConfig)),
11325                'csrf_token': resp.data.csrf_token,
11326                'csrf_token_expires': resp.data.csrf_token_expires
11327              },
11328              success: function success(resp) {
11329                if (typeof resolve == 'function' && resp != null && typeof resp.data != 'undefined') {
11330                  resolve(resp.data);
11331                } else if (typeof reject == 'function' && resp != null && typeof resp.error != 'undefined') {
11332                  resolve(resp);
11333                } else if (typeof resolve == 'function') {
11334                  resolve(resp);
11335                }
11336              }
11337            });
11338          }
11339        });
11340      });
11341    }
11342  },
11343
11344  /**
11345   * undeclareEntity - Delete entity class from Mura
11346   *
11347   * @param	{object} entityName
11348   * @return {Promise}
11349   */
11350  undeclareEntity: function undeclareEntity(entityName, deleteSchema) {
11351    var self = this;
11352    deleteSchema = deleteSchema || false;
11353
11354    if (this.getMode().toLowerCase() == 'rest') {
11355      return new Promise(function (resolve, reject) {
11356        self.request({
11357          async: true,
11358          type: 'POST',
11359          url: self.apiEndpoint,
11360          data: {
11361            method: 'undeclareEntity',
11362            entityName: entityName,
11363            deleteSchema: deleteSchema
11364          },
11365          success: function success(resp) {
11366            if (typeof resolve == 'function' && resp != null && typeof resp.data != 'undefined') {
11367              resolve(resp.data);
11368            } else if (typeof reject == 'function' && resp != null && typeof resp.error != 'undefined') {
11369              resolve(resp);
11370            } else if (typeof resolve == 'function') {
11371              resolve(resp);
11372            }
11373          }
11374        });
11375      });
11376    } else {
11377      return new Promise(function (resolve, reject) {
11378        self.request({
11379          type: 'POST',
11380          url: self.apiEndpoint + '?method=generateCSRFTokens',
11381          data: {
11382            context: ''
11383          },
11384          success: function success(resp) {
11385            self.request({
11386              async: true,
11387              type: 'POST',
11388              url: self.apiEndpoint,
11389              data: {
11390                method: 'undeclareEntity',
11391                entityName: entityName,
11392                deleteSchema: deleteSchema,
11393                'csrf_token': resp.data.csrf_token,
11394                'csrf_token_expires': resp.data.csrf_token_expires
11395              },
11396              success: function success(resp) {
11397                if (typeof resolve == 'function' && resp != null && typeof resp.data != 'undefined') {
11398                  resolve(resp.data);
11399                } else if (typeof reject == 'function' && resp != null && typeof resp.error != 'undefined') {
11400                  resolve(resp);
11401                } else if (typeof resolve == 'function') {
11402                  resolve(resp);
11403                }
11404              }
11405            });
11406          }
11407        });
11408      });
11409    }
11410  },
11411
11412  /**
11413   * getFeed - Return new instance of Mura.Feed
11414   *
11415   * @param	{type} entityname Entity name
11416   * @return {Mura.Feed}
11417   */
11418  getFeed: function getFeed(entityname, siteid) {
11419    Mura.feeds = Mura.feeds || {};
11420    siteid = siteid || this.siteid;
11421
11422    if (typeof entityname === 'string') {
11423      entityname = entityname.substr(0, 1).toUpperCase() + entityname.substr(1);
11424
11425      if (Mura.feeds[entityname]) {
11426        var feed = new Mura.feeds[entityname](siteid, entityname, this);
11427        return feed;
11428      }
11429    }
11430
11431    var feed = new Mura.Feed(siteid, entityname, this);
11432    return feed;
11433  },
11434
11435  /**
11436   * getCurrentUser - Return Mura.Entity for current user
11437   *
11438   * @param	{object} params Load parameters, fields:listoffields
11439   * @return {Promise}
11440   */
11441  getCurrentUser: function getCurrentUser(params) {
11442    var self = this;
11443    params = params || {};
11444    params.fields = params.fields || '';
11445    return new Promise(function (resolve, reject) {
11446      if (Mura.currentUser) {
11447        resolve(Mura.currentUser);
11448      } else {
11449        self.request({
11450          async: true,
11451          type: 'get',
11452          url: self.apiEndpoint + 'findCurrentUser?fields=' + params.fields + '&_cacheid=' 
11452+ Math.random(),
11453          success: function success(resp) {
11454            if (typeof resolve == 'function') {
11455              Mura.currentUser = self.getEntity('user');
11456              Mura.currentUser.set(resp.data);
11457              resolve(Mura.currentUser);
11458            }
11459          },
11460          error: function error(resp) {
11461            if (typeof resolve == 'function') {
11462              Mura.currentUser = self.getEntity('user');
11463              Mura.currentUser.set(resp.data);
11464              resolve(Mura.currentUser);
11465            }
11466          }
11467        });
11468      }
11469    });
11470  },
11471
11472  /**
11473   * findQuery - Returns Mura.EntityCollection with properties that match params
11474   *
11475   * @param	{object} params Object of matching params
11476   * @return {Promise}
11477   */
11478  findQuery: function findQuery(params) {
11479    var self = this;
11480    params = params || {};
11481    params.entityname = params.entityname || 'content';
11482    params.siteid = params.siteid || this.siteid;
11483    params.method = params.method || 'findQuery';
11484    params['_cacheid'] == Math.random();
11485    return new Promise(function (resolve, reject) {
11486      self.request({
11487        type: 'get',
11488        url: self.apiEndpoint,
11489        data: params,
11490        success: function success(resp) {
11491          var collection = new Mura.EntityCollection(resp.data, self);
11492
11493          if (typeof resolve == 'function') {
11494            resolve(collection);
11495          }
11496        },
11497        error: function error(resp) {
11498          console.log(resp);
11499        }
11500      });
11501    });
11502  },
11503
11504  /**
11505   * login - Logs user into Mura
11506   *
11507   * @param	{string} username Username
11508   * @param	{string} password Password
11509   * @param	{string} siteid	 Siteid
11510   * @return {Promise}
11511   */
11512  login: function login(username, password, siteid) {
11513    siteid = siteid || this.siteid;
11514    var self = this;
11515    return new Promise(function (resolve, reject) {
11516      self.request({
11517        type: 'post',
11518        url: self.apiEndpoint + '?method=generateCSRFTokens',
11519        data: {
11520          siteid: siteid,
11521          context: 'login'
11522        },
11523        success: function success(resp) {
11524          self.request({
11525            async: true,
11526            type: 'post',
11527            url: self.apiEndpoint,
11528            data: {
11529              siteid: siteid,
11530              username: username,
11531              password: password,
11532              method: 'login',
11533              'csrf_token': resp.data.csrf_token,
11534              'csrf_token_expires': resp.data.csrf_token_expires
11535            },
11536            success: function success(resp) {
11537              resolve(resp.data);
11538            }
11539          });
11540        }
11541      });
11542    });
11543  },
11544
11545  /**
11546  * openGate - Open's content gate when using MXP
11547  *
11548  * @param	{string} contentid Optional: default's to Mura.contentid
11549  * @return {Promise}
11550  * @memberof {class
11551  */
11552  openGate: function openGate(contentid) {
11553    var self = this;
11554    contentid = contentid || Mura.contentid;
11555
11556    if (contentid) {
11557      if (this.getMode().toLowerCase() == 'rest') {
11558        return new Promise(function (resolve, reject) {
11559          self.request({
11560            async: true,
11561            type: 'POST',
11562            url: self.apiEndpoint + '/gatedasset/open',
11563            data: {
11564              contentid: contentid
11565            },
11566            success: function success(resp) {
11567              if (typeof resolve == 'function' && typeof resp.data != 'undefined') {
11568                resolve(resp.data);
11569              } else if (typeof reject == 'function' && typeof resp.error != 'undefined') {
11570                resolve(resp);
11571              } else if (typeof resolve == 'function') {
11572                resolve(resp);
11573              }
11574            }
11575          });
11576        });
11577      } else {
11578        return new Promise(function (resolve, reject) {
11579          self.request({
11580            type: 'POST',
11581            url: self.apiEndpoint + '?method=generateCSRFTokens',
11582            data: {
11583              context: contentid
11584            },
11585            success: function success(resp) {
11586              self.request({
11587                async: true,
11588                type: 'POST',
11589                url: self.apiEndpoint + '/gatedasset/open',
11590                data: {
11591                  contentid: contentid
11592                },
11593                success: function success(resp) {
11594                  if (typeof resolve == 'function' && typeof resp.data != 'undefined') {
11595                    resolve(resp.data);
11596                  } else if (typeof reject == 'function' && typeof resp.error != 'undefined') {
11597                    resolve(resp);
11598                  } else if (typeof resolve == 'function') {
11599                    resolve(resp);
11600                  }
11601                }
11602              });
11603            }
11604          });
11605        });
11606      }
11607    }
11608  },
11609
11610  /**
11611   * logout - Logs user out
11612   *
11613   * @param	{type} siteid Siteid
11614   * @return {Promise}
11615   */
11616  logout: function logout(siteid) {
11617    siteid = siteid || this.siteid;
11618    var self = this;
11619    return new Promise(function (resolve, reject) {
11620      self.request({
11621        async: true,
11622        type: 'post',
11623        url: self.apiEndpoint,
11624        data: {
11625          siteid: siteid,
11626          method: 'logout'
11627        },
11628        success: function success(resp) {
11629          resolve(resp.data);
11630        }
11631      });
11632    });
11633  },
11634
11635  /**
11636   * normalizeRequest - I normalize protocol requests
11637   *
11638   * @param	{url} url	URL
11639   * @param	{object} data Data to send to url
11640   * @return {Promise}
11641   */
11642  normalizeRequest: function normalizeRequest(type, url, data, config) {
11643    if (_typeof(url) == 'object') {
11644      data = url.data;
11645      config = url;
11646      url = url.url;
11647    } else {
11648      config = config || {};
11649    }
11650
11651    Mura.normalizeRequestHandler(config);
11652    var self = this;
11653    data = data || {};
11654    return new Promise(function (resolve, reject) {
11655      if (typeof resolve == 'function') {
11656        config.success = resolve;
11657      }
11658
11659      if (typeof reject == 'function') {
11660        config.error = reject;
11661      }
11662
11663      var normalizedConfig = Mura.extend({
11664        type: type,
11665        url: url,
11666        data: data
11667      }, config);
11668      return self.request(normalizedConfig);
11669    });
11670  },
11671
11672  /**
11673   * get - Make GET request
11674   *
11675   * @param	{url} url	URL
11676   * @param	{object} data Data to send to url
11677   * @return {Promise}
11678   */
11679  get: function get(url, data, config) {
11680    return this.normalizeRequest('get', url, data, config);
11681  },
11682
11683  /**
11684   * post - Make POST request
11685   *
11686   * @param	{url} url	URL
11687   * @param	{object} data Data to send to url
11688   * @return {Promise}
11689   */
11690  post: function post(url, data, config) {
11691    return this.normalizeRequest('post', url, data, config);
11692  },
11693
11694  /**
11695   * put - Make PUT request
11696   *
11697   * @param	{url} url	URL
11698   * @param	{object} data Data to send to url
11699   * @return {Promise}
11700   */
11701  put: function put(url, data, config) {
11702    return this.normalizeRequest('put', url, data, config);
11703  },
11704
11705  /**
11706   * update - Make UPDATE request
11707   *
11708   * @param	{url} url	URL
11709   * @param	{object} data Data to send to url
11710   * @return {Promise}
11711   */
11712  patch: function patch(url, data, config) {
11713    return this.normalizeRequest('patch', url, data, config);
11714  },
11715
11716  /**
11717   * delete - Make DELETE request
11718   *
11719   * @param	{url} url	URL
11720   * @param	{object} data Data to send to url
11721   * @return {Promise}
11722   */
11723  delete: function _delete(url, data, config) {
11724    return this.normalizeRequest('delete', url, data, config);
11725  },
11726
11727  /**
11728   * Request Headers
11729  **/
11730  requestHeaders: {}
11731});
11732
11733/***/ }),
11734
11735/***/ 9058:
11736/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
11737
11738function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11739
11740var Mura = __webpack_require__(791);
11741/**
11742* Creates a new Mura.Request
11743* @name	Mura.Request
11744* @class
11745* @extends Mura.Core
11746* @memberof Mura
11747* @param	{object} request		 Siteid
11748* @param	{object} response Entity name
11749* @param	{object} requestHeaders Optional
11750* @return {Mura.Request}	Self
11751*/
11752
11753
11754Mura.Request = Mura.Core.extend(
11755/** @lends Mura.Request.prototype */
11756{
11757  init: function init(request, response, headers) {
11758    this.requestObject = request;
11759    this.responseObject = response;
11760    this.requestHeaders = headers || {};
11761    this.inNode = typeof XMLHttpRequest === 'undefined';
11762    return this;
11763  },
11764
11765  /**
11766  * execute - Make ajax request
11767  *
11768  * @param	{object} config
11769  * @return {Promise}
11770  */
11771  execute: function execute(config) {
11772    if (!('type' in config)) {
11773      config.type = 'GET';
11774    }
11775
11776    if (!('data' in config)) {
11777      config.data = {};
11778    }
11779
11780    if (!('headers' in config)) {
11781      config.headers = {};
11782    }
11783
11784    if ('method' in config) {
11785      config.type = config.method;
11786    }
11787
11788    if (!('dataType' in config)) {
11789      config.dataType = 'default';
11790    }
11791
11792    Mura.normalizeRequestHandler(config);
11793    config.type = config.type.toLowerCase();
11794
11795    try {
11796      //if is in node not a FormData obj
11797      if (this.inNode || !(config.data instanceof FormData)) {
11798        if (config.type === 'get' && !(typeof config.url === 'string' && config.url.toLowerCase().indexOf('purgecache') > -1) && typeof config.data.purgeCache === 'undefined' && typeof config.data.purgecache === 'undefined') {
11799          var sourceParams = {};
11800
11801          if (!this.inNode && typeof location != 'undefined' && location.search) {
11802            sourceParams = Mura.getQueryStringParams(location.search);
11803          } else if (typeof this.requestObject != 'undefined' && typeof this.requestObject.url === 'string' && this.requestObject.url) {
11804            var qa = this.requestObject.url.split("?");
11805
11806            if (qa.length) {
11807              var qs = qa[qa.length - 1] || '';
11808              qs = qs.toString();
11809              sourceParams = Mura.getQueryStringParams(qs);
11810            }
11811          }
11812
11813          if (typeof sourceParams.purgeCache != 'undefined') {
11814            config.data.purgeCache = sourceParams.purgeCache;
11815          } else if (typeof sourceParams.purgecache != 'undefined') {
11816            config.data.purgecache = sourceParams.purgecache;
11817          }
11818        }
11819      }
11820    } catch (e) {
11821      console.log(e);
11822    }
11823
11824    if (typeof config.data.httpmethod != 'undefined') {
11825      config.type = config.data.httpmethod;
11826      delete config.data.httpmethod;
11827    }
11828
11829    if (this.inNode) {
11830      this.nodeRequest(config);
11831    } else {
11832      this.xhrRequest(config);
11833    }
11834  },
11835
11836  /**
11837   * setRequestHeader - Initialiazes feed
11838   *
11839   * @param	{string} headerName	Name of header
11840   * @param	{string} value Header value
11841   * @return {Mura.RequestContext}						Self
11842   */
11843  setRequestHeader: function setRequestHeader(headerName, value) {
11844    headerName = headerName.toLowerCase();
11845    this.requestHeaders[headerName] = value;
11846    return this;
11847  },
11848
11849  /**
11850   * getRequestHeader - Returns a request header value
11851   *
11852   * @param	{string} headerName	Name of header
11853   * @return {string} header Value
11854   */
11855  getRequestHeader: function getRequestHeader(headerName) {
11856    headerName = headerName.toLowerCase();
11857
11858    if (typeof this.requestHeaders[headerName] != 'undefined') {
11859      return this.requestHeaders[headerName];
11860    } else {
11861      return null;
11862    }
11863  },
11864
11865  /**
11866   * getRequestHeaders - Returns a request header value
11867   *
11868   * @return {object} All Headers
11869   */
11870  getRequestHeaders: function getRequestHeaders() {
11871    return this.requestHeaders;
11872  },
11873  nodeRequest: function nodeRequest(config) {
11874    var _this = this;
11875
11876    if (typeof Mura.renderMode != 'undefined') {
11877      config.renderMode = Mura.renderMode;
11878    }
11879
11880    var self = this;
11881
11882    if (typeof this.requestObject != 'undefined') {
11883      ['Cookie', 'X-Client_id', 'X-Client_secret', 'X-Access_token', 'Access_Token', 'Authorization', 'User-Agent', 'Referer', 'X-Forwarded-For', 'X-Forwarded-Host', 'X-Forwarded-Proto'].forEach(function (item) {
11884        if (typeof _this.requestObject.headers[item] != 'undefined') {
11885          config.headers[item.toLowerCase()] = _this.requestObject.headers[item];
11886        } else {
11887          var lcaseItem = item.toLowerCase();
11888
11889          if (typeof _this.requestObject.headers[lcaseItem] != 'undefined') {
11890            config.headers[lcaseItem] = _this.requestObject.headers[lcaseItem];
11891          }
11892        }
11893      });
11894    }
11895
11896    var h;
11897
11898    for (h in Mura.requestHeaders) {
11899      if (Mura.requestHeaders.hasOwnProperty(h)) {
11900        config.headers[h.toLowerCase()] = config.requestHeaders[h];
11901      }
11902    }
11903
11904    for (h in this.requestHeaders) {
11905      if (this.requestHeaders.hasOwnProperty(h)) {
11906        config.headers[h.toLowerCase()] = this.requestHeaders[h];
11907      }
11908    } //console.log('pre:',config.headers)
11909
11910
11911    var nodeProxyHeaders = function nodeProxyHeaders(response) {
11912      if (typeof self.responseObject != 'undefined') {
11913        self.responseObject.proxiedResponse = response;
11914
11915        if (!self.responseObject.headersSent) {
11916          if (response.statusCode > 300 && response.status < 400) {
11917            var _header = response.headers['location'];
11918
11919            if (_header) {
11920              try {
11921                //match casing of mura-next connector
11922                self.responseObject.setHeader('location', _header);
11923                self.responseObject.statusCode = httpResponse.statusCode;
11924              } catch (e) {
11925                console.log('Error setting location header');
11926              }
11927            }
11928          }
11929
11930          var header = '';
11931          header = response.headers['cache-control'];
11932
11933          if (header) {
11934            try {
11935              //match casing of mura-next connector
11936              self.responseObject.setHeader('cache-control', header);
11937            } catch (e) {
11938              console.log(e);
11939              console.log('Error setting Cache-Control header');
11940            }
11941          }
11942
11943          header = response.headers['pragma'];
11944
11945          if (header) {
11946            try {
11947              //match casing of mura-next connector
11948              self.responseObject.setHeader('pragma', header);
11949            } catch (e) {
11950              console.log('Error setting Pragma header');
11951            }
11952          }
11953        }
11954      }
11955    };
11956
11957    var nodeProxyCookies = function nodeProxyCookies(response) {
11958      var debug = typeof Mura.debug != 'undefined' && Mura.debug;
11959
11960      if (typeof self.responseObject != 'undefined') {
11961        var existingCookies = typeof self.requestObject.headers['cookie'] != 'undefined' ? self.requestObject.headers['cookie'] : '';
11962        var newSetCookies = response.headers['set-cookie'];
11963
11964        if (Array.isArray(existingCookies)) {
11965          if (existingCookies.length) {
11966            existingCookies = existingCookies[0];
11967          } else {
11968            existingCookies = '';
11969          }
11970        }
11971
11972        existingCookies = existingCookies.split("; ");
11973
11974        if (!Array.isArray(newSetCookies)) {
11975          newSetCookies = [];
11976        }
11977
11978        if (debug) {
11979          console.log('response cookies:');
11980          console.log(newSetCookies);
11981        }
11982
11983        try {
11984          self.responseObject.setHeader('set-cookie', newSetCookies);
11985        } catch (e) {//console.log('Header already sent');
11986        }
11987
11988        var cookieMap = {};
11989        var setMap = {};
11990        var c;
11991        var tempCookie; // pull out existing cookies
11992
11993        if (existingCookies.length) {
11994          for (c in existingCookies) {
11995            tempCookie = existingCookies[c];
11996
11997            if (typeof tempCookie != 'undefined') {
11998              tempCookie = existingCookies[c].split(" ")[0].split("=");
11999
12000              if (tempCookie.length > 1) {
12001                cookieMap[tempCookie[0]] = tempCookie[1].split(';')[0];
12002              }
12003            }
12004          }
12005        }
12006
12007        if (debug) {
12008          console.log('existing 1:');
12009          console.log(cookieMap);
12010        } // pull out new cookies
12011
12012
12013        if (newSetCookies.length) {
12014          for (c in newSetCookies) {
12015            tempCookie = newSetCookies[c];
12016
12017            if (typeof tempCookie != 'undefined') {
12018              tempCookie = tempCookie.split(" ")[0].split("=");
12019
12020              if (tempCookie.length > 1) {
12021                cookieMap[tempCookie[0]] = tempCookie[1].split(';')[0];
12022              }
12023            }
12024          }
12025        }
12026
12027        if (debug) {
12028          console.log('existing 2:');
12029          console.log(cookieMap);
12030        }
12031
12032        var cookie = ''; // put cookies back in in the same order that they came out
12033
12034        if (existingCookies.length) {
12035          for (c in existingCookies) {
12036            tempCookie = existingCookies[c];
12037
12038            if (typeof tempCookie != 'undefined') {
12039              tempCookie = tempCookie.split(" ")[0].split("=");
12040
12041              if (tempCookie.length > 1) {
12042                if (cookie != '') {
12043                  cookie = cookie + "; ";
12044                }
12045
12046                setMap[tempCookie[0]] = true;
12047                cookie = cookie + tempCookie[0] + "=" + cookieMap[tempCookie[0]];
12048              }
12049            }
12050          }
12051        }
12052
12053        if (newSetCookies.length) {
12054          for (c in newSetCookies) {
12055            tempCookie = newSetCookies[c];
12056
12057            if (typeof tempCookie != 'undefined') {
12058              tempCookie = tempCookie.split(" ")[0].split("=");
12059
12060              if (typeof setMap[tempCookie[0]] == 'undefined' && tempCookie.length > 1) {
12061                if (cookie != '') {
12062                  cookie = cookie + "; ";
12063                }
12064
12065                setMap[tempCookie[0]] = true;
12066                cookie = cookie + tempCookie[0] + "=" + cookieMap[tempCookie[0]];
12067              }
12068            }
12069          }
12070        }
12071
12072        self.requestObject.headers['cookie'] = cookie;
12073
12074        if (debug) {
12075          console.log('merged cookies:');
12076          console.log(self.requestObject.headers['cookie']);
12077        }
12078      }
12079    };
12080
12081    (__webpack_require__(9669)["default"].request)(this.MuraToAxiosConfig(config)).then(function (response) {
12082      nodeProxyCookies(response);
12083      nodeProxyHeaders(response);
12084      config.success(response.data);
12085    }).catch(function (error) {
12086      console.log(error);
12087
12088      if (error.response) {
12089        nodeProxyCookies(error.response);
12090        nodeProxyHeaders(error.response);
12091        config.error(error.response.data);
12092      } else {
12093        config.error(error);
12094      }
12095    });
12096  },
12097  xhrRequest: function xhrRequest(config) {
12098    var h;
12099
12100    for (h in Mura.requestHeaders) {
12101      if (Mura.requestHeaders.hasOwnProperty(h)) {
12102        config.headers[h.toLowerCase()] = Mura.requestHeaders[h];
12103      }
12104    }
12105
12106    for (h in this.requestHeaders) {
12107      if (this.requestHeaders.hasOwnProperty(h)) {
12108        config.headers[h.toLowerCase()] = this.requestHeaders[h];
12109      }
12110    }
12111
12112    (__webpack_require__(9669)["default"].request)(this.MuraToAxiosConfig(config)).then(function (response) {
12113      config.success(response.data);
12114    }, function (error) {
12115      console.log(error);
12116
12117      if (error.response) {
12118        config.error(error.response.data);
12119      } else {
12120        config.error(error);
12121      }
12122    });
12123  },
12124  serializeParams: function serializeParams(params) {
12125    var query = [];
12126
12127    for (var key in params) {
12128      if (params.hasOwnProperty(key)) {
12129        query.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));
12130      }
12131    }
12132
12133    return query.join('&');
12134  },
12135  MuraToAxiosConfig: function MuraToAxiosConfig(config) {
12136    var parsedConfig = {
12137      responseType: 'text',
12138      method: config.type,
12139      headers: config.headers,
12140      url: config.url,
12141      onUploadProgress: config.progress,
12142      onDownloadProgress: config.download,
12143      withCredentials: true,
12144      paramsSerializer: this.serializeParams
12145    };
12146    var sendJSON = parsedConfig.headers['content-type'] && parsedConfig.headers['content-type'].indexOf('json') > -1;
12147    var sendFormData = !this.inNode && config.data instanceof FormData;
12148
12149    if (parsedConfig.method == 'get') {
12150      //GET send params and not data
12151      parsedConfig.params = Mura.deepExtend({}, config.data);
12152
12153      if (typeof parsedConfig.params['muraPointInTime'] == 'undefined' && typeof Mura.pointInTime != 'undefined') {
12154        parsedConfig.params['muraPointInTime'] = Mura.pointInTime;
12155      }
12156    } else {
12157      if (sendJSON) {
12158        parsedConfig.data = Object.assign({}, config.data);
12159      } else {
12160        if (sendFormData) {
12161          parsedConfig.data = config.data;
12162        } else {
12163          parsedConfig.data = Mura.deepExtend({}, config.data);
12164
12165          if (typeof parsedConfig.data['muraPointInTime'] == 'undefined' && typeof Mura.pointInTime != 'undefined') {
12166            parsedConfig.data['muraPointInTime'] = Mura.pointInTime;
12167          }
12168        }
12169
12170        if (sendFormData) {
12171          parsedConfig.headers['content-type'] = 'multipart/form-data; charset=UTF-8';
12172        } else {
12173          parsedConfig.headers['content-type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
12174          parsedConfig.data = Object.assign({}, config.data);
12175
12176          for (var p in parsedConfig.data) {
12177            if (_typeof(parsedConfig.data[p]) == 'object') {
12178              parsedConfig.data[p] = JSON.stringify(parsedConfig.data[p]);
12179            }
12180          }
12181
12182          if (typeof parsedConfig.data['muraPointInTime'] == 'undefined' && typeof Mura.pointInTime != 'undefined') {
12183            parsedConfig.data['muraPointInTime'] = Mura.pointInTime;
12184          }
12185
12186          parsedConfig.data = this.serializeParams(parsedConfig.data);
12187        }
12188      }
12189    }
12190
12191    return parsedConfig;
12192  }
12193});
12194
12195/***/ }),
12196
12197/***/ 1526:
12198/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
12199
12200var Mura = __webpack_require__(791);
12201
12202if (typeof document != 'undefined' && typeof Mura.styleMap == 'undefined') {
12203  var tocss = {};
12204  var CSSStyleDeclaration = document.createElement('div').style;
12205  var fromArray;
12206  var toArray;
12207  var hasError = false;
12208
12209  for (var s in CSSStyleDeclaration) {
12210    fromArray = s.split(/(?=[A-Z])/);
12211    toArray = [];
12212
12213    for (var i in fromArray) {
12214      try {
12215        if (typeof fromArray[i] == 'string') {
12216          toArray.push(fromArray[i].toLowerCase());
12217        }
12218      } catch (e) {
12219        console.log("error setting style from array", JSON.stringify(fromArray[i]));
12220      }
12221    }
12222
12223    tocss[s] = toArray.join("-");
12224  }
12225
12226  var styleMap = {
12227    tocss: tocss,
12228    tojs: {}
12229  };
12230
12231  for (var s in tocss) {
12232    try {
12233      if (typeof s == 'string') {
12234        styleMap.tojs[s.toLowerCase()] = s;
12235        styleMap.tocss[s.toLowerCase()] = styleMap.tocss[s];
12236      }
12237    } catch (e) {
12238      console.log("error setting style to array", JSON.stringify(s));
12239    }
12240  }
12241
12242  Mura.styleMap = styleMap;
12243}
12244
12245/***/ }),
12246
12247/***/ 379:
12248/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
12249
12250function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
12251
12252this.Mura = __webpack_require__(791);
12253this.Mura.templates = this["Mura"]["templates"] || {};
12254this.Mura.templates.checkbox_static = this.Mura.Handlebars.template({
12255  "1": function _(container, depth0, helpers, partials, data) {
12256    var helper,
12257        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12258      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12259        return parent[propertyName];
12260      }
12261
12262      return undefined;
12263    };
12264
12265    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12266      "name": "summary",
12267      "hash": {},
12268      "data": data,
12269      "loc": {
12270        "start": {
12271          "line": 4,
12272          "column": 18
12273        },
12274        "end": {
12275          "line": 4,
12276          "column": 29
12277        }
12278      }
12279    }) : helper));
12280  },
12281  "3": function _(container, depth0, helpers, partials, data) {
12282    var helper,
12283        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12284      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12285        return parent[propertyName];
12286      }
12287
12288      return undefined;
12289    };
12290
12291    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12292      "name": "label",
12293      "hash": {},
12294      "data": data,
12295      "loc": {
12296        "start": {
12297          "line": 4,
12298          "column": 37
12299        },
12300        "end": {
12301          "line": 4,
12302          "column": 46
12303        }
12304      }
12305    }) : helper));
12306  },
12307  "5": function _(container, depth0, helpers, partials, data) {
12308    var helper,
12309        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12310      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12311        return parent[propertyName];
12312      }
12313
12314      return undefined;
12315    };
12316
12317    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12318      "name": "formRequiredLabel",
12319      "hash": {},
12320      "data": data,
12321      "loc": {
12322        "start": {
12323          "line": 4,
12324          "column": 77
12325        },
12326        "end": {
12327          "line": 4,
12328          "column": 98
12329        }
12330      }
12331    }) : helper)) + "</ins>";
12332  },
12333  "7": function _(container, depth0, helpers, partials, data) {
12334    return "</br>";
12335  },
12336  "9": function _(container, depth0, helpers, partials, data, blockParams, depths) {
12337    var stack1,
12338        helper,
12339        alias1 = depth0 != null ? depth0 : container.nullContext || {},
12340        alias2 = container.hooks.helperMissing,
12341        alias3 = "function",
12342        alias4 = container.escapeExpression,
12343        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12344      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12345        return parent[propertyName];
12346      }
12347
12348      return undefined;
12349    };
12350
12351    return "			<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxWrapperClass") || (depth0 != null ? lookupProperty(depth0, "checkboxWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12352      "name": "checkboxWrapperClass",
12353      "hash": {},
12354      "data": data,
12355      "loc": {
12356        "start": {
12357          "line": 8,
12358          "column": 15
12359        },
12360        "end": {
12361          "line": 8,
12362          "column": 41
12363        }
12364      }
12365    }) : helper)) != null ? stack1 : "") + "\">\r\n				<input type=\"checkbox\" name=\"" + alias4(container.lambda(depths[1] != null ? lookupProperty(depths[1], "name") : depths[1], depth0)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxClass") || (depth0 != null ? lookupProperty(depth0, "checkboxClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12366      "name": "checkboxClass",
12367      "hash": {},
12368      "data": data,
12369      "loc": {
12370        "start": {
12371          "line": 9,
12372          "column": 53
12373        },
12374        "end": {
12375          "line": 9,
12376          "column": 72
12377        }
12378      }
12379    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "datarecordid") || (depth0 != null ? lookupProperty(depth0, "datarecordid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12380      "name": "datarecordid",
12381      "hash": {},
12382      "data": data,
12383      "loc": {
12384        "start": {
12385          "line": 9,
12386          "column": 84
12387        },
12388        "end": {
12389          "line": 9,
12390          "column": 100
12391        }
12392      }
12393    }) : helper)) + "\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12394      "name": "value",
12395      "hash": {},
12396      "data": data,
12397      "loc": {
12398        "start": {
12399          "line": 9,
12400          "column": 109
12401        },
12402        "end": {
12403          "line": 9,
12404          "column": 118
12405        }
12406      }
12407    }) : helper)) + "\" " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
12408      "name": "if",
12409      "hash": {},
12410      "fn": container.program(10, data, 0, blockParams, depths),
12411      "inverse": container.noop,
12412      "data": data,
12413      "loc": {
12414        "start": {
12415          "line": 9,
12416          "column": 120
12417        },
12418        "end": {
12419          "line": 9,
12420          "column": 163
12421        }
12422      }
12423    })) != null ? stack1 : "") + "/>\r\n				<label class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxLabelClass") || (depth0 != null ? lookupProperty(depth0, "checkboxLabelClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12424      "name": "checkboxLabelClass",
12425      "hash": {},
12426      "data": data,
12427      "loc": {
12428        "start": {
12429          "line": 10,
12430          "column": 18
12431        },
12432        "end": {
12433          "line": 10,
12434          "column": 42
12435        }
12436      }
12437    }) : helper)) != null ? stack1 : "") + "\" for=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "datarecordid") || (depth0 != null ? lookupProperty(depth0, "datarecordid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12438      "name": "datarecordid",
12439      "hash": {},
12440      "data": data,
12441      "loc": {
12442        "start": {
12443          "line": 10,
12444          "column": 55
12445        },
12446        "end": {
12447          "line": 10,
12448          "column": 71
12449        }
12450      }
12451    }) : helper)) + "\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12452      "name": "label",
12453      "hash": {},
12454      "data": data,
12455      "loc": {
12456        "start": {
12457          "line": 10,
12458          "column": 73
12459        },
12460        "end": {
12461          "line": 10,
12462          "column": 82
12463        }
12464      }
12465    }) : helper)) + "</label>\r\n			</div>\r\n";
12466  },
12467  "10": function _(container, depth0, helpers, partials, data) {
12468    return " checked='checked'";
12469  },
12470  "compiler": [8, ">= 4.3.0"],
12471  "main": function main(container, depth0, helpers, partials, data, blockParams, depths) {
12472    var stack1,
12473        helper,
12474        alias1 = depth0 != null ? depth0 : container.nullContext || {},
12475        alias2 = container.hooks.helperMissing,
12476        alias3 = "function",
12477        alias4 = container.escapeExpression,
12478        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12479      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12480        return parent[propertyName];
12481      }
12482
12483      return undefined;
12484    };
12485
12486    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12487      "name": "inputWrapperClass",
12488      "hash": {},
12489      "data": data,
12490      "loc": {
12491        "start": {
12492          "line": 1,
12493          "column": 12
12494        },
12495        "end": {
12496          "line": 1,
12497          "column": 35
12498        }
12499      }
12500    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12501      "name": "name",
12502      "hash": {},
12503      "data": data,
12504      "loc": {
12505        "start": {
12506          "line": 1,
12507          "column": 47
12508        },
12509        "end": {
12510          "line": 1,
12511          "column": 55
12512        }
12513      }
12514    }) : helper)) + "-container\">\r\n	<div class=\"mura-checkbox-group\">\r\n		<label class=\"mura-group-label\" for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12515      "name": "name",
12516      "hash": {},
12517      "data": data,
12518      "loc": {
12519        "start": {
12520          "line": 3,
12521          "column": 39
12522        },
12523        "end": {
12524          "line": 3,
12525          "column": 47
12526        }
12527      }
12528    }) : helper)) + "\">\r\n			" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
12529      "name": "if",
12530      "hash": {},
12531      "fn": container.program(1, data, 0, blockParams, depths),
12532      "inverse": container.program(3, data, 0, blockParams, depths),
12533      "data": data,
12534      "loc": {
12535        "start": {
12536          "line": 4,
12537          "column": 3
12538        },
12539        "end": {
12540          "line": 4,
12541          "column": 53
12542        }
12543      }
12544    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
12545      "name": "if",
12546      "hash": {},
12547      "fn": container.program(5, data, 0, blockParams, depths),
12548      "inverse": container.noop,
12549      "data": data,
12550      "loc": {
12551        "start": {
12552          "line": 4,
12553          "column": 53
12554        },
12555        "end": {
12556          "line": 4,
12557          "column": 111
12558        }
12559      }
12560    })) != null ? stack1 : "") + "\r\n		</label>\r\n		" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
12561      "name": "if",
12562      "hash": {},
12563      "fn": container.program(7, data, 0, blockParams, depths),
12564      "inverse": container.noop,
12565      "data": data,
12566      "loc": {
12567        "start": {
12568          "line": 6,
12569          "column": 2
12570        },
12571        "end": {
12572          "line": 6,
12573          "column": 29
12574        }
12575      }
12576    })) != null ? stack1 : "") + "\r\n" + ((stack1 = (lookupProperty(helpers, "eachStatic") || depth0 && lookupProperty(depth0, "eachStatic") || alias2).call(alias1, depth0 != null ? lookupProperty(depth0, "dataset") 
12576: depth0, {
12577      "name": "eachStatic",
12578      "hash": {},
12579      "fn": container.program(9, data, 0, blockParams, depths),
12580      "inverse": container.noop,
12581      "data": data,
12582      "loc": {
12583        "start": {
12584          "line": 7,
12585          "column": 2
12586        },
12587        "end": {
12588          "line": 12,
12589          "column": 17
12590        }
12591      }
12592    })) != null ? stack1 : "") + "	</div>\r\n</div>\r\n";
12593  },
12594  "useData": true,
12595  "useDepths": true
12596});
12597this.Mura.templates.checkbox = this.Mura.Handlebars.template({
12598  "1": function _(container, depth0, helpers, partials, data) {
12599    var helper,
12600        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12601      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12602        return parent[propertyName];
12603      }
12604
12605      return undefined;
12606    };
12607
12608    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12609      "name": "summary",
12610      "hash": {},
12611      "data": data,
12612      "loc": {
12613        "start": {
12614          "line": 4,
12615          "column": 18
12616        },
12617        "end": {
12618          "line": 4,
12619          "column": 29
12620        }
12621      }
12622    }) : helper));
12623  },
12624  "3": function _(container, depth0, helpers, partials, data) {
12625    var helper,
12626        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12627      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12628        return parent[propertyName];
12629      }
12630
12631      return undefined;
12632    };
12633
12634    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12635      "name": "label",
12636      "hash": {},
12637      "data": data,
12638      "loc": {
12639        "start": {
12640          "line": 4,
12641          "column": 37
12642        },
12643        "end": {
12644          "line": 4,
12645          "column": 46
12646        }
12647      }
12648    }) : helper));
12649  },
12650  "5": function _(container, depth0, helpers, partials, data) {
12651    var helper,
12652        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12653      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12654        return parent[propertyName];
12655      }
12656
12657      return undefined;
12658    };
12659
12660    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12661      "name": "formRequiredLabel",
12662      "hash": {},
12663      "data": data,
12664      "loc": {
12665        "start": {
12666          "line": 4,
12667          "column": 77
12668        },
12669        "end": {
12670          "line": 4,
12671          "column": 98
12672        }
12673      }
12674    }) : helper)) + "</ins>";
12675  },
12676  "7": function _(container, depth0, helpers, partials, data) {
12677    return "</br>";
12678  },
12679  "9": function _(container, depth0, helpers, partials, data, blockParams, depths) {
12680    var stack1,
12681        helper,
12682        alias1 = depth0 != null ? depth0 : container.nullContext || {},
12683        alias2 = container.hooks.helperMissing,
12684        alias3 = "function",
12685        alias4 = container.lambda,
12686        alias5 = container.escapeExpression,
12687        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12688      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12689        return parent[propertyName];
12690      }
12691
12692      return undefined;
12693    };
12694
12695    return "			<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxWrapperClass") || (depth0 != null ? lookupProperty(depth0, "checkboxWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12696      "name": "checkboxWrapperClass",
12697      "hash": {},
12698      "data": data,
12699      "loc": {
12700        "start": {
12701          "line": 8,
12702          "column": 15
12703        },
12704        "end": {
12705          "line": 8,
12706          "column": 41
12707        }
12708      }
12709    }) : helper)) != null ? stack1 : "") + "\">\r\n				<input source=\"" + alias5(alias4((stack1 = depths[1] != null ? lookupProperty(depths[1], "dataset") 
12709: depths[1]) != null ? lookupProperty(stack1, "source") : stack1, depth0)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxClass") || (depth0 != null ? lookupProperty(depth0, "checkboxClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12710      "name": "checkboxClass",
12711      "hash": {},
12712      "data": data,
12713      "loc": {
12714        "start": {
12715          "line": 9,
12716          "column": 49
12717        },
12718        "end": {
12719          "line": 9,
12720          "column": 68
12721        }
12722      }
12723    }) : helper)) != null ? stack1 : "") + "\" type=\"checkbox\" name=\"" + alias5(alias4(depths[1] != null ? lookupProperty(depths[1], "name") : depths[1], depth0)) + "\" id=\"field-" + alias5((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12724      "name": "id",
12725      "hash": {},
12726      "data": data,
12727      "loc": {
12728        "start": {
12729          "line": 9,
12730          "column": 115
12731        },
12732        "end": {
12733          "line": 9,
12734          "column": 121
12735        }
12736      }
12737    }) : helper)) + "\" value=\"" + alias5((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12738      "name": "id",
12739      "hash": {},
12740      "data": data,
12741      "loc": {
12742        "start": {
12743          "line": 9,
12744          "column": 130
12745        },
12746        "end": {
12747          "line": 9,
12748          "column": 136
12749        }
12750      }
12751    }) : helper)) + "\" " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
12752      "name": "if",
12753      "hash": {},
12754      "fn": container.program(10, data, 0, blockParams, depths),
12755      "inverse": container.noop,
12756      "data": data,
12757      "loc": {
12758        "start": {
12759          "line": 9,
12760          "column": 138
12761        },
12762        "end": {
12763          "line": 9,
12764          "column": 180
12765        }
12766      }
12767    })) != null ? stack1 : "") + "/>\r\n				<label class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "checkboxLabelClass") || (depth0 != null ? lookupProperty(depth0, "checkboxLabelClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12768      "name": "checkboxLabelClass",
12769      "hash": {},
12770      "data": data,
12771      "loc": {
12772        "start": {
12773          "line": 10,
12774          "column": 18
12775        },
12776        "end": {
12777          "line": 10,
12778          "column": 42
12779        }
12780      }
12781    }) : helper)) != null ? stack1 : "") + "\" for=\"field-" + alias5((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12782      "name": "id",
12783      "hash": {},
12784      "data": data,
12785      "loc": {
12786        "start": {
12787          "line": 10,
12788          "column": 55
12789        },
12790        "end": {
12791          "line": 10,
12792          "column": 61
12793        }
12794      }
12795    }) : helper)) + "\">" + alias5((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12796      "name": "label",
12797      "hash": {},
12798      "data": data,
12799      "loc": {
12800        "start": {
12801          "line": 10,
12802          "column": 63
12803        },
12804        "end": {
12805          "line": 10,
12806          "column": 72
12807        }
12808      }
12809    }) : helper)) + "</label>\r\n			</div>\r\n";
12810  },
12811  "10": function _(container, depth0, helpers, partials, data) {
12812    return "checked='checked'";
12813  },
12814  "compiler": [8, ">= 4.3.0"],
12815  "main": function main(container, depth0, helpers, partials, data, blockParams, depths) {
12816    var stack1,
12817        helper,
12818        alias1 = depth0 != null ? depth0 : container.nullContext || {},
12819        alias2 = container.hooks.helperMissing,
12820        alias3 = "function",
12821        alias4 = container.escapeExpression,
12822        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12823      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12824        return parent[propertyName];
12825      }
12826
12827      return undefined;
12828    };
12829
12830    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12831      "name": "inputWrapperClass",
12832      "hash": {},
12833      "data": data,
12834      "loc": {
12835        "start": {
12836          "line": 1,
12837          "column": 12
12838        },
12839        "end": {
12840          "line": 1,
12841          "column": 35
12842        }
12843      }
12844    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12845      "name": "name",
12846      "hash": {},
12847      "data": data,
12848      "loc": {
12849        "start": {
12850          "line": 1,
12851          "column": 47
12852        },
12853        "end": {
12854          "line": 1,
12855          "column": 55
12856        }
12857      }
12858    }) : helper)) + "-container\">\r\n	<div class=\"mura-checkbox-group\">\r\n		<label class=\"mura-group-label\" for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
12859      "name": "name",
12860      "hash": {},
12861      "data": data,
12862      "loc": {
12863        "start": {
12864          "line": 3,
12865          "column": 39
12866        },
12867        "end": {
12868          "line": 3,
12869          "column": 47
12870        }
12871      }
12872    }) : helper)) + "\">\r\n			" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
12873      "name": "if",
12874      "hash": {},
12875      "fn": container.program(1, data, 0, blockParams, depths),
12876      "inverse": container.program(3, data, 0, blockParams, depths),
12877      "data": data,
12878      "loc": {
12879        "start": {
12880          "line": 4,
12881          "column": 3
12882        },
12883        "end": {
12884          "line": 4,
12885          "column": 53
12886        }
12887      }
12888    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
12889      "name": "if",
12890      "hash": {},
12891      "fn": container.program(5, data, 0, blockParams, depths),
12892      "inverse": container.noop,
12893      "data": data,
12894      "loc": {
12895        "start": {
12896          "line": 4,
12897          "column": 53
12898        },
12899        "end": {
12900          "line": 4,
12901          "column": 111
12902        }
12903      }
12904    })) != null ? stack1 : "") + "\r\n		</label>\r\n		" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
12905      "name": "if",
12906      "hash": {},
12907      "fn": container.program(7, data, 0, blockParams, depths),
12908      "inverse": container.noop,
12909      "data": data,
12910      "loc": {
12911        "start": {
12912          "line": 6,
12913          "column": 2
12914        },
12915        "end": {
12916          "line": 6,
12917          "column": 29
12918        }
12919      }
12920    })) != null ? stack1 : "") + "\r\n" + ((stack1 = (lookupProperty(helpers, "eachCheck") || depth0 && lookupProperty(depth0, "eachCheck") || alias2).call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, "dataset") 
vendor: 39,513 bytes, lines 12920-14083
12920: depth0) != null ? lookupProperty(stack1, "options") : stack1, depth0 != null ? lookupProperty(depth0, "selected") : depth0, {
12921      "name": "eachCheck",
12922      "hash": {},
12923      "fn": container.program(9, data, 0, blockParams, depths),
12924      "inverse": container.noop,
12925      "data": data,
12926      "loc": {
12927        "start": {
12928          "line": 7,
12929          "column": 2
12930        },
12931        "end": {
12932          "line": 12,
12933          "column": 16
12934        }
12935      }
12936    })) != null ? stack1 : "") + "	</div>\r\n</div>\r\n";
12937  },
12938  "useData": true,
12939  "useDepths": true
12940});
12941this.Mura.templates.dropdown_static = this.Mura.Handlebars.template({
12942  "1": function _(container, depth0, helpers, partials, data) {
12943    var helper,
12944        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12945      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12946        return parent[propertyName];
12947      }
12948
12949      return undefined;
12950    };
12951
12952    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12953      "name": "summary",
12954      "hash": {},
12955      "data": data,
12956      "loc": {
12957        "start": {
12958          "line": 2,
12959          "column": 68
12960        },
12961        "end": {
12962          "line": 2,
12963          "column": 79
12964        }
12965      }
12966    }) : helper));
12967  },
12968  "3": function _(container, depth0, helpers, partials, data) {
12969    var helper,
12970        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12971      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12972        return parent[propertyName];
12973      }
12974
12975      return undefined;
12976    };
12977
12978    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
12979      "name": "label",
12980      "hash": {},
12981      "data": data,
12982      "loc": {
12983        "start": {
12984          "line": 2,
12985          "column": 87
12986        },
12987        "end": {
12988          "line": 2,
12989          "column": 96
12990        }
12991      }
12992    }) : helper));
12993  },
12994  "5": function _(container, depth0, helpers, partials, data) {
12995    var helper,
12996        lookupProperty = container.lookupProperty || function (parent, propertyName) {
12997      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12998        return parent[propertyName];
12999      }
13000
13001      return undefined;
13002    };
13003
13004    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13005      "name": "formRequiredLabel",
13006      "hash": {},
13007      "data": data,
13008      "loc": {
13009        "start": {
13010          "line": 2,
13011          "column": 127
13012        },
13013        "end": {
13014          "line": 2,
13015          "column": 148
13016        }
13017      }
13018    }) : helper)) + "</ins>";
13019  },
13020  "7": function _(container, depth0, helpers, partials, data) {
13021    return "</br>";
13022  },
13023  "9": function _(container, depth0, helpers, partials, data) {
13024    return " aria-required=\"true\"";
13025  },
13026  "11": function _(container, depth0, helpers, partials, data) {
13027    var stack1,
13028        helper,
13029        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13030        alias2 = container.hooks.helperMissing,
13031        alias3 = "function",
13032        alias4 = container.escapeExpression,
13033        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13034      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13035        return parent[propertyName];
13036      }
13037
13038      return undefined;
13039    };
13040
13041    return "				<option data-isother=\"" + alias4((helper = (helper = lookupProperty(helpers, "isother") || (depth0 != null ? lookupProperty(depth0, "isother") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13042      "name": "isother",
13043      "hash": {},
13044      "data": data,
13045      "loc": {
13046        "start": {
13047          "line": 6,
13048          "column": 26
13049        },
13050        "end": {
13051          "line": 6,
13052          "column": 37
13053        }
13054      }
13055    }) : helper)) + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "datarecordid") || (depth0 != null ? lookupProperty(depth0, "datarecordid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13056      "name": "datarecordid",
13057      "hash": {},
13058      "data": data,
13059      "loc": {
13060        "start": {
13061          "line": 6,
13062          "column": 49
13063        },
13064        "end": {
13065          "line": 6,
13066          "column": 65
13067        }
13068      }
13069    }) : helper)) + "\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13070      "name": "value",
13071      "hash": {},
13072      "data": data,
13073      "loc": {
13074        "start": {
13075          "line": 6,
13076          "column": 74
13077        },
13078        "end": {
13079          "line": 6,
13080          "column": 83
13081        }
13082      }
13083    }) : helper)) + "\" " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
13084      "name": "if",
13085      "hash": {},
13086      "fn": container.program(12, data, 0),
13087      "inverse": container.noop,
13088      "data": data,
13089      "loc": {
13090        "start": {
13091          "line": 6,
13092          "column": 85
13093        },
13094        "end": {
13095          "line": 6,
13096          "column": 129
13097        }
13098      }
13099    })) != null ? stack1 : "") + ">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13100      "name": "label",
13101      "hash": {},
13102      "data": data,
13103      "loc": {
13104        "start": {
13105          "line": 6,
13106          "column": 130
13107        },
13108        "end": {
13109          "line": 6,
13110          "column": 139
13111        }
13112      }
13113    }) : helper)) + "</option>\n";
13114  },
13115  "12": function _(container, depth0, helpers, partials, data) {
13116    return "selected='selected'";
13117  },
13118  "compiler": [8, ">= 4.3.0"],
13119  "main": function main(container, depth0, helpers, partials, data) {
13120    var stack1,
13121        helper,
13122        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13123        alias2 = container.hooks.helperMissing,
13124        alias3 = "function",
13125        alias4 = container.escapeExpression,
13126        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13127      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13128        return parent[propertyName];
13129      }
13130
13131      return undefined;
13132    };
13133
13134    return "	<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13135      "name": "inputWrapperClass",
13136      "hash": {},
13137      "data": data,
13138      "loc": {
13139        "start": {
13140          "line": 1,
13141          "column": 13
13142        },
13143        "end": {
13144          "line": 1,
13145          "column": 36
13146        }
13147      }
13148    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13149      "name": "name",
13150      "hash": {},
13151      "data": data,
13152      "loc": {
13153        "start": {
13154          "line": 1,
13155          "column": 48
13156        },
13157        "end": {
13158          "line": 1,
13159          "column": 56
13160        }
13161      }
13162    }) : helper)) + "-container\">\n		<label for=\"" + alias4((helper = (helper = lookupProperty(helpers, "labelForValue") || (depth0 != null ? lookupProperty(depth0, "labelForValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13163      "name": "labelForValue",
13164      "hash": {},
13165      "data": data,
13166      "loc": {
13167        "start": {
13168          "line": 2,
13169          "column": 14
13170        },
13171        "end": {
13172          "line": 2,
13173          "column": 31
13174        }
13175      }
13176    }) : helper)) + "\" data-for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13177      "name": "name",
13178      "hash": {},
13179      "data": data,
13180      "loc": {
13181        "start": {
13182          "line": 2,
13183          "column": 43
13184        },
13185        "end": {
13186          "line": 2,
13187          "column": 51
13188        }
13189      }
13190    }) : helper)) + "\">" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
13191      "name": "if",
13192      "hash": {},
13193      "fn": container.program(1, data, 0),
13194      "inverse": container.program(3, data, 0),
13195      "data": data,
13196      "loc": {
13197        "start": {
13198          "line": 2,
13199          "column": 53
13200        },
13201        "end": {
13202          "line": 2,
13203          "column": 103
13204        }
13205      }
13206    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13207      "name": "if",
13208      "hash": {},
13209      "fn": container.program(5, data, 0),
13210      "inverse": container.noop,
13211      "data": data,
13212      "loc": {
13213        "start": {
13214          "line": 2,
13215          "column": 103
13216        },
13217        "end": {
13218          "line": 2,
13219          "column": 161
13220        }
13221      }
13222    })) != null ? stack1 : "") + "</label>\n		" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
13223      "name": "if",
13224      "hash": {},
13225      "fn": container.program(7, data, 0),
13226      "inverse": container.noop,
13227      "data": data,
13228      "loc": {
13229        "start": {
13230          "line": 3,
13231          "column": 2
13232        },
13233        "end": {
13234          "line": 3,
13235          "column": 29
13236        }
13237      }
13238    })) != null ? stack1 : "") + "\n		<select " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13239      "name": "commonInputAttributes",
13240      "hash": {},
13241      "data": data,
13242      "loc": {
13243        "start": {
13244          "line": 4,
13245          "column": 10
13246        },
13247        "end": {
13248          "line": 4,
13249          "column": 37
13250        }
13251      }
13252    }) : helper)) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13253      "name": "if",
13254      "hash": {},
13255      "fn": container.program(9, data, 0),
13256      "inverse": container.noop,
13257      "data": data,
13258      "loc": {
13259        "start": {
13260          "line": 4,
13261          "column": 37
13262        },
13263        "end": {
13264          "line": 4,
13265          "column": 83
13266        }
13267      }
13268    })) != null ? stack1 : "") + ">\n" + ((stack1 = (lookupProperty(helpers, "eachStatic") || depth0 && lookupProperty(depth0, "eachStatic") || alias2).call(alias1, depth0 != null ? lookupProperty(depth0, "dataset") : depth0, {
13269      "name": "eachStatic",
13270      "hash": {},
13271      "fn": container.program(11, data, 0),
13272      "inverse": container.noop,
13273      "data": data,
13274      "loc": {
13275        "start": {
13276          "line": 5,
13277          "column": 3
13278        },
13279        "end": {
13280          "line": 7,
13281          "column": 18
13282        }
13283      }
13284    })) != null ? stack1 : "") + "		</select>\n	</div>\n";
13285  },
13286  "useData": true
13287});
13288this.Mura.templates.dropdown = this.Mura.Handlebars.template({
13289  "1": function _(container, depth0, helpers, partials, data) {
13290    return " aria-required=\"true\"";
13291  },
13292  "3": function _(container, depth0, helpers, partials, data) {
13293    var helper,
13294        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13295      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13296        return parent[propertyName];
13297      }
13298
13299      return undefined;
13300    };
13301
13302    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13303      "name": "summary",
13304      "hash": {},
13305      "data": data,
13306      "loc": {
13307        "start": {
13308          "line": 2,
13309          "column": 114
13310        },
13311        "end": {
13312          "line": 2,
13313          "column": 125
13314        }
13315      }
13316    }) : helper));
13317  },
13318  "5": function _(container, depth0, helpers, partials, data) {
13319    var helper,
13320        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13321      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13322        return parent[propertyName];
13323      }
13324
13325      return undefined;
13326    };
13327
13328    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13329      "name": "label",
13330      "hash": {},
13331      "data": data,
13332      "loc": {
13333        "start": {
13334          "line": 2,
13335          "column": 133
13336        },
13337        "end": {
13338          "line": 2,
13339          "column": 142
13340        }
13341      }
13342    }) : helper));
13343  },
13344  "7": function _(container, depth0, helpers, partials, data) {
13345    var helper,
13346        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13347      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13348        return parent[propertyName];
13349      }
13350
13351      return undefined;
13352    };
13353
13354    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13355      "name": "formRequiredLabel",
13356      "hash": {},
13357      "data": data,
13358      "loc": {
13359        "start": {
13360          "line": 2,
13361          "column": 173
13362        },
13363        "end": {
13364          "line": 2,
13365          "column": 194
13366        }
13367      }
13368    }) : helper)) + "</ins>";
13369  },
13370  "9": function _(container, depth0, helpers, partials, data) {
13371    return "</br>";
13372  },
13373  "11": function _(container, depth0, helpers, partials, data) {
13374    var stack1,
13375        helper,
13376        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13377        alias2 = container.hooks.helperMissing,
13378        alias3 = "function",
13379        alias4 = container.escapeExpression,
13380        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13381      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13382        return parent[propertyName];
13383      }
13384
13385      return undefined;
13386    };
13387
13388    return "					<option data-isother=\"" + alias4((helper = (helper = lookupProperty(helpers, "isother") || (depth0 != null ? lookupProperty(depth0, "isother") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13389      "name": "isother",
13390      "hash": {},
13391      "data": data,
13392      "loc": {
13393        "start": {
13394          "line": 6,
13395          "column": 27
13396        },
13397        "end": {
13398          "line": 6,
13399          "column": 38
13400        }
13401      }
13402    }) : helper)) + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13403      "name": "id",
13404      "hash": {},
13405      "data": data,
13406      "loc": {
13407        "start": {
13408          "line": 6,
13409          "column": 50
13410        },
13411        "end": {
13412          "line": 6,
13413          "column": 56
13414        }
13415      }
13416    }) : helper)) + "\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13417      "name": "id",
13418      "hash": {},
13419      "data": data,
13420      "loc": {
13421        "start": {
13422          "line": 6,
13423          "column": 65
13424        },
13425        "end": {
13426          "line": 6,
13427          "column": 71
13428        }
13429      }
13430    }) : helper)) + "\" " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
13431      "name": "if",
13432      "hash": {},
13433      "fn": container.program(12, data, 0),
13434      "inverse": container.noop,
13435      "data": data,
13436      "loc": {
13437        "start": {
13438          "line": 6,
13439          "column": 73
13440        },
13441        "end": {
13442          "line": 6,
13443          "column": 117
13444        }
13445      }
13446    })) != null ? stack1 : "") + ">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13447      "name": "label",
13448      "hash": {},
13449      "data": data,
13450      "loc": {
13451        "start": {
13452          "line": 6,
13453          "column": 118
13454        },
13455        "end": {
13456          "line": 6,
13457          "column": 127
13458        }
13459      }
13460    }) : helper)) + "</option>\n";
13461  },
13462  "12": function _(container, depth0, helpers, partials, data) {
13463    return "selected='selected'";
13464  },
13465  "compiler": [8, ">= 4.3.0"],
13466  "main": function main(container, depth0, helpers, partials, data) {
13467    var stack1,
13468        helper,
13469        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13470        alias2 = container.hooks.helperMissing,
13471        alias3 = "function",
13472        alias4 = container.escapeExpression,
13473        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13474      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13475        return parent[propertyName];
13476      }
13477
13478      return undefined;
13479    };
13480
13481    return "	<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13482      "name": "inputWrapperClass",
13483      "hash": {},
13484      "data": data,
13485      "loc": {
13486        "start": {
13487          "line": 1,
13488          "column": 13
13489        },
13490        "end": {
13491          "line": 1,
13492          "column": 36
13493        }
13494      }
13495    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13496      "name": "name",
13497      "hash": {},
13498      "data": data,
13499      "loc": {
13500        "start": {
13501          "line": 1,
13502          "column": 48
13503        },
13504        "end": {
13505          "line": 1,
13506          "column": 56
13507        }
13508      }
13509    }) : helper)) + "-container\">\n		<label for=\"" + alias4((helper = (helper = lookupProperty(helpers, "labelForValue") || (depth0 != null ? lookupProperty(depth0, "labelForValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13510      "name": "labelForValue",
13511      "hash": {},
13512      "data": data,
13513      "loc": {
13514        "start": {
13515          "line": 2,
13516          "column": 14
13517        },
13518        "end": {
13519          "line": 2,
13520          "column": 31
13521        }
13522      }
13523    }) : helper)) + "\" data-for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13524      "name": "name",
13525      "hash": {},
13526      "data": data,
13527      "loc": {
13528        "start": {
13529          "line": 2,
13530          "column": 43
13531        },
13532        "end": {
13533          "line": 2,
13534          "column": 51
13535        }
13536      }
13537    }) : helper)) + "\"" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13538      "name": "if",
13539      "hash": {},
13540      "fn": container.program(1, data, 0),
13541      "inverse": container.noop,
13542      "data": data,
13543      "loc": {
13544        "start": {
13545          "line": 2,
13546          "column": 52
13547        },
13548        "end": {
13549          "line": 2,
13550          "column": 98
13551        }
13552      }
13553    })) != null ? stack1 : "") + ">" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
13554      "name": "if",
13555      "hash": {},
13556      "fn": container.program(3, data, 0),
13557      "inverse": container.program(5, data, 0),
13558      "data": data,
13559      "loc": {
13560        "start": {
13561          "line": 2,
13562          "column": 99
13563        },
13564        "end": {
13565          "line": 2,
13566          "column": 149
13567        }
13568      }
13569    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13570      "name": "if",
13571      "hash": {},
13572      "fn": container.program(7, data, 0),
13573      "inverse": container.noop,
13574      "data": data,
13575      "loc": {
13576        "start": {
13577          "line": 2,
13578          "column": 149
13579        },
13580        "end": {
13581          "line": 2,
13582          "column": 207
13583        }
13584      }
13585    })) != null ? stack1 : "") + "</label>\n		" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
13586      "name": "if",
13587      "hash": {},
13588      "fn": container.program(9, data, 0),
13589      "inverse": container.noop,
13590      "data": data,
13591      "loc": {
13592        "start": {
13593          "line": 3,
13594          "column": 2
13595        },
13596        "end": {
13597          "line": 3,
13598          "column": 29
13599        }
13600      }
13601    })) != null ? stack1 : "") + "\n			<select " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13602      "name": "commonInputAttributes",
13603      "hash": {},
13604      "data": data,
13605      "loc": {
13606        "start": {
13607          "line": 4,
13608          "column": 11
13609        },
13610        "end": {
13611          "line": 4,
13612          "column": 38
13613        }
13614      }
13615    }) : helper)) != null ? stack1 : "") + ">\n" + ((stack1 = lookupProperty(helpers, "each").call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, "dataset") : depth0) != null ? lookupProperty(stack1, "options") : stack1, {
13616      "name": "each",
13617      "hash": {},
13618      "fn": container.program(11, data, 0),
13619      "inverse": container.noop,
13620      "data": data,
13621      "loc": {
13622        "start": {
13623          "line": 5,
13624          "column": 4
13625        },
13626        "end": {
13627          "line": 7,
13628          "column": 13
13629        }
13630      }
13631    })) != null ? stack1 : "") + "			</select>\n	</div>\n";
13632  },
13633  "useData": true
13634});
13635this.Mura.templates.error = this.Mura.Handlebars.template({
13636  "1": function _(container, depth0, helpers, partials, data) {
13637    var helper,
13638        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13639      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13640        return parent[propertyName];
13641      }
13642
13643      return undefined;
13644    };
13645
13646    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13647      "name": "label",
13648      "hash": {},
13649      "data": data,
13650      "loc": {
13651        "start": {
13652          "line": 1,
13653          "column": 102
13654        },
13655        "end": {
13656          "line": 1,
13657          "column": 111
13658        }
13659      }
13660    }) : helper)) + ": ";
13661  },
13662  "compiler": [8, ">= 4.3.0"],
13663  "main": function main(container, depth0, helpers, partials, data) {
13664    var stack1,
13665        helper,
13666        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13667        alias2 = container.hooks.helperMissing,
13668        alias3 = "function",
13669        alias4 = container.escapeExpression,
13670        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13671      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13672        return parent[propertyName];
13673      }
13674
13675      return undefined;
13676    };
13677
13678    return "<div id=\"" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13679      "name": "id",
13680      "hash": {},
13681      "data": data,
13682      "loc": {
13683        "start": {
13684          "line": 1,
13685          "column": 9
13686        },
13687        "end": {
13688          "line": 1,
13689          "column": 15
13690        }
13691      }
13692    }) : helper)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "formErrorWrapperClass") || (depth0 != null ? lookupProperty(depth0, "formErrorWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13693      "name": "formErrorWrapperClass",
13694      "hash": {},
13695      "data": data,
13696      "loc": {
13697        "start": {
13698          "line": 1,
13699          "column": 24
13700        },
13701        "end": {
13702          "line": 1,
13703          "column": 51
13704        }
13705      }
13706    }) : helper)) != null ? stack1 : "") + "\" data-field=\"" + alias4((helper = (helper = lookupProperty(helpers, "field") || (depth0 != null ? lookupProperty(depth0, "field") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13707      "name": "field",
13708      "hash": {},
13709      "data": data,
13710      "loc": {
13711        "start": {
13712          "line": 1,
13713          "column": 65
13714        },
13715        "end": {
13716          "line": 1,
13717          "column": 74
13718        }
13719      }
13720    }) : helper)) + "\" role=\"alert\">" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "label") : depth0, {
13721      "name": "if",
13722      "hash": {},
13723      "fn": container.program(1, data, 0),
13724      "inverse": container.noop,
13725      "data": data,
13726      "loc": {
13727        "start": {
13728          "line": 1,
13729          "column": 89
13730        },
13731        "end": {
13732          "line": 1,
13733          "column": 120
13734        }
13735      }
13736    })) != null ? stack1 : "") + alias4((helper = (helper = lookupProperty(helpers, "message") || (depth0 != null ? lookupProperty(depth0, "message") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13737      "name": "message",
13738      "hash": {},
13739      "data": data,
13740      "loc": {
13741        "start": {
13742          "line": 1,
13743          "column": 120
13744        },
13745        "end": {
13746          "line": 1,
13747          "column": 131
13748        }
13749      }
13750    }) : helper)) + "</div>\r\n";
13751  },
13752  "useData": true
13753});
13754this.Mura.templates.file = this.Mura.Handlebars.template({
13755  "1": function _(container, depth0, helpers, partials, data) {
13756    var helper,
13757        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13758      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13759        return parent[propertyName];
13760      }
13761
13762      return undefined;
13763    };
13764
13765    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
13766      "name": "formRequiredLabel",
13767      "hash": {},
13768      "data": data,
13769      "loc": {
13770        "start": {
13771          "line": 2,
13772          "column": 117
13773        },
13774        "end": {
13775          "line": 2,
13776          "column": 138
13777        }
13778      }
13779    }) : helper)) + "</ins>";
13780  },
13781  "3": function _(container, depth0, helpers, partials, data) {
13782    return " aria-required=\"true\"";
13783  },
13784  "compiler": [8, ">= 4.3.0"],
13785  "main": function main(container, depth0, helpers, partials, data) {
13786    var stack1,
13787        helper,
13788        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13789        alias2 = container.hooks.helperMissing,
13790        alias3 = "function",
13791        alias4 = container.escapeExpression,
13792        lookupProperty = container.lookupProperty || function (parent, propertyName) {
13793      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13794        return parent[propertyName];
13795      }
13796
13797      return undefined;
13798    };
13799
13800    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13801      "name": "inputWrapperClass",
13802      "hash": {},
13803      "data": data,
13804      "loc": {
13805        "start": {
13806          "line": 1,
13807          "column": 12
13808        },
13809        "end": {
13810          "line": 1,
13811          "column": 35
13812        }
13813      }
13814    }) : helper)) != null ? stack1 : "") + " mura-form-file-container\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13815      "name": "name",
13816      "hash": {},
13817      "data": data,
13818      "loc": {
13819        "start": {
13820          "line": 1,
13821          "column": 72
13822        },
13823        "end": {
13824          "line": 1,
13825          "column": 80
13826        }
13827      }
13828    }) : helper)) + "-container\">\r\n	<label for=\"" + alias4((helper = (helper = lookupProperty(helpers, "labelForValue") || (depth0 != null ? lookupProperty(depth0, "labelForValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13829      "name": "labelForValue",
13830      "hash": {},
13831      "data": data,
13832      "loc": {
13833        "start": {
13834          "line": 2,
13835          "column": 13
13836        },
13837        "end": {
13838          "line": 2,
13839          "column": 30
13840        }
13841      }
13842    }) : helper)) + " mura-form-file-label\" data-for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13843      "name": "name",
13844      "hash": {},
13845      "data": data,
13846      "loc": {
13847        "start": {
13848          "line": 2,
13849          "column": 63
13850        },
13851        "end": {
13852          "line": 2,
13853          "column": 71
13854        }
13855      }
13856    }) : helper)) + "_attachment\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13857      "name": "label",
13858      "hash": {},
13859      "data": data,
13860      "loc": {
13861        "start": {
13862          "line": 2,
13863          "column": 84
13864        },
13865        "end": {
13866          "line": 2,
13867          "column": 93
13868        }
13869      }
13870    }) : helper)) + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13871      "name": "if",
13872      "hash": {},
13873      "fn": container.program(1, data, 0),
13874      "inverse": container.noop,
13875      "data": data,
13876      "loc": {
13877        "start": {
13878          "line": 2,
13879          "column": 93
13880        },
13881        "end": {
13882          "line": 2,
13883          "column": 151
13884        }
13885      }
13886    })) != null ? stack1 : "") + "</label>\r\n	<input readonly type=\"text\" data-filename=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13887      "name": "name",
13888      "hash": {},
13889      "data": data,
13890      "loc": {
13891        "start": {
13892          "line": 3,
13893          "column": 44
13894        },
13895        "end": {
13896          "line": 3,
13897          "column": 52
13898        }
13899      }
13900    }) : helper)) + "_attachment\"" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
13901      "name": "if",
13902      "hash": {},
13903      "fn": container.program(3, data, 0),
13904      "inverse": container.noop,
13905      "data": data,
13906      "loc": {
13907        "start": {
13908          "line": 3,
13909          "column": 64
13910        },
13911        "end": {
13912          "line": 3,
13913          "column": 110
13914        }
13915      }
13916    })) != null ? stack1 : "") + " placeholder=\"" + alias4((helper = (helper = lookupProperty(helpers, "filePlaceholder") || (depth0 != null ? lookupProperty(depth0, "filePlaceholder") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13917      "name": "filePlaceholder",
13918      "hash": {},
13919      "data": data,
13920      "loc": {
13921        "start": {
13922          "line": 3,
13923          "column": 124
13924        },
13925        "end": {
13926          "line": 3,
13927          "column": 143
13928        }
13929      }
13930    }) : helper)) + "\" " + ((stack1 = (helper = (helper = lookupProperty(helpers, "fileAttributes") || (depth0 != null ? lookupProperty(depth0, "fileAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13931      "name": "fileAttributes",
13932      "hash": {},
13933      "data": data,
13934      "loc": {
13935        "start": {
13936          "line": 3,
13937          "column": 145
13938        },
13939        "end": {
13940          "line": 3,
13941          "column": 165
13942        }
13943      }
13944    }) : helper)) != null ? stack1 : "") + ">\r\n	<input hidden data-filename=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13945      "name": "name",
13946      "hash": {},
13947      "data": data,
13948      "loc": {
13949        "start": {
13950          "line": 4,
13951          "column": 30
13952        },
13953        "end": {
13954          "line": 4,
13955          "column": 38
13956        }
13957      }
13958    }) : helper)) + "_attachment\" type=\"file\" " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13959      "name": "commonInputAttributes",
13960      "hash": {},
13961      "data": data,
13962      "loc": {
13963        "start": {
13964          "line": 4,
13965          "column": 63
13966        },
13967        "end": {
13968          "line": 4,
13969          "column": 90
13970        }
13971      }
13972    }) : helper)) != null ? stack1 : "") + "/>\r\n	<div class=\"mura-form-preview\" style=\"display:none;\">\r\n		<img style=\"display:none;\" id=\"mura-form-preview-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
13973      "name": "name",
13974      "hash": {},
13975      "data": data,
13976      "loc": {
13977        "start": {
13978          "line": 6,
13979          "column": 51
13980        },
13981        "end": {
13982          "line": 6,
13983          "column": 59
13984        }
13985      }
13986    }) : helper)) + "_attachment\" src=\"\" onerror=\"this.onerror=null;this.src='';this.style.display='none';\">\r\n	</div>\r\n</div>\r\n";
13987  },
13988  "useData": true
13989});
13990this.Mura.templates.form = this.Mura.Handlebars.template({
13991  "compiler": [8, ">= 4.3.0"],
13992  "main": function main(container, depth0, helpers, partials, data) {
13993    var stack1,
13994        helper,
13995        alias1 = depth0 != null ? depth0 : container.nullContext || {},
13996        alias2 = container.hooks.helperMissing,
13997        alias3 = "function",
13998        alias4 = container.escapeExpression,
13999        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14000      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14001        return parent[propertyName];
14002      }
14003
14004      return undefined;
14005    };
14006
14007    return "<form id=\"frm" + alias4((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14008      "name": "objectid",
14009      "hash": {},
14010      "data": data,
14011      "loc": {
14012        "start": {
14013          "line": 1,
14014          "column": 13
14015        },
14016        "end": {
14017          "line": 1,
14018          "column": 25
14019        }
14020      }
14021    }) : helper)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "formClass") || (depth0 != null ? lookupProperty(depth0, "formClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14022      "name": "formClass",
14023      "hash": {},
14024      "data": data,
14025      "loc": {
14026        "start": {
14027          "line": 1,
14028          "column": 34
14029        },
14030        "end": {
14031          "line": 1,
14032          "column": 49
14033        }
14034      }
14035    }) : helper)) != null ? stack1 : "") + "\" novalidate=\"novalidate\" enctype=\"multipart/form-data\">\n<div class=\"error-container-" + alias4((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14036      "name": "objectid",
14037      "hash": {},
14038      "data": data,
14039      "loc": {
14040        "start": {
14041          "line": 2,
14042          "column": 28
14043        },
14044        "end": {
14045          "line": 2,
14046          "column": 40
14047        }
14048      }
14049    }) : helper)) + "\">\n</div>\n<div class=\"field-container-" + alias4((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14050      "name": "objectid",
14051      "hash": {},
14052      "data": data,
14053      "loc": {
14054        "start": {
14055          "line": 4,
14056          "column": 28
14057        },
14058        "end": {
14059          "line": 4,
14060          "column": 40
14061        }
14062      }
14063    }) : helper)) + "\">\n</div>\n<div class=\"paging-container-" + alias4((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14064      "name": "objectid",
14065      "hash": {},
14066      "data": data,
14067      "loc": {
14068        "start": {
14069          "line": 6,
14070          "column": 29
14071        },
14072        "end": {
14073          "line": 6,
14074          "column": 41
14075        }
14076      }
14077    }) : helper)) + "\">\n</div>\n	<input type=\"hidden\" name=\"formid\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14078      "name": "objectid",
14079      "hash": {},
14080      "data": data,
14081      "loc": {
14082        "start": {
14083 
14083         "line": 8,
14084          "column": 43
14085        },
14086        "end": {
14087          "line": 8,
14088          "column": 55
14089        }
14090      }
14091    }) : helper)) + "\">\n</form>\n";
14092  },
14093  "useData": true
14094});
14095this.Mura.templates.hidden = this.Mura.Handlebars.template({
14096  "compiler": [8, ">= 4.3.0"],
14097  "main": function main(container, depth0, helpers, partials, data) {
14098    var stack1,
14099        helper,
14100        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14101        alias2 = container.hooks.helperMissing,
14102        alias3 = "function",
14103        alias4 = container.escapeExpression,
14104        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14105      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14106        return parent[propertyName];
14107      }
14108
14109      return undefined;
14110    };
14111
14112    return "<input type=\"hidden\" name=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14113      "name": "name",
14114      "hash": {},
14115      "data": data,
14116      "loc": {
14117        "start": {
14118          "line": 1,
14119          "column": 27
14120        },
14121        "end": {
14122          "line": 1,
14123          "column": 35
14124        }
14125      }
14126    }) : helper)) + "\" " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14127      "name": "commonInputAttributes",
14128      "hash": {},
14129      "data": data,
14130      "loc": {
14131        "start": {
14132          "line": 1,
14133          "column": 37
14134        },
14135        "end": {
14136          "line": 1,
14137          "column": 64
14138        }
14139      }
14140    }) : helper)) != null ? stack1 : "") + " value=\"" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14141      "name": "value",
14142      "hash": {},
14143      "data": data,
14144      "loc": {
14145        "start": {
14146          "line": 1,
14147          "column": 72
14148        },
14149        "end": {
14150          "line": 1,
14151          "column": 81
14152        }
14153      }
14154    }) : helper)) + "\" />			\n";
14155  },
14156  "useData": true
14157});
14158this.Mura.templates.list = this.Mura.Handlebars.template({
14159  "1": function _(container, depth0, helpers, partials, data) {
14160    var helper,
14161        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14162        alias2 = container.hooks.helperMissing,
14163        alias3 = "function",
14164        alias4 = container.escapeExpression,
14165        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14166      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14167        return parent[propertyName];
14168      }
14169
14170      return undefined;
14171    };
14172
14173    return "					<option value=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14174      "name": "name",
14175      "hash": {},
14176      "data": data,
14177      "loc": {
14178        "start": {
14179          "line": 7,
14180          "column": 20
14181        },
14182        "end": {
14183          "line": 7,
14184          "column": 28
14185        }
14186      }
14187    }) : helper)) + "\">" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14188      "name": "name",
14189      "hash": {},
14190      "data": data,
14191      "loc": {
14192        "start": {
14193          "line": 7,
14194          "column": 30
14195        },
14196        "end": {
14197          "line": 7,
14198          "column": 38
14199        }
14200      }
14201    }) : helper)) + "</option>\n";
14202  },
14203  "compiler": [8, ">= 4.3.0"],
14204  "main": function main(container, depth0, helpers, partials, data) {
14205    var stack1,
14206        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14207      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14208        return parent[propertyName];
14209      }
14210
14211      return undefined;
14212    };
14213
14214    return "<form>\n	<div class=\"mura-control-group\">\n		<label for=\"beanList\">Choose Entity:</label>	\n		<div class=\"form-group-select\">\n			<select type=\"text\" name=\"bean\" id=\"select-bean-value\">
14214\n" + ((stack1 = lookupProperty(helpers, "each").call(depth0 != null ? depth0 : container.nullContext || {}, depth0, {
14215      "name": "each",
14216      "hash": {},
14217      "fn": container.program(1, data, 0),
14218      "inverse": container.noop,
14219      "data": data,
14220      "loc": {
14221        "start": {
14222          "line": 6,
14223          "column": 4
14224        },
14225        "end": {
14226          "line": 8,
14227          "column": 13
14228        }
14229      }
14230    })) != null ? stack1 : "") + "			</select>\n		</div>\n	</div>\n	<div class=\"mura-control-group\">\n		<button type=\"button\" id=\"select-bean\">Go</button>\n	</div>\n</form>";
14231  },
14232  "useData": true
14233});
14234this.Mura.templates.nested = this.Mura.Handlebars.template({
14235  "compiler": [8, ">= 4.3.0"],
14236  "main": function main(container, depth0, helpers, partials, data) {
14237    var helper,
14238        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14239      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14240        return parent[propertyName];
14241      }
14242
14243      return undefined;
14244    };
14245
14246    return "<div class=\"field-container-" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "objectid") || (depth0 != null ? lookupProperty(depth0, "objectid") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14247      "name": "objectid",
14248      "hash": {},
14249      "data": data,
14250      "loc": {
14251        "start": {
14252          "line": 1,
14253          "column": 28
14254        },
14255        "end": {
14256          "line": 1,
14257          "column": 40
14258        }
14259      }
14260    }) : helper)) + "\">\r\n\r\n</div>\r\n";
14261  },
14262  "useData": true
14263});
14264this.Mura.templates.paging = this.Mura.Handlebars.template({
14265  "compiler": [8, ">= 4.3.0"],
14266  "main": function main(container, depth0, helpers, partials, data) {
14267    var helper,
14268        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14269        alias2 = container.hooks.helperMissing,
14270        alias3 = "function",
14271        alias4 = container.escapeExpression,
14272        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14273      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14274        return parent[propertyName];
14275      }
14276
14277      return undefined;
14278    };
14279
14280    return "<button class=\"" + alias4((helper = (helper = lookupProperty(helpers, "class") || (depth0 != null ? lookupProperty(depth0, "class") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14281      "name": "class",
14282      "hash": {},
14283      "data": data,
14284      "loc": {
14285        "start": {
14286          "line": 1,
14287          "column": 15
14288        },
14289        "end": {
14290          "line": 1,
14291          "column": 24
14292        }
14293      }
14294    }) : helper)) + "\" type=\"button\" data-page=\"" + alias4((helper = (helper = lookupProperty(helpers, "page") || (depth0 != null ? lookupProperty(depth0, "page") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14295      "name": "page",
14296      "hash": {},
14297      "data": data,
14298      "loc": {
14299        "start": {
14300          "line": 1,
14301          "column": 51
14302        },
14303        "end": {
14304          "line": 1,
14305          "column": 59
14306        }
14307      }
14308    }) : helper)) + "\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14309      "name": "label",
14310      "hash": {},
14311      "data": data,
14312      "loc": {
14313        "start": {
14314          "line": 1,
14315          "column": 61
14316        },
14317        "end": {
14318          "line": 1,
14319          "column": 70
14320        }
14321      }
14322    }) : helper)) + "</button> ";
14323  },
14324  "useData": true
14325});
14326this.Mura.templates.radio_static = this.Mura.Handlebars.template({
14327  "1": function _(container, depth0, helpers, partials, data) {
14328    var helper,
14329        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14330      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14331        return parent[propertyName];
14332      }
14333
14334      return undefined;
14335    };
14336
14337    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14338      "name": "summary",
14339      "hash": {},
14340      "data": data,
14341      "loc": {
14342        "start": {
14343          "line": 4,
14344          "column": 19
14345        },
14346        "end": {
14347          "line": 4,
14348          "column": 30
14349        }
14350      }
14351    }) : helper));
14352  },
14353  "3": function _(container, depth0, helpers, partials, data) {
14354    var helper,
14355        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14356      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14357        return parent[propertyName];
14358      }
14359
14360      return undefined;
14361    };
14362
14363    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14364      "name": "label",
14365      "hash": {},
14366      "data": data,
14367      "loc": {
14368        "start": {
14369          "line": 4,
14370          "column": 38
14371        },
14372        "end": {
14373          "line": 4,
14374          "column": 47
14375        }
14376      }
14377    }) : helper));
14378  },
14379  "5": function _(container, depth0, helpers, partials, data) {
14380    var helper,
14381        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14382      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14383        return parent[propertyName];
14384      }
14385
14386      return undefined;
14387    };
14388
14389    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14390      "name": "formRequiredLabel",
14391      "hash": {},
14392      "data": data,
14393      "loc": {
14394        "start": {
14395          "line": 4,
14396          "column": 78
14397        },
14398        "end": {
14399          "line": 4,
14400          "column": 99
14401        }
14402      }
14403    }) : helper)) + "</ins>";
14404  },
14405  "7": function _(container, depth0, helpers, partials, data) {
14406    return "</br>";
14407  },
14408  "9": function _(container, depth0, helpers, partials, data, blockParams, depths) {
14409    var stack1,
14410        helper,
14411        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14412        alias2 = container.hooks.helperMissing,
14413        alias3 = "function",
14414        alias4 = container.escapeExpression,
14415        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14416      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14417        return parent[propertyName];
14418      }
14419
14420      return undefined;
14421    };
14422
14423    return "				<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioWra
14423pperClass") || (depth0 != null ? lookupProperty(depth0, "radioWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14424      "name": "radioWrapperClass",
14425      "hash": {},
14426      "data": data,
14427      "loc": {
14428        "start": {
14429          "line": 8,
14430          "column": 16
14431        },
14432        "end": {
14433          "line": 8,
14434          "column": 39
14435        }
14436      }
14437    }) : helper)) != null ? stack1 : "") + "\">\n					<input type=\"radio\" name=\"" + alias4(container.lambda(depths[1] != null ? lookupProperty(depths[1], "name") : depths[1], depth0)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioClass") || (depth0 != null ? lookupProperty(depth0, "radioClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14438      "name": "radioClass",
14439      "hash": {},
14440      "data": data,
14441      "loc": {
14442        "start": {
14443          "line": 9,
14444          "column": 51
14445        },
14446        "end": {
14447          "line": 9,
14448          "column": 67
14449        }
14450      }
14451    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "datarecordid") || (depth0 != null ? lookupProperty(depth0, "datarecordid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14452      "name": "datarecordid",
14453      "hash": {},
14454      "data": data,
14455      "loc": {
14456        "start": {
14457          "line": 9,
14458          "column": 79
14459        },
14460        "end": {
14461          "line": 9,
14462          "column": 95
14463        }
14464      }
14465    }) : helper)) + "\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14466      "name": "value",
14467      "hash": {},
14468      "data": data,
14469      "loc": {
14470        "start": {
14471          "line": 9,
14472          "column": 104
14473        },
14474        "end": {
14475          "line": 9,
14476          "column": 113
14477        }
14478      }
14479    }) : helper)) + "\"  " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
14480      "name": "if",
14481      "hash": {},
14482      "fn": container.program(10, data, 0, blockParams, depths),
14483      "inverse": container.noop,
14484      "data": data,
14485      "loc": {
14486        "start": {
14487          "line": 9,
14488          "column": 116
14489        },
14490        "end": {
14491          "line": 9,
14492          "column": 158
14493        }
14494      }
14495    })) != null ? stack1 : "") + "/>\n					<label for=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "datarecordid") || (depth0 != null ? lookupProperty(depth0, "datarecordid") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14496      "name": "datarecordid",
14497      "hash": {},
14498      "data": data,
14499      "loc": {
14500        "start": {
14501          "line": 10,
14502          "column": 23
14503        },
14504        "end": {
14505          "line": 10,
14506          "column": 39
14507        }
14508      }
14509    }) : helper)) + "\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioLabelClass") || (depth0 != null ? lookupProperty(depth0, "radioLabelClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14510      "name": "radioLabelClass",
14511      "hash": {},
14512      "data": data,
14513      "loc": {
14514        "start": {
14515          "line": 10,
14516          "column": 48
14517        },
14518        "end": {
14519          "line": 10,
14520          "column": 69
14521        }
14522      }
14523    }) : helper)) != null ? stack1 : "") + "\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14524      "name": "label",
14525      "hash": {},
14526      "data": data,
14527      "loc": {
14528        "start": {
14529          "line": 10,
14530          "column": 71
14531        },
14532        "end": {
14533          "line": 10,
14534          "column": 80
14535        }
14536      }
14537    }) : helper)) + "</label>\n				</div>\n";
14538  },
14539  "10": function _(container, depth0, helpers, partials, data) {
14540    return "checked='checked'";
14541  },
14542  "compiler": [8, ">= 4.3.0"],
14543  "main": function main(container, depth0, helpers, partials, data, blockParams, depths) {
14544    var stack1,
14545        helper,
14546        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14547        alias2 = container.hooks.helperMissing,
14548        alias3 = "function",
14549        alias4 = container.escapeExpression,
14550        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14551      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14552        return parent[propertyName];
14553      }
14554
14555      return undefined;
14556    };
14557
14558    return "	<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14559      "name": "inputWrapperClass",
14560      "hash": {},
14561      "data": data,
14562      "loc": {
14563        "start": {
14564          "line": 1,
14565          "column": 13
14566        },
14567        "end": {
14568          "line": 1,
14569          "column": 36
14570        }
14571      }
14572    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14573      "name": "name",
14574      "hash": {},
14575      "data": data,
14576      "loc": {
14577        "start": {
14578          "line": 1,
14579          "column": 48
14580        },
14581        "end": {
14582          "line": 1,
14583          "column": 56
14584        }
14585      }
14586    }) : helper)) + "-container\">\n		<div class=\"mura-radio-group\">\n			<label class=\"mura-group-label\" for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14587      "name": "name",
14588      "hash": {},
14589      "data": data,
14590      "loc": {
14591        "start": {
14592          "line": 3,
14593          "column": 40
14594        },
14595        "end": {
14596          "line": 3,
14597          "column": 48
14598        }
14599      }
14600    }) : helper)) + "\">\n				" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
14601      "name": "if",
14602      "hash": {},
14603      "fn": container.program(1, data, 0, blockParams, depths),
14604      "inverse": container.program(3, data, 0, blockParams, depths),
14605      "data": data,
14606      "loc": {
14607        "start": {
14608          "line": 4,
14609          "column": 4
14610        },
14611        "end": {
14612          "line": 4,
14613          "column": 54
14614        }
14615      }
14616    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
14617      "name": "if",
14618      "hash": {},
14619      "fn": container.program(5, data, 0, blockParams, depths),
14620      "inverse": container.noop,
14621      "data": data,
14622      "loc": {
14623        "start": {
14624          "line": 4,
14625          "column": 54
14626        },
14627        "end": {
14628          "line": 4,
14629          "column": 112
14630        }
14631      }
14632    })) != null ? stack1 : "") + "\n			</label>\n			" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
14633      "name": "if",
14634      "hash": {},
14635      "fn": container.program(7, data, 0, blockParams, depths),
14636      "inverse": container.noop,
14637      "data": data,
14638      "loc": {
14639        "start": {
14640          "line": 6,
14641          "column": 3
14642        },
14643        "end": {
14644          "line": 6,
14645          "column": 30
14646        }
14647      }
14648    })) != null ? stack1 : "") + "\n" + ((stack1 = (lookupProperty(helpers, "eachStatic") || depth0 && lookupProperty(depth0, "eachStatic") || alias2).call(alias1, depth0 != null ? lookupProperty(depth0, "dataset") 
14648: depth0, {
14649      "name": "eachStatic",
14650      "hash": {},
14651      "fn": container.program(9, data, 0, blockParams, depths),
14652      "inverse": container.noop,
14653      "data": data,
14654      "loc": {
14655        "start": {
14656          "line": 7,
14657          "column": 3
14658        },
14659        "end": {
14660          "line": 12,
14661          "column": 18
14662        }
14663      }
14664    })) != null ? stack1 : "") + "		</div>\n	</div>\n";
14665  },
14666  "useData": true,
14667  "useDepths": true
14668});
14669this.Mura.templates.radio = this.Mura.Handlebars.template({
14670  "1": function _(container, depth0, helpers, partials, data) {
14671    var helper,
14672        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14673      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14674        return parent[propertyName];
14675      }
14676
14677      return undefined;
14678    };
14679
14680    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14681      "name": "summary",
14682      "hash": {},
14683      "data": data,
14684      "loc": {
14685        "start": {
14686          "line": 4,
14687          "column": 19
14688        },
14689        "end": {
14690          "line": 4,
14691          "column": 30
14692        }
14693      }
14694    }) : helper));
14695  },
14696  "3": function _(container, depth0, helpers, partials, data) {
14697    var helper,
14698        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14699      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14700        return parent[propertyName];
14701      }
14702
14703      return undefined;
14704    };
14705
14706    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14707      "name": "label",
14708      "hash": {},
14709      "data": data,
14710      "loc": {
14711        "start": {
14712          "line": 4,
14713          "column": 38
14714        },
14715        "end": {
14716          "line": 4,
14717          "column": 47
14718        }
14719      }
14720    }) : helper));
14721  },
14722  "5": function _(container, depth0, helpers, partials, data) {
14723    var helper,
14724        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14725      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14726        return parent[propertyName];
14727      }
14728
14729      return undefined;
14730    };
14731
14732    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
14733      "name": "formRequiredLabel",
14734      "hash": {},
14735      "data": data,
14736      "loc": {
14737        "start": {
14738          "line": 4,
14739          "column": 78
14740        },
14741        "end": {
14742          "line": 4,
14743          "column": 99
14744        }
14745      }
14746    }) : helper)) + "</ins>";
14747  },
14748  "7": function _(container, depth0, helpers, partials, data) {
14749    return "</br>";
14750  },
14751  "9": function _(container, depth0, helpers, partials, data, blockParams, depths) {
14752    var stack1,
14753        helper,
14754        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14755        alias2 = container.hooks.helperMissing,
14756        alias3 = "function",
14757        alias4 = container.escapeExpression,
14758        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14759      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14760        return parent[propertyName];
14761      }
14762
14763      return undefined;
14764    };
14765
14766    return "				<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioWrapperClass") || (depth0 != null ? lookupProperty(depth0, "radioWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14767      "name": "radioWrapperClass",
14768      "hash": {},
14769      "data": data,
14770      "loc": {
14771        "start": {
14772          "line": 8,
14773          "column": 16
14774        },
14775        "end": {
14776          "line": 8,
14777          "column": 39
14778        }
14779      }
14780    }) : helper)) != null ? stack1 : "") + "\">\n					<input type=\"radio\" name=\"" + alias4(container.lambda(depths[1] != null ? lookupProperty(depths[1], "name") : depths[1], depth0)) + "id\" class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioClass") || (depth0 != null ? lookupProperty(depth0, "radioClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14781      "name": "radioClass",
14782      "hash": {},
14783      "data": data,
14784      "loc": {
14785        "start": {
14786          "line": 9,
14787          "column": 53
14788        },
14789        "end": {
14790          "line": 9,
14791          "column": 69
14792        }
14793      }
14794    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14795      "name": "id",
14796      "hash": {},
14797      "data": data,
14798      "loc": {
14799        "start": {
14800          "line": 9,
14801          "column": 81
14802        },
14803        "end": {
14804          "line": 9,
14805          "column": 87
14806        }
14807      }
14808    }) : helper)) + "\" value=\"" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14809      "name": "id",
14810      "hash": {},
14811      "data": data,
14812      "loc": {
14813        "start": {
14814          "line": 9,
14815          "column": 96
14816        },
14817        "end": {
14818          "line": 9,
14819          "column": 102
14820        }
14821      }
14822    }) : helper)) + "\" " + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isselected") : depth0, {
14823      "name": "if",
14824      "hash": {},
14825      "fn": container.program(10, data, 0, blockParams, depths),
14826      "inverse": container.noop,
14827      "data": data,
14828      "loc": {
14829        "start": {
14830          "line": 9,
14831          "column": 104
14832        },
14833        "end": {
14834          "line": 9,
14835          "column": 146
14836        }
14837      }
14838    })) != null ? stack1 : "") + "/>\n					<label for=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14839      "name": "id",
14840      "hash": {},
14841      "data": data,
14842      "loc": {
14843        "start": {
14844          "line": 10,
14845          "column": 23
14846        },
14847        "end": {
14848          "line": 10,
14849          "column": 29
14850        }
14851      }
14852    }) : helper)) + "\" test1=1 class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "radioLabelClass") || (depth0 != null ? lookupProperty(depth0, "radioLabelClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14853      "name": "radioLabelClass",
14854      "hash": {},
14855      "data": data,
14856      "loc": {
14857        "start": {
14858          "line": 10,
14859          "column": 46
14860        },
14861        "end": {
14862          "line": 10,
14863          "column": 67
14864        }
14865      }
14866    }) : helper)) != null ? stack1 : "") + "\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14867      "name": "label",
14868      "hash": {},
14869      "data": data,
14870      "loc": {
14871        "start": {
14872          "line": 10,
14873          "column": 69
14874        },
14875        "end": {
14876          "line": 10,
14877          "column": 78
14878        }
14879      }
14880    }) : helper)) + "</label>\n				</div>\n";
14881  },
14882  "10": function _(container, depth0, helpers, partials, data) {
14883    return "checked='checked'";
14884  },
14885  "compiler": [8, ">= 4.3.0"],
14886  "main": function main(container, depth0, helpers, partials, data, blockParams, depths) {
14887    var stack1,
14888        helper,
14889        alias1 = depth0 != null ? depth0 : container.nullContext || {},
14890        alias2 = container.hooks.helperMissing,
14891        alias3 = "function",
14892        alias4 = container.escapeExpression,
14893        lookupProperty = container.lookupProperty || function (parent, propertyName) {
14894      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14895        return parent[propertyName];
14896      }
14897
14898      return undefined;
14899    };
14900
14901    return "	<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14902      "name": "inputWrapperClass",
14903      "hash": {},
14904      "data": data,
14905      "loc": {
14906        "start": {
14907          "line": 1,
14908          "column": 13
14909        },
14910        "end": {
14911          "line": 1,
14912          "column": 36
14913        }
14914      }
14915    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14916      "name": "name",
14917      "hash": {},
14918      "data": data,
14919      "loc": {
14920        "start": {
14921          "line": 1,
14922          "column": 48
14923        },
14924        "end": {
14925          "line": 1,
14926          "column": 56
14927        }
14928      }
14929    }) : helper)) + "-container\">\n		<div class=\"mura-radio-group\">\n			<label class=\"mura-group-label\" for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
14930      "name": "name",
14931      "hash": {},
14932      "data": data,
14933      "loc": {
14934        "start": {
14935          "line": 3,
14936          "column": 40
14937        },
14938        "end": {
14939          "line": 3,
14940          "column": 48
14941        }
14942      }
14943    }) : helper)) + "\">\n				" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
14944      "name": "if",
14945      "hash": {},
14946      "fn": container.program(1, data, 0, blockParams, depths),
14947      "inverse": container.program(3, data, 0, blockParams, depths),
14948      "data": data,
14949      "loc": {
14950        "start": {
14951          "line": 4,
14952          "column": 4
14953        },
14954        "end": {
14955          "line": 4,
14956          "column": 54
14957        }
14958      }
14959    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
14960      "name": "if",
14961      "hash": {},
14962      "fn": container.program(5, data, 0, blockParams, depths),
14963      "inverse": container.noop,
14964      "data": data,
14965      "loc": {
14966        "start": {
14967          "line": 4,
14968          "column": 54
14969        },
14970        "end": {
14971          "line": 4,
14972          "column": 112
14973        }
14974      }
14975    })) != null ? stack1 : "") + "\n			</label>\n			" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
14976      "name": "if",
14977      "hash": {},
14978      "fn": container.program(7, data, 0, blockParams, depths),
14979      "inverse": container.noop,
14980      "data": data,
14981      "loc": {
14982        "start": {
14983          "line": 6,
14984          "column": 3
14985        },
14986        "end": {
14987          "line": 6,
14988          "column": 30
14989        }
14990      }
14991    })) != null ? stack1 : "") + "\n" + ((stack1 = lookupProperty(helpers, "each").call(alias1, (stack1 = depth0 != null ? lookupProperty(depth0, "dataset") 
14991: depth0) != null ? lookupProperty(stack1, "options") : stack1, {
14992      "name": "each",
14993      "hash": {},
14994      "fn": container.program(9, data, 0, blockParams, depths),
14995      "inverse": container.noop,
14996      "data": data,
14997      "loc": {
14998        "start": {
14999          "line": 7,
15000          "column": 3
15001        },
15002        "end": {
15003          "line": 12,
15004          "column": 12
15005        }
15006      }
15007    })) != null ? stack1 : "") + "		</div>\n	</div>\n";
15008  },
15009  "useData": true,
15010  "useDepths": true
15011});
15012this.Mura.templates.section = this.Mura.Handlebars.template({
15013  "compiler": [8, ">= 4.3.0"],
15014  "main": function main(container, depth0, helpers, partials, data) {
15015    var stack1,
15016        helper,
15017        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15018        alias2 = container.hooks.helperMissing,
15019        alias3 = "function",
15020        alias4 = container.escapeExpression,
15021        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15022      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15023        return parent[propertyName];
15024      }
15025
15026      return undefined;
15027    };
15028
15029    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15030      "name": "inputWrapperClass",
15031      "hash": {},
15032      "data": data,
15033      "loc": {
15034        "start": {
15035          "line": 1,
15036          "column": 12
15037        },
15038        "end": {
15039          "line": 1,
15040          "column": 35
15041        }
15042      }
15043    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15044      "name": "name",
15045      "hash": {},
15046      "data": data,
15047      "loc": {
15048        "start": {
15049          "line": 1,
15050          "column": 47
15051        },
15052        "end": {
15053          "line": 1,
15054          "column": 55
15055        }
15056      }
15057    }) : helper)) + "-container\">\r\n<div class=\"mura-section\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15058      "name": "label",
15059      "hash": {},
15060      "data": data,
15061      "loc": {
15062        "start": {
15063          "line": 2,
15064          "column": 26
15065        },
15066        "end": {
15067          "line": 2,
15068          "column": 35
15069        }
15070      }
15071    }) : helper)) + "</div>\r\n<div class=\"mura-divide\"></div>\r\n</div>";
15072  },
15073  "useData": true
15074});
15075
15076this.Mura.templates.success = this.Mura.Handlebars.template({
15077  "compiler": [8, ">= 4.3.0"],
15078  "main": function main(container, depth0, helpers, partials, data) {
15079    var stack1,
15080        helper,
15081        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15082        alias2 = container.hooks.helperMissing,
15083        alias3 = "function",
15084        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15085      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15086        return parent[propertyName];
15087      }
15088
15089      return undefined;
15090    };
15091
15092    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "formResponseWrapperClass") || (depth0 != null ? lookupProperty(depth0, "formResponseWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15093      "name": "formResponseWrapperClass",
15094      "hash": {},
15095      "data": data,
15096      "loc": {
15097        "start": {
15098          "line": 1,
15099          "column": 12
15100        },
15101        "end": {
15102          "line": 1,
15103          "column": 42
15104        }
15105      }
15106    }) : helper)) != null ? stack1 : "") + "\">" + ((stack1 = (helper = (helper = lookupProperty(helpers, "responsemessage") || (depth0 != null ? lookupProperty(depth0, "responsemessage") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15107      "name": "responsemessage",
15108      "hash": {},
15109      "data": data,
15110      "loc": {
15111        "start": {
15112          "line": 1,
15113          "column": 44
15114        },
15115        "end": {
15116          "line": 1,
15117          "column": 65
15118        }
15119      }
15120    }) : helper)) != null ? stack1 : "") + "</div>\n";
15121  },
15122  "useData": true
15123});
15124this.Mura.templates.table = this.Mura.Handlebars.template({
15125  "1": function _(container, depth0, helpers, partials, data) {
15126    var helper,
15127        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15128        alias2 = container.hooks.helperMissing,
15129        alias3 = "function",
15130        alias4 = container.escapeExpression,
15131        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15132      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15133        return parent[propertyName];
15134      }
15135
15136      return undefined;
15137    };
15138
15139    return "<option value=\"" + alias4((helper = (helper = lookupProperty(helpers, "num") || (depth0 != null ? lookupProperty(depth0, "num") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15140      "name": "num",
15141      "hash": {},
15142      "data": data,
15143      "loc": {
15144        "start": {
15145          "line": 8,
15146          "column": 102
15147        },
15148        "end": {
15149          "line": 8,
15150          "column": 109
15151        }
15152      }
15153    }) : helper)) + "\" " + alias4((helper = (helper = lookupProperty(helpers, "selected") || (depth0 != null ? lookupProperty(depth0, "selected") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15154      "name": "selected",
15155      "hash": {},
15156      "data": data,
15157      "loc": {
15158        "start": {
15159          "line": 8,
15160          "column": 111
15161        },
15162        "end": {
15163          "line": 8,
15164          "column": 123
15165        }
15166      }
15167    }) : helper)) + ">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15168      "name": "label",
15169      "hash": {},
15170      "data": data,
15171      "loc": {
15172        "start": {
15173          "line": 8,
15174          "column": 124
15175        },
15176        "end": {
15177          "line": 8,
15178          "column": 133
15179        }
15180      }
15181    }) : helper)) + "</option>";
15182  },
15183  "3": function _(container, depth0, helpers, partials, data) {
15184    var helper,
15185        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15186        alias2 = container.hooks.helperMissing,
15187        alias3 = "function",
15188        alias4 = container.escapeExpression,
15189        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15190      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15191        return parent[propertyName];
15192      }
15193
15194      return undefined;
15195    };
15196
15197    return "					<option value=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15198      "name": "name",
15199      "hash": {},
15200      "data": data,
15201      "loc": {
15202        "start": {
15203          "line": 27,
15204          "column": 20
15205        },
15206        "end": {
15207          "line": 27,
15208          "column": 28
15209        }
15210      }
15211    }) : helper)) + "\" " + alias4((helper = (helper = lookupProperty(helpers, "selected") || (depth0 != null ? lookupProperty(depth0, "selected") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15212      "name": "selected",
15213      "hash": {},
15214      "data": data,
15215      "loc": {
15216        "start": {
15217          "line": 27,
15218          "column": 30
15219        },
15220        "end": {
15221          "line": 27,
15222          "column": 42
15223        }
15224      }
15225    }) : helper)) + ">" + alias4((helper = (helper = lookupProperty(helpers, "displayName") || (depth0 != null ? lookupProperty(depth0, "displayName") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15226      "name": "displayName",
15227      "hash": {},
15228      "data": data,
15229      "loc": {
15230        "start": {
15231          "line": 27,
15232          "column": 43
15233        },
15234        "end": {
15235          "line": 27,
15236          "column": 58
15237        }
15238      }
15239    }) : helper)) + "</option>\n";
15240  },
15241  "5": function _(container, depth0, helpers, partials, data) {
15242    var helper,
15243        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15244        alias2 = container.hooks.helperMissing,
15245        alias3 = "function",
15246        alias4 = container.escapeExpression,
15247        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15248      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15249        return parent[propertyName];
15250      }
15251
15252      return undefined;
15253    };
15254
15255    return "			<th class='data-sort' data-value='" + alias4((helper = (helper = lookupProperty(helpers, "column") || (depth0 != null ? lookupProperty(depth0, "column") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15256      "name": "column",
15257      "hash": {},
15258      "data": data,
15259      "loc": {
15260        "start": {
15261          "line": 53,
15262          "column": 37
15263        },
15264        "end": {
15265          "line": 53,
15266          "column": 47
15267        }
15268      }
15269    }) : helper)) + "'>" + alias4((helper = (helper = lookupProperty(helpers, "displayName") || (depth0 != null ? lookupProperty(depth0, "displayName") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15270      "name": "displayName",
15271      "hash": {},
15272      "data": data,
15273      "loc": {
15274        "start": {
15275          "line": 53,
15276          "column": 49
15277        },
15278        "end": {
15279          "line": 53,
15280          "column": 64
15281        }
15282      }
15283    }) : helper)) + "</th>\n";
15284  },
15285  "7": function _(container, depth0, helpers, partials, data, blockParams, depths) {
15286    var stack1,
15287        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15288        alias2 = container.hooks.helperMissing,
15289        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15290      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15291        return parent[propertyName];
15292      }
15293
15294      return undefined;
15295    };
15296
15297    return "			<tr class=\"even\">\n" + ((stack1 = (lookupProperty(helpers, "eachColRow") || depth0 && lookupProperty(depth0, "eachColRow") || alias2).call(alias1, depth0, depths[1] != null ? lookupProperty(depths[1], "columns") : depths[1], {
15298      "name": "eachColRow",
15299      "hash": {},
15300      "fn": container.program(8, data, 0, blockParams, depths),
15301      "inverse": container.noop,
15302      "data": data,
15303      "loc": {
15304        "start": {
15305          "line": 61,
15306          "column": 4
15307        },
15308        "end": {
15309          "line": 63,
15310          "column": 19
15311        }
15312      }
15313    })) != null ? stack1 : "") + "				<td>\n" + ((stack1 = (lookupProperty(helpers, "eachColButton") || depth0 && lookupProperty(depth0, "eachColButton") || alias2).call(alias1, depth0, {
15314      "name": "eachColButton",
15315      "hash": {},
15316      "fn": container.program(10, data, 0, blockParams, depths),
15317      "inverse": container.noop,
15318      "data": data,
15319      "loc": {
15320        "start": {
15321          "line": 65,
15322          "column": 4
15323        },
15324        "end": {
15325          "line": 67,
15326          "column": 22
15327        }
15328      }
15329    })) != null ? stack1 : "") + "				</td>\n			</tr>\n";
15330  },
15331  "8": function _(container, depth0, helpers, partials, data) {
15332    return "					<td>" + container.escapeExpression(container.lambda(depth0, depth0)) + "</td>\n";
15333  },
15334  "10": function _(container, depth0, helpers, partials, data) {
15335    var helper,
15336        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15337        alias2 = container.hooks.helperMissing,
15338        alias3 = "function",
15339        alias4 = container.escapeExpression,
15340        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15341      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15342        return parent[propertyName];
15343      }
15344
15345      return undefined;
15346    };
15347
15348    return "				<button type=\"button\" class=\"" + alias4((helper = (helper = lookupProperty(helpers, "type") || (depth0 != null ? lookupProperty(depth0, "type") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15349      "name": "type",
15350      "hash": {},
15351      "data": data,
15352      "loc": {
15353        "start": {
15354          "line": 66,
15355          "column": 33
15356        },
15357        "end": {
15358          "line": 66,
15359          "column": 41
15360        }
15361      }
15362    }) : helper)) + "\" data-value=\"" + alias4((helper = (helper = lookupProperty(helpers, "id") || (depth0 != null ? lookupProperty(depth0, "id") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15363      "name": "id",
15364      "hash": {},
15365      "data": data,
15366      "loc": {
15367        "start": {
15368          "line": 66,
15369          "column": 55
15370        },
15371        "end": {
15372          "line": 66,
15373          "column": 61
15374        }
15375      }
15376    }) : helper)) + "\" data-pos=\"" + alias4((helper = (helper = lookupProperty(helpers, "index") || data && lookupProperty(data, "index")) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15377      "name": "index",
15378      "hash": {},
15379      "data": data,
15380      "loc": {
15381        "start": {
15382          "line": 66,
15383          "column": 73
15384        },
15385        "end": {
15386          "line": 66,
15387          "column": 83
15388        }
15389      }
15390    }) : helper)) + "\">" + alias4((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15391      "name": "label",
15392      "hash": {},
15393      "data": data,
15394      "loc": {
15395        "start": {
15396          "line": 66,
15397          "column": 85
15398        },
15399        "end": {
15400          "line": 66,
15401          "column": 94
15402        }
15403      }
15404    }) : helper)) + "</button>\n";
15405  },
15406  "12": function _(container, depth0, helpers, partials, data) {
15407    var stack1,
15408        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15409      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15410        return parent[propertyName];
15411      }
15412
15413      return undefined;
15414    };
15415
15416    return "				<button class='data-nav' data-value=\"" + container.escapeExpression(container.lambda((stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "first") : stack1, depth0)) + "\">First</button>\n";
15417  },
15418  "14": function _(container, depth0, helpers, partials, data) {
15419    var stack1,
15420        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15421      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15422        return parent[propertyName];
15423      }
15424
15425      return undefined;
15426    };
15427
15428    return "				<button class='data-nav' data-value=\"" + container.escapeExpression(container.lambda((stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "previous") : stack1, depth0)) + "\">Prev</button>\n";
15429  },
15430  "16": function _(container, depth0, helpers, partials, data) {
15431    var stack1,
15432        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15433      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15434        return parent[propertyName];
15435      }
15436
15437      return undefined;
15438    };
15439
15440    return "				<button class='data-nav' data-value=\"" + container.escapeExpression(container.lambda((stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "next") : stack1, depth0)) + "\">Next</button>\n";
15441  },
15442  "18": function _(container, depth0, helpers, partials, data) {
15443    var stack1,
15444        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15445      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15446        return parent[propertyName];
15447      }
15448
15449      return undefined;
15450    };
15451
15452    return "				<button class='data-nav' data-value
15452=\"" + container.escapeExpression(container.lambda((stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "last") : stack1, depth0)) + "\">Last</button>\n";
15453  },
15454  "compiler": [8, ">= 4.3.0"],
15455  "main": function main(container, depth0, helpers, partials, data, blockParams, depths) {
15456    var stack1,
15457        alias1 = container.lambda,
15458        alias2 = container.escapeExpression,
15459        alias3 = depth0 != null ? depth0 : container.nullContext || {},
15460        alias4 = container.hooks.helperMissing,
15461        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15462      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15463        return parent[propertyName];
15464      }
15465
15466      return undefined;
15467    };
15468
15469    return "	<div class=\"mura-control-group\">\n		<div id=\"filter-results-container\">\n			<div id=\"date-filters\">\n				<div class=\"control-group\">\n				  <label>From</label>\n				  <div class=\"controls\">\n				  	<input type=\"text\" class=\"datepicker mura-date\" id=\"date1\" name=\"date1\" validate=\"date\" value=\"" + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "fromdate") : stack1, depth0)) + "\">\n				  	<select id=\"hour1\" name=\"hour1\" class=\"mura-date\">" + ((stack1 = (lookupProperty(helpers, "eachHour") || depth0 && lookupProperty(depth0, "eachHour") || alias4).call(alias3, (stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "fromhour") : stack1, {
15470      "name": "eachHour",
15471      "hash": {},
15472      "fn": container.program(1, data, 0, blockParams, depths),
15473      "inverse": container.noop,
15474      "data": data,
15475      "loc": {
15476        "start": {
15477          "line": 8,
15478          "column": 57
15479        },
15480        "end": {
15481          "line": 8,
15482          "column": 155
15483        }
15484      }
15485    })) != null ? stack1 : "") + "</select></select>\n					</div>\n				</div>\n			\n				<div class=\"control-group\">\n				  <label>To</label>\n				  <div class=\"controls\">\n				  	<input type=\"text\" class=\"datepicker mura-date\" id=\"date2\" name=\"date2\" validate=\"date\" value=\"" + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "todate") : stack1, depth0)) + "\">\n				  	<select id=\"hour2\" name=\"hour2\"  class=\"mura-date\">" + ((stack1 = (lookupProperty(helpers, "eachHour") || depth0 && lookupProperty(depth0, "eachHour") || alias4).call(alias3, (stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "tohour") : stack1, {
15486      "name": "eachHour",
15487      "hash": {},
15488      "fn": container.program(1, data, 0, blockParams, depths),
15489      "inverse": container.noop,
15490      "data": data,
15491      "loc": {
15492        "start": {
15493          "line": 16,
15494          "column": 58
15495        },
15496        "end": {
15497          "line": 16,
15498          "column": 154
15499        }
15500      }
15501    })) != null ? stack1 : "") + "</select></select>\n				   </select>\n					</div>\n				</div>\n			</div>\n					\n			<div class=\"control-group\">\n				<label>Keywords</label>\n				<div class=\"controls\">\n					<select name=\"filterBy\" class=\"mura-date\" id=\"results-filterby\">\n" + ((stack1 = (lookupProperty(helpers, "eachKey") || depth0 && lookupProperty(depth0, "eachKey") || alias4).call(alias3, depth0 != null ? lookupProperty(depth0, "properties") : depth0, (stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "filterby") : stack1, {
15502      "name": "eachKey",
15503      "hash": {},
15504      "fn": container.program(3, data, 0, blockParams, depths),
15505      "inverse": container.noop,
15506      "data": data,
15507      "loc": {
15508        "start": {
15509          "line": 26,
15510          "column": 5
15511        },
15512        "end": {
15513          "line": 28,
15514          "column": 17
15515        }
15516      }
15517    })) != null ? stack1 : "") + "					</select>\n					<input type=\"text\" class=\"mura-half\" name=\"keywords\" id=\"results-keywords\" value=\"" + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "filters") : depth0) != null ? lookupProperty(stack1, "filterkey") : stack1, depth0)) + "\">\n				</div>\n			</div>\n			<div class=\"form-actions\">\n				<button type=\"button\" class=\"btn\" id=\"btn-results-search\" ><i class=\"mi-bar-chart\"></i> View Data</button>\n				<button type=\"button\" class=\"btn\"  id=\"btn-results-download\" ><i class=\"mi-download\"></i> Download</button>\n			</div>\n		</div>\n	<div>\n\n	<ul class=\"metadata\">\n		<li>Page:\n			<strong>" + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "pageindex") : stack1, depth0)) + " of " + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "totalpages") : stack1, depth0)) + "</strong>\n		</li>
vendor: 26,797 bytes, lines 15517-16299
15517\n		<li>Total Records:\n			<strong>" + alias2(alias1((stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "totalitems") : stack1, depth0)) + "</strong>\n		</li>\n	</ul>\n\n	<table style=\"width: 100%\" class=\"table\">\n		<thead>\n		<tr>\n" + ((stack1 = lookupProperty(helpers, "each").call(alias3, depth0 != null ? lookupProperty(depth0, "columns") : depth0, {
15518      "name": "each",
15519      "hash": {},
15520      "fn": container.program(5, data, 0, blockParams, depths),
15521      "inverse": container.noop,
15522      "data": data,
15523      "loc": {
15524        "start": {
15525          "line": 52,
15526          "column": 2
15527        },
15528        "end": {
15529          "line": 54,
15530          "column": 11
15531        }
15532      }
15533    })) != null ? stack1 : "") + "			<th></th>\n		</tr>\n		</thead>\n		<tbody>\n" + ((stack1 = lookupProperty(helpers, "each").call(alias3, (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "items") : stack1, {
15534      "name": "each",
15535      "hash": {},
15536      "fn": container.program(7, data, 0, blockParams, depths),
15537      "inverse": container.noop,
15538      "data": data,
15539      "loc": {
15540        "start": {
15541          "line": 59,
15542          "column": 2
15543        },
15544        "end": {
15545          "line": 70,
15546          "column": 11
15547        }
15548      }
15549    })) != null ? stack1 : "") + "		</tbody>\n		<tfoot>\n		<tr>\n			<td>\n" + ((stack1 = lookupProperty(helpers, "if").call(alias3, (stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "first") : stack1, {
15550      "name": "if",
15551      "hash": {},
15552      "fn": container.program(12, data, 0, blockParams, depths),
15553      "inverse": container.noop,
15554      "data": data,
15555      "loc": {
15556        "start": {
15557          "line": 75,
15558          "column": 4
15559        },
15560        "end": {
15561          "line": 77,
15562          "column": 11
15563        }
15564      }
15565    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias3, (stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "previous") : stack1, {
15566      "name": "if",
15567      "hash": {},
15568      "fn": container.program(14, data, 0, blockParams, depths),
15569      "inverse": container.noop,
15570      "data": data,
15571      "loc": {
15572        "start": {
15573          "line": 78,
15574          "column": 4
15575        },
15576        "end": {
15577          "line": 80,
15578          "column": 11
15579        }
15580      }
15581    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias3, (stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "next") : stack1, {
15582      "name": "if",
15583      "hash": {},
15584      "fn": container.program(16, data, 0, blockParams, depths),
15585      "inverse": container.noop,
15586      "data": data,
15587      "loc": {
15588        "start": {
15589          "line": 81,
15590          "column": 4
15591        },
15592        "end": {
15593          "line": 83,
15594          "column": 11
15595        }
15596      }
15597    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias3, (stack1 = (stack1 = depth0 != null ? lookupProperty(depth0, "rows") : depth0) != null ? lookupProperty(stack1, "links") : stack1) != null ? lookupProperty(stack1, "last") : stack1, {
15598      "name": "if",
15599      "hash": {},
15600      "fn": container.program(18, data, 0, blockParams, depths),
15601      "inverse": container.noop,
15602      "data": data,
15603      "loc": {
15604        "start": {
15605          "line": 84,
15606          "column": 4
15607        },
15608        "end": {
15609          "line": 86,
15610          "column": 11
15611        }
15612      }
15613    })) != null ? stack1 : "") + "			</td>\n		</tfoot>\n	</table>\n</div>";
15614  },
15615  "useData": true,
15616  "useDepths": true
15617});
15618this.Mura.templates.textarea = this.Mura.Handlebars.template({
15619  "1": function _(container, depth0, helpers, partials, data) {
15620    var helper,
15621        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15622      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15623        return parent[propertyName];
15624      }
15625
15626      return undefined;
15627    };
15628
15629    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
15630      "name": "summary",
15631      "hash": {},
15632      "data": data,
15633      "loc": {
15634        "start": {
15635          "line": 2,
15636          "column": 67
15637        },
15638        "end": {
15639          "line": 2,
15640          "column": 78
15641        }
15642      }
15643    }) : helper));
15644  },
15645  "3": function _(container, depth0, helpers, partials, data) {
15646    var helper,
15647        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15648      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15649        return parent[propertyName];
15650      }
15651
15652      return undefined;
15653    };
15654
15655    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
15656      "name": "label",
15657      "hash": {},
15658      "data": data,
15659      "loc": {
15660        "start": {
15661          "line": 2,
15662          "column": 86
15663        },
15664        "end": {
15665          "line": 2,
15666          "column": 95
15667        }
15668      }
15669    }) : helper));
15670  },
15671  "5": function _(container, depth0, helpers, partials, data) {
15672    var helper,
15673        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15674      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15675        return parent[propertyName];
15676      }
15677
15678      return undefined;
15679    };
15680
15681    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
15682      "name": "formRequiredLabel",
15683      "hash": {},
15684      "data": data,
15685      "loc": {
15686        "start": {
15687          "line": 2,
15688          "column": 126
15689        },
15690        "end": {
15691          "line": 2,
15692          "column": 147
15693        }
15694      }
15695    }) : helper)) + "</ins>";
15696  },
15697  "7": function _(container, depth0, helpers, partials, data) {
15698    return "</br>";
15699  },
15700  "9": function _(container, depth0, helpers, partials, data) {
15701    return " aria-required=\"true\"";
15702  },
15703  "11": function _(container, depth0, helpers, partials, data) {
15704    var helper,
15705        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15706      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15707        return parent[propertyName];
15708      }
15709
15710      return undefined;
15711    };
15712
15713    return " placeholder=\"" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "placeholder") || (depth0 != null ? lookupProperty(depth0, "placeholder") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
15714      "name": "placeholder",
15715      "hash": {},
15716      "data": data,
15717      "loc": {
15718        "start": {
15719          "line": 4,
15720          "column": 117
15721        },
15722        "end": {
15723          "line": 4,
15724          "column": 132
15725        }
15726      }
15727    }) : helper)) + "\"";
15728  },
15729  "compiler": [8, ">= 4.3.0"],
15730  "main": function main(container, depth0, helpers, partials, data) {
15731    var stack1,
15732        helper,
15733        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15734        alias2 = container.hooks.helperMissing,
15735        alias3 = "function",
15736        alias4 = container.escapeExpression,
15737        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15738      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15739        return parent[propertyName];
15740      }
15741
15742      return undefined;
15743    };
15744
15745    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15746      "name": "inputWrapperClass",
15747      "hash": {},
15748      "data": data,
15749      "loc": {
15750        "start": {
15751          "line": 1,
15752          "column": 12
15753        },
15754        "end": {
15755          "line": 1,
15756          "column": 35
15757        }
15758      }
15759    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15760      "name": "name",
15761      "hash": {},
15762      "data": data,
15763      "loc": {
15764        "start": {
15765          "line": 1,
15766          "column": 47
15767        },
15768        "end": {
15769          "line": 1,
15770          "column": 55
15771        }
15772      }
15773    }) : helper)) + "-container\">\r\n	<label for=\"" + alias4((helper = (helper = lookupProperty(helpers, "labelForValue") || (depth0 != null ? lookupProperty(depth0, "labelForValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15774      "name": "labelForValue",
15775      "hash": {},
15776      "data": data,
15777      "loc": {
15778        "start": {
15779          "line": 2,
15780          "column": 13
15781        },
15782        "end": {
15783          "line": 2,
15784          "column": 30
15785        }
15786      }
15787    }) : helper)) + "\" data-for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15788      "name": "name",
15789      "hash": {},
15790      "data": data,
15791      "loc": {
15792        "start": {
15793          "line": 2,
15794          "column": 42
15795        },
15796        "end": {
15797          "line": 2,
15798          "column": 50
15799        }
15800      }
15801    }) : helper)) + "\">" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
15802      "name": "if",
15803      "hash": {},
15804      "fn": container.program(1, data, 0),
15805      "inverse": container.program(3, data, 0),
15806      "data": data,
15807      "loc": {
15808        "start": {
15809          "line": 2,
15810          "column": 52
15811        },
15812        "end": {
15813          "line": 2,
15814          "column": 102
15815        }
15816      }
15817    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
15818      "name": "if",
15819      "hash": {},
15820      "fn": container.program(5, data, 0),
15821      "inverse": container.noop,
15822      "data": data,
15823      "loc": {
15824        "start": {
15825          "line": 2,
15826          "column": 102
15827        },
15828        "end": {
15829          "line": 2,
15830          "column": 160
15831        }
15832      }
15833    })) != null ? stack1 : "") + "</label>\r\n	" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
15834      "name": "if",
15835      "hash": {},
15836      "fn": container.program(7, data, 0),
15837      "inverse": container.noop,
15838      "data": data,
15839      "loc": {
15840        "start": {
15841          "line": 3,
15842          "column": 1
15843        },
15844        "end": {
15845          "line": 3,
15846          "column": 28
15847        }
15848      }
15849    })) != null ? stack1 : "") + "\r\n	<textarea " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15850      "name": "commonInputAttributes",
15851      "hash": {},
15852      "data": data,
15853      "loc": {
15854        "start": {
15855          "line": 4,
15856          "column": 11
15857        },
15858        "end": {
15859          "line": 4,
15860          "column": 38
15861        }
15862      }
15863    }) : helper)) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
15864      "name": "if",
15865      "hash": {},
15866      "fn": container.program(9, data, 0),
15867      "inverse": container.noop,
15868      "data": data,
15869      "loc": {
15870        "start": {
15871          "line": 4,
15872          "column": 38
15873        },
15874        "end": {
15875          "line": 4,
15876          "column": 84
15877        }
15878      }
15879    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "placeholder") : depth0, {
15880      "name": "if",
15881      "hash": {},
15882      "fn": container.program(11, data, 0),
15883      "inverse": container.noop,
15884      "data": data,
15885      "loc": {
15886        "start": {
15887          "line": 4,
15888          "column": 84
15889        },
15890        "end": {
15891          "line": 4,
15892          "column": 140
15893        }
15894      }
15895    })) != null ? stack1 : "") + ">" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15896      "name": "value",
15897      "hash": {},
15898      "data": data,
15899      "loc": {
15900        "start": {
15901          "line": 4,
15902          "column": 141
15903        },
15904        "end": {
15905          "line": 4,
15906          "column": 150
15907        }
15908      }
15909    }) : helper)) + "</textarea>\r\n</div>\r\n";
15910  },
15911  "useData": true
15912});
15913this.Mura.templates.textblock = this.Mura.Handlebars.template({
15914  "compiler": [8, ">= 4.3.0"],
15915  "main": function main(container, depth0, helpers, partials, data) {
15916    var stack1,
15917        helper,
15918        alias1 = depth0 != null ? depth0 : container.nullContext || {},
15919        alias2 = container.hooks.helperMissing,
15920        alias3 = "function",
15921        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15922      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15923        return parent[propertyName];
15924      }
15925
15926      return undefined;
15927    };
15928
15929    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15930      "name": "inputWrapperClass",
15931      "hash": {},
15932      "data": data,
15933      "loc": {
15934        "start": {
15935          "line": 1,
15936          "column": 12
15937        },
15938        "end": {
15939          "line": 1,
15940          "column": 35
15941        }
15942      }
15943    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15944      "name": "name",
15945      "hash": {},
15946      "data": data,
15947      "loc": {
15948        "start": {
15949          "line": 1,
15950          "column": 47
15951        },
15952        "end": {
15953          "line": 1,
15954          "column": 55
15955        }
15956      }
15957    }) : helper)) + "-container\">\r\n<div class=\"mura-form-text\">" + ((stack1 = (helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
15958      "name": "value",
15959      "hash": {},
15960      "data": data,
15961      "loc": {
15962        "start": {
15963          "line": 2,
15964          "column": 28
15965        },
15966        "end": {
15967          "line": 2,
15968          "column": 39
15969        }
15970      }
15971    }) : helper)) != null ? stack1 : "") + "</div>\r\n</div>\r\n";
15972  },
15973  "useData": true
15974});
15975this.Mura.templates.textfield = this.Mura.Handlebars.template({
15976  "1": function _(container, depth0, helpers, partials, data) {
15977    var helper,
15978        lookupProperty = container.lookupProperty || function (parent, propertyName) {
15979      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
15980        return parent[propertyName];
15981      }
15982
15983      return undefined;
15984    };
15985
15986    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "summary") || (depth0 != null ? lookupProperty(depth0, "summary") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
15987      "name": "summary",
15988      "hash": {},
15989      "data": data,
15990      "loc": {
15991        "start": {
15992          "line": 2,
15993          "column": 67
15994        },
15995        "end": {
15996          "line": 2,
15997          "column": 78
15998        }
15999      }
16000    }) : helper));
16001  },
16002  "3": function _(container, depth0, helpers, partials, data) {
16003    var helper,
16004        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16005      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16006        return parent[propertyName];
16007      }
16008
16009      return undefined;
16010    };
16011
16012    return container.escapeExpression((helper = (helper = lookupProperty(helpers, "label") || (depth0 != null ? lookupProperty(depth0, "label") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
16013      "name": "label",
16014      "hash": {},
16015      "data": data,
16016      "loc": {
16017        "start": {
16018          "line": 2,
16019          "column": 86
16020        },
16021        "end": {
16022          "line": 2,
16023          "column": 95
16024        }
16025      }
16026    }) : helper));
16027  },
16028  "5": function _(container, depth0, helpers, partials, data) {
16029    var helper,
16030        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16031      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16032        return parent[propertyName];
16033      }
16034
16035      return undefined;
16036    };
16037
16038    return " <ins>" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "formRequiredLabel") || (depth0 != null ? lookupProperty(depth0, "formRequiredLabel") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
16039      "name": "formRequiredLabel",
16040      "hash": {},
16041      "data": data,
16042      "loc": {
16043        "start": {
16044          "line": 2,
16045          "column": 126
16046        },
16047        "end": {
16048          "line": 2,
16049          "column": 147
16050        }
16051      }
16052    }) : helper)) + "</ins>";
16053  },
16054  "7": function _(container, depth0, helpers, partials, data) {
16055    return "</br>";
16056  },
16057  "9": function _(container, depth0, helpers, partials, data) {
16058    return " aria-required=\"true\"";
16059  },
16060  "11": function _(container, depth0, helpers, partials, data) {
16061    var helper,
16062        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16063      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16064        return parent[propertyName];
16065      }
16066
16067      return undefined;
16068    };
16069
16070    return " placeholder=\"" + container.escapeExpression((helper = (helper = lookupProperty(helpers, "placeholder") || (depth0 != null ? lookupProperty(depth0, "placeholder") : depth0)) != null ? helper : container.hooks.helperMissing, typeof helper === "function" ? helper.call(depth0 != null ? depth0 : container.nullContext || {}, {
16071      "name": "placeholder",
16072      "hash": {},
16073      "data": data,
16074      "loc": {
16075        "start": {
16076          "line": 4,
16077          "column": 164
16078        },
16079        "end": {
16080          "line": 4,
16081          "column": 179
16082        }
16083      }
16084    }) : helper)) + "\"";
16085  },
16086  "compiler": [8, ">= 4.3.0"],
16087  "main": function main(container, depth0, helpers, partials, data) {
16088    var stack1,
16089        helper,
16090        alias1 = depth0 != null ? depth0 : container.nullContext || {},
16091        alias2 = container.hooks.helperMissing,
16092        alias3 = "function",
16093        alias4 = container.escapeExpression,
16094        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16095      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16096        return parent[propertyName];
16097      }
16098
16099      return undefined;
16100    };
16101
16102    return "<div class=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "inputWrapperClass") || (depth0 != null ? lookupProperty(depth0, "inputWrapperClass") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16103      "name": "inputWrapperClass",
16104      "hash": {},
16105      "data": data,
16106      "loc": {
16107        "start": {
16108          "line": 1,
16109          "column": 12
16110        },
16111        "end": {
16112          "line": 1,
16113          "column": 35
16114        }
16115      }
16116    }) : helper)) != null ? stack1 : "") + "\" id=\"field-" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16117      "name": "name",
16118      "hash": {},
16119      "data": data,
16120      "loc": {
16121        "start": {
16122          "line": 1,
16123          "column": 47
16124        },
16125        "end": {
16126          "line": 1,
16127          "column": 55
16128        }
16129      }
16130    }) : helper)) + "-container\">\r\n	<label for=\"" + alias4((helper = (helper = lookupProperty(helpers, "labelForValue") || (depth0 != null ? lookupProperty(depth0, "labelForValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16131      "name": "labelForValue",
16132      "hash": {},
16133      "data": data,
16134      "loc": {
16135        "start": {
16136          "line": 2,
16137          "column": 13
16138        },
16139        "end": {
16140          "line": 2,
16141          "column": 30
16142        }
16143      }
16144    }) : helper)) + "\" data-for=\"" + alias4((helper = (helper = lookupProperty(helpers, "name") || (depth0 != null ? lookupProperty(depth0, "name") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16145      "name": "name",
16146      "hash": {},
16147      "data": data,
16148      "loc": {
16149        "start": {
16150          "line": 2,
16151          "column": 42
16152        },
16153        "end": {
16154          "line": 2,
16155          "column": 50
16156        }
16157      }
16158    }) : helper)) + "\">" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
16159      "name": "if",
16160      "hash": {},
16161      "fn": container.program(1, data, 0),
16162      "inverse": container.program(3, data, 0),
16163      "data": data,
16164      "loc": {
16165        "start": {
16166          "line": 2,
16167          "column": 52
16168        },
16169        "end": {
16170          "line": 2,
16171          "column": 102
16172        }
16173      }
16174    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
16175      "name": "if",
16176      "hash": {},
16177      "fn": container.program(5, data, 0),
16178      "inverse": container.noop,
16179      "data": data,
16180      "loc": {
16181        "start": {
16182          "line": 2,
16183          "column": 102
16184        },
16185        "end": {
16186          "line": 2,
16187          "column": 160
16188        }
16189      }
16190    })) != null ? stack1 : "") + "</label>\r\n	" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "summary") : depth0, {
16191      "name": "if",
16192      "hash": {},
16193      "fn": container.program(7, data, 0),
16194      "inverse": container.noop,
16195      "data": data,
16196      "loc": {
16197        "start": {
16198          "line": 3,
16199          "column": 1
16200        },
16201        "end": {
16202          "line": 3,
16203          "column": 28
16204        }
16205      }
16206    })) != null ? stack1 : "") + "\r\n	<input type=\"" + ((stack1 = (helper = (helper = lookupProperty(helpers, "textInputTypeValue") || (depth0 != null ? lookupProperty(depth0, "textInputTypeValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16207      "name": "textInputTypeValue",
16208      "hash": {},
16209      "data": data,
16210      "loc": {
16211        "start": {
16212          "line": 4,
16213          "column": 14
16214        },
16215        "end": {
16216          "line": 4,
16217          "column": 38
16218        }
16219      }
16220    }) : helper)) != null ? stack1 : "") + "\" " + ((stack1 = (helper = (helper = lookupProperty(helpers, "commonInputAttributes") || (depth0 != null ? lookupProperty(depth0, "commonInputAttributes") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16221      "name": "commonInputAttributes",
16222      "hash": {},
16223      "data": data,
16224      "loc": {
16225        "start": {
16226          "line": 4,
16227          "column": 40
16228        },
16229        "end": {
16230          "line": 4,
16231          "column": 67
16232        }
16233      }
16234    }) : helper)) != null ? stack1 : "") + " value=\"" + alias4((helper = (helper = lookupProperty(helpers, "value") || (depth0 != null ? lookupProperty(depth0, "value") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16235      "name": "value",
16236      "hash": {},
16237      "data": data,
16238      "loc": {
16239        "start": {
16240          "line": 4,
16241          "column": 75
16242        },
16243        "end": {
16244          "line": 4,
16245          "column": 84
16246        }
16247      }
16248    }) : helper)) + "\"" + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "isrequired") : depth0, {
16249      "name": "if",
16250      "hash": {},
16251      "fn": container.program(9, data, 0),
16252      "inverse": container.noop,
16253      "data": data,
16254      "loc": {
16255        "start": {
16256          "line": 4,
16257          "column": 85
16258        },
16259        "end": {
16260          "line": 4,
16261          "column": 131
16262        }
16263      }
16264    })) != null ? stack1 : "") + ((stack1 = lookupProperty(helpers, "if").call(alias1, depth0 != null ? lookupProperty(depth0, "placeholder") : depth0, {
16265      "name": "if",
16266      "hash": {},
16267      "fn": container.program(11, data, 0),
16268      "inverse": container.noop,
16269      "data": data,
16270      "loc": {
16271        "start": {
16272          "line": 4,
16273          "column": 131
16274        },
16275        "end": {
16276          "line": 4,
16277          "column": 187
16278        }
16279      }
16280    })) != null ? stack1 : "") + "/>\r\n</div>\r\n";
16281  },
16282  "useData": true
16283});
16284this.Mura.templates.view = this.Mura.Handlebars.template({
16285  "1": function _(container, depth0, helpers, partials, data) {
16286    var helper,
16287        alias1 = depth0 != null ? depth0 : container.nullContext || {},
16288        alias2 = container.hooks.helperMissing,
16289        alias3 = "function",
16290        alias4 = container.escapeExpression,
16291        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16292      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16293        return parent[propertyName];
16294      }
16295
16296      return undefined;
16297    };
16298
16299    return "	<li>
16299\n		<strong>" + alias4((helper = (helper = lookupProperty(helpers, "displayName") || (depth0 != null ? lookupProperty(depth0, "displayName") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16300      "name": "displayName",
16301      "hash": {},
16302      "data": data,
16303      "loc": {
16304        "start": {
16305          "line": 5,
16306          "column": 10
16307        },
16308        "end": {
16309          "line": 5,
16310          "column": 25
16311        }
16312      }
16313    }) : helper)) + ": </strong> " + alias4((helper = (helper = lookupProperty(helpers, "displayValue") || (depth0 != null ? lookupProperty(depth0, "displayValue") : depth0)) != null ? helper : alias2, _typeof(helper) === alias3 ? helper.call(alias1, {
16314      "name": "displayValue",
16315      "hash": {},
16316      "data": data,
16317      "loc": {
16318        "start": {
16319          "line": 5,
16320          "column": 37
16321        },
16322        "end": {
16323          "line": 5,
16324          "column": 53
16325        }
16326      }
16327    }) : helper)) + " \n	</li>\n";
16328  },
16329  "compiler": [8, ">= 4.3.0"],
16330  "main": function main(container, depth0, helpers, partials, data) {
16331    var stack1,
16332        lookupProperty = container.lookupProperty || function (parent, propertyName) {
16333      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
16334        return parent[propertyName];
16335      }
16336
16337      return undefined;
16338    };
16339
16340    return "<div class=\"mura-control-group\">\n<ul>\n" + ((stack1 = (lookupProperty(helpers, "eachProp") || depth0 && lookupProperty(depth0, "eachProp") || container.hooks.helperMissing).call(depth0 != null ? depth0 : container.nullContext || {}, depth0, {
16341      "name": "eachProp",
16342      "hash": {},
16343      "fn": container.program(1, data, 0),
16344      "inverse": container.noop,
16345      "data": data,
16346      "loc": {
16347        "start": {
16348          "line": 3,
16349          "column": 0
16350        },
16351        "end": {
16352          "line": 7,
16353          "column": 13
16354        }
16355      }
16356    })) != null ? stack1 : "") + "</ul>\n<button type=\"button\" class=\"nav-back\">Back</button>\n</div>";
16357  },
16358  "useData": true
16359});
16360
16361/***/ }),
16362
16363/***/ 4654:
16364/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
16365
16366var Mura = __webpack_require__(791);
16367
16368var Handlebars = __webpack_require__(6834);
16369
16370Mura.Handlebars = Handlebars.create();
16371Mura.templatesLoaded = false;
16372Handlebars.noConflict();
16373Mura.templates = Mura.templates || {};
16374
16375Mura.templates['meta'] = function (context) {
16376  if (typeof context.labeltag == 'undefined' || !context.labeltag) {
16377    context.labeltag = 'h2';
16378  }
16379
16380  if (context.label) {
16381    return '<div class="mura-object-meta-wrapper"><div class="mura-object-meta"><' + Mura.escapeHTML(context.labeltag) + '>' + Mura.escapeHTML(context.label) + '</' + Mura.escapeHTML(context.labeltag) + '></div></div><div class="mura-flex-break"></div>';
16382  } else {
16383    return '';
16384  }
16385};
16386
16387Mura.templates['content'] = function (context) {
16388  var html = context.html || context.content || context.source || '';
16389
16390  if (Array.isArray(html)) {
16391    html = '';
16392  }
16393
16394  return '<div class="mura-object-content">' + html + '</div>';
16395};
16396
16397Mura.templates['text'] = function (context) {
16398  context = context || {};
16399
16400  if (context.label) {
16401    context.source = context.source || '';
16402  } else {
16403    context.source = context.source || '<p></p>';
16404  }
16405
16406  return context.source;
16407};
16408
16409Mura.templates['embed'] = function (context) {
16410  context = context || {};
16411
16412  if (context.source) {
16413    context.source = context.source || '';
16414  } else {
16415    context.source = context.source || '<p></p>';
16416  }
16417
16418  return context.source;
16419};
16420
16421Mura.templates['image'] = function (context) {
16422  context = context || {};
16423  context.src = context.src || '';
16424  context.alt = context.alt || '';
16425  context.caption = context.caption || '';
16426  context.imagelink = context.imagelink || '';
16427  context.fit = context.fit || '';
16428  var source = '';
16429  var style = '';
16430
16431  if (!context.src) {
16432    return '';
16433  }
16434
16435  if (context.fit) {
16436    style = ' style="height:100%;width:100%;object-fit:' + Mura.escapeHTML(context.fit) + ';" data-object-fit="' + Mura.escapeHTML(context.fit) + '" ';
16437  }
16438
16439  source = '<img src="' + Mura.escapeHTML(context.src) + '" alt="' + Mura.escapeHTML(context.alt) + '"' + style + ' loading="lazy"/>';
16440
16441  if (context.imagelink) {
16442    context.imagelinktarget = context.imagelinktarget || "";
16443    var targetString = "";
16444
16445    if (context.imagelinktarget) {
16446      targetString = ' target="' + Mura.escapeHTML(context.imagelinktarget) + '"';
16447    }
16448
16449    source = '<a href="' + Mura.escapeHTML(context.imagelink) + '"' + targetString + '/>' + source + '</a>';
16450  }
16451
16452  if (context.caption && context.caption != '<p></p>') {
16453    source += '<figcaption>' + context.caption + '</figcaption>';
16454  }
16455
16456  source = '<figure style="margin:0px">' + source + '</figure>';
16457  return source;
16458};
16459
16460__webpack_require__(379);
16461
16462/***/ }),
16463
16464/***/ 324:
16465/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
16466
16467var Mura = __webpack_require__(791);
16468/**
16469 * Creates a new Mura.UI.Collection
16470 * @name  Mura.UI.Collection
16471 * @class
16472 * @extends Mura.UI
16473 * @memberof  Mura
16474 */
16475
16476
16477Mura.UI.Collection = Mura.UI.extend(
16478/** @lends Mura.UI.Collection.prototype */
16479{
16480  defaultLayout: "List",
16481  layoutInstance: '',
16482  getLayoutInstance: function getLayoutInstance() {
16483    if (this.layoutInstance) {
16484      this.layoutInstance.destroy();
16485    }
16486
16487    this.layoutInstance = new Mura.Module[this.context.layout](this.context);
16488    return this.layoutInstance;
16489  },
16490  getCollection: function getCollection() {
16491    var self = this;
16492
16493    if (typeof this.context.feed != 'undefined' && typeof this.context.feed.getQuery != 'undefined') {
16494      return this.context.feed.getQuery();
16495    } else {
16496      this.context.source = this.context.source || '';
16497
16498      if (typeof this.context.nextn != 'undefined') {
16499        this.context.itemsperpage = this.context.nextn;
16500      }
16501
16502      if (typeof this.context.maxitems == 'undefined') {
16503        this.context.maxitems = 20;
16504      }
16505
16506      if (typeof this.context.itemsperpage != 'undefined') {
16507        this.context.itemsperpage = this.context.nextn;
16508      }
16509
16510      if (typeof this.context.expand == 'undefined') {
16511        this.context.expand = '';
16512      }
16513
16514      if (typeof this.context.expanddepth == 'undefined') {
16515        this.context.expanddepth = 1;
16516      }
16517
16518      if (typeof this.context.fields == 'undefined') {
16519        this.context.fields = '';
16520      }
16521
16522      if (typeof this.context.rawcollection != 'undefined') {
16523        return new Promise(function (resolve, reject) {
16524          resolve(new Mura.EntityCollection(self.context.rawcollection, Mura._requestcontext));
16525        });
16526      } else if (this.context.sourcetype == 'relatedcontent') {
16527        if (this.context.source == 'custom') {
16528          if (typeof this.context.items != 'undefined') {
16529            this.context.items = this.context.items.join();
16530          }
16531
16532          if (!this.context.items) {
16533            this.context.items = Mura.createUUID();
16534          }
16535
16536          return Mura.get(Mura.getAPIEndpoint() + 'content', {
16537            id: this.context.items,
16538            itemsperpage: this.context.itemsperpage,
16539            maxitems: this.context.maxitems,
16540            expand: this.context.expand,
16541            expanddepth: this.context.expanddepth,
16542            fields: this.context.fields
16543          }).then(function (resp) {
16544            return new Mura.EntityCollection(resp.data, Mura._requestcontext);
16545          });
16546        } else if (this.context.source == 'reverse') {
16547          return Mura.getEntity('content').set({
16548            'contentid': Mura.contentid,
16549            'id': Mura.contentid
16550          }).getRelatedContent('reverse', {
16551            itemsperpage: this.context.itemsperpage,
16552            maxitems: this.context.maxitems,
16553            sortby: this.context.sortby,
16554            expand: this.context.expand,
16555            expanddepth: this.context.expanddepth,
16556            fields: this.context.fields
16557          });
16558        } else {
16559          return Mura.getEntity('content').set({
16560            'contentid': Mura.contentid,
16561            'id': Mura.contentid
16562          }).getRelatedContent(this.context.source, {
16563            itemsperpage: this.context.itemsperpage,
16564            maxitems: this.context.maxitems,
16565            expand: this.context.expand,
16566            expanddepth: this.context.expanddepth,
16567            fields: this.context.fields
16568          });
16569        }
16570      } else if (this.context.sourcetype == 'children') {
16571        return Mura.getFeed('content').where().prop('parentid').isEQ(Mura.contentid).maxItems(100).itemsPerPage(this.context.
16571itemsperpage).expand(this.context.expand).expandDepth(this.context.expanddepth).fields(this.context.fields).getQuery();
16572      } else {
16573        return Mura.getFeed('content').where().prop('feedid').isEQ(this.context.source).maxItems(this.context.maxitems).itemsPerPage(this.context.itemsperpage).expand(this.context.expand).expandDepth(this.context.expand).fields(this.context.fields).getQuery();
16574      }
16575    }
16576  },
16577  renderClient: function renderClient() {
16578    if (typeof Mura.Module[this.context.layout] == 'undefined') {
16579      this.context.layout = Mura.firstToUpperCase(this.context.layout);
16580    }
16581
16582    if (typeof Mura.Module[this.context.layout] == 'undefined' && Mura.Module[this.defaultLayout] != 'undefined') {
16583      this.context.layout = this.defaultLayout;
16584    }
16585
16586    var self = this;
16587
16588    if (typeof Mura.Module[this.context.layout] != 'undefined') {
16589      this.getCollection().then(function (collection) {
16590        self.context.collection = collection;
16591        self.getLayoutInstance().renderClient();
16592      });
16593    } else {
16594      this.context.targetEl.innerHTML = "This collection has an undefined layout";
16595    }
16596
16597    this.trigger('afterRender');
16598  },
16599  renderServer: function renderServer() {
16600    //has implementation in ui.serverutils
16601    return '';
16602  },
16603  destroy: function destroy() {
16604    //has implementation in ui.serverutils
16605    if (this.layoutInstance) {
16606      this.layoutInstance.destroy();
16607    }
16608  }
16609});
16610Mura.Module.Collection = Mura.UI.Collection;
16611
16612/***/ }),
16613
16614/***/ 1711:
16615/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
16616
16617var Mura = __webpack_require__(791);
16618/**
16619 * Creates a new Mura.UI.Text
16620 * @name  Mura.UI.Container
16621 * @class
16622 * @extends Mura.UI
16623 * @memberof  Mura
16624 */
16625
16626
16627Mura.UI.Container = Mura.UI.extend(
16628/** @lends Mura.DisplayObject.Container.prototype */
16629{
16630  renderClient: function renderClient() {
16631    var target = Mura(this.context.targetEl);
16632
16633    if (typeof this.context.items != 'undefined' && !Array.isArray(this.context.items)) {
16634      try {
16635        this.context.items = JSON.parse(this.context.items);
16636      } catch (_unused) {
16637        console.log(this.context.items);
16638        delete this.context.items;
16639      }
16640    }
16641
16642    if (!Array.isArray(this.context.items)) {
16643      this.context.content = this.context.content || '';
16644      target.html(this.context.content);
16645    } else {
16646      this.context.items = this.context.items || [];
16647      this.context.items.forEach(function (data) {
16648        //console.log(data)
16649        data.transient = false;
16650
16651        if (!Mura.cloning) {
16652          data.preserveid = true;
16653        }
16654
16655        target.appendDisplayObject(data);
16656        delete data.preserveid;
16657      });
16658    }
16659
16660    this.trigger('afterRender');
16661  },
16662  reset: function reset(self, empty) {
16663    if (empty) {
16664      self.find('.mura-object:not([data-object="container"])').html('');
16665      self.find('.frontEndToolsModal').remove();
16666      self.find('.mura-object-meta').html('');
16667    }
16668
16669    var content = self.children('div.mura-object-content');
16670
16671    if (content.length) {
16672      var nestedObjects = [];
16673      content.children('.mura-object').each(function () {
16674        Mura.resetAsyncObject(this, empty); //console.log(Mura(this).data())
16675
16676        nestedObjects.push(Mura(this).data());
16677      });
16678      self.data('items', JSON.stringify(nestedObjects));
16679      self.removeAttr('data-content');
16680    }
16681  }
16682});
16683Mura.DisplayObject.Container = Mura.UI.Container;
16684
16685/***/ }),
16686
16687/***/ 397:
16688/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
16689
16690var Mura = __webpack_require__(791);
16691/**
16692 * Creates a new Mura.UI.Embed
16693 * @name  Mura.UI.Embed
16694 * @class
16695 * @extends Mura.UI
16696 * @memberof  Mura
16697 */
16698
16699
16700Mura.UI.Embed = Mura.UI.extend(
16701/** @lends Mura.DisplayObject.Embed.prototype */
16702{
16703  renderClient: function renderClient() {
16704    Mura(this.context.targetEl).html(Mura.templates['embed'](this.context));
16705    this.trigger('afterRender');
16706  },
16707  renderServer: function renderServer() {
16708    return Mura.templates['embed'](this.context);
16709  }
16710});
16711Mura.DisplayObject.Embed = Mura.UI.Embed;
16712
16713/***/ }),
16714
16715/***/ 5086:
16716/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
16717
16718function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
16719
16720var Mura = __webpack_require__(791);
16721/**
16722 * Creates a new Mura.UI.Form
16723 * @name	Mura.UI.Form
16724 * @class
16725 * @extends Mura.UI
16726 * @memberof	Mura
16727 */
16728
16729
16730Mura.UI.Form = Mura.UI.extend(
16731/** @lends Mura.DisplayObject.Form.prototype */
16732{
16733  context: {},
16734  ormform: false,
16735  formJSON: {},
16736  data: {},
16737  columns: [],
16738  currentpage: 0,
16739  entity: {},
16740  fields: {},
16741  filters: {},
16742  datasets: [],
16743  sortfield: '',
16744  sortdir: '',
16745  inlineerrors: true,
16746  properties: {},
16747  rendered: {},
16748  renderqueue: 0,
16749  //templateList: ['file','error','textblock','checkbox','checkbox_static','dropdown','dropdown_static','radio','radio_static','nested','textarea','textfield','form','paging','list','table','view','hidden','section'],
16750  formInit: false,
16751  responsemessage: "",
16752  rb: {
16753    generalwrapperclass: "well",
16754    generalwrapperbodyclass: "",
16755    formwrapperclass: "well",
16756    formwrapperbodyclass: "",
16757    formfieldwrapperclass: "control-group",
16758    formfieldlabelclass: "control-label",
16759    formerrorwrapperclass: "",
16760    formresponsewrapperclass: "",
16761    formgeneralcontrolclass: "form-control",
16762    forminputclass: "form-control",
16763    formselectclass: "form-control",
16764    formtextareaclass: "form-control",
16765    formfileclass: "form-control",
16766    formtextblockclass: "form-control",
16767    formcheckboxclass: "",
16768    formcheckboxlabelclass: "checkbox",
16769    formcheckboxwrapperclass: "",
16770    formradioclass: "",
16771    formradiowrapperclass: "",
16772    formradiolabelclass: "radio",
16773    formbuttonwrapperclass: "btn-group",
16774    formbuttoninnerclass: "",
16775    formbuttonclass: "btn btn-default",
16776    formrequiredwrapperclass: "",
16777    formbuttonsubmitclass: "form-submit",
16778    formbuttonsubmitlabel: "Submit",
16779    formbuttonsubmitwaitlabel: "Please Wait...",
16780    formbuttonnextclass: "form-nav",
16781    formbuttonnextlabel: "Next",
16782    formbuttonbackclass: "form-nav",
16783    formbuttonbacklabel: "Back",
16784    formbuttoncancelclass: "btn-primary pull-right",
16785    formbuttoncancellabel: "Cancel",
16786    formrequiredlabel: "Required",
16787    formfileplaceholder: "Select File"
16788  },
16789  renderClient: function renderClient() {
16790    if (this.context.mode == undefined) {
16791      this.context.mode = 'form';
16792    }
16793
16794    var ident = "mura-form-" + this.context.instanceid;
16795    this.context.formEl = "#" + ident;
16796    this.context.html = "<div id='" + ident + "'></div>";
16797    Mura(this.context.targetEl).html(this.context.html);
16798
16799    if (this.context.view == 'form') {
16800      this.getForm();
16801    } else {
16802      this.getList();
16803    }
16804
16805    return this;
16806  },
16807  getTemplates: function getTemplates() {
16808    var self = this;
16809
16810    if (self.context.view == 'form') {
16811      self.loadForm();
16812    } else {
16813      self.loadList();
16814    }
16815    /*
16816    if(Mura.templatesLoaded.length){
16817    	var temp = Mura.templateList.pop();
16818    		Mura.ajax(
16819    		{
16820    			url:Mura.assetpath + '/includes/display_objects/form/templates/' + temp + '.hb',
16821    			type:'get',
16822    			xhrFields:{ withCredentials: false },
16823    			success(data) {
16824    				Mura.templates[temp] = Mura.Handlebars.compile(data);
16825    				if(!Mura.templateList.length) {
16826    					if (self.context.view == 'form') {
16827    						self.loadForm();
16828    					} else {
16829    						self.loadList();
16830    					}
16831    				} else {
16832    					self.getTemplates();
16833    				}
16834    			}
16835    		}
16836    	);
16837    	}
16838    */
16839
16840  },
16841  getPageFieldList: function getPageFieldList() {
16842    var page = this.currentpage;
16843    var fields = this.formJSON.form.pages[page];
16844    var result = [];
16845
16846    for (var f = 0; f < fields.length; f++) {
16847      //console.log("add: " + self.formJSON.form.fields[fields[f]].name);
16848      result.push(this.formJSON.form.fields[fields[f]].name);
16849    } //console.log(result);
16850
16851
16852    return result.join(',');
16853  },
16854  renderField: function renderField(fieldtype, field) {
16855    var self = this;
16856    var templates = Mura.templates;
16857    var template = fieldtype;
16858    if (field.datasetid != "" && self.isormform) field.options = self.formJSON.datasets[field.datasetid].options;else if (field.datasetid != "") {
16859      field.dataset = self.formJSON.datasets[field.datasetid];
16860    }
16861    self.setDefault(fieldtype, field);
16862
16863    if (fieldtype == "nested") {
16864      var nested_context = {};
16865      nested_context.objectid = field.formid;
16866      nested_context.paging = 'single';
16867      nested_context.mode = 'nested';
16868      nested_context.prefix = field.name + '_';
16869      nested_context.master = this;
16870      var data = {};
16871      data.objectid = nested_context.objectid;
16872      data.formid = nested_context.objectid;
16873      data.object = 'form';
16874      data.siteid = self.context.siteid || Mura.siteid;
16875      data.contentid = Mura.contentid;
16876      data.contenthistid = Mura.contenthistid;
16877      Mura.get(Mura.getAPIEndpoint() + '?method=processAsyncObject', data).then(function (resp) {
16878        var tempContext = Mura.extend({}, nested_context);
16879        delete tempContext.targetEl;
16880        var context = Mura.deepExtend({}, tempContext, resp.data);
16881        context.targetEl = self.context.targetEl;
16882        Mura(".field-container-" + self.context.objectid, self.context.formEl).append('<div id="nested-' + field.formid + '"></div>');
16883        var nestedForm = new Mura.UI.Form(context);
16884        context.formEl = document.getElementById('nested-' + field.formid);
16885        nestedForm.getForm(); // var html = Mura.templates[template](field);
16886        // Mura(".field-container-" + self.context.objectid,self.context.formEl).append(html);
16887      });
16888    } else {
16889      if (fieldtype == "checkbox") {
16890        if (self.ormform) {
16891          field.selected = [];
16892          var ds = self.formJSON.datasets[field.datasetid];
16893
16894          for (var i in ds.datarecords) {
16895            if (ds.datarecords[i].selected && ds.datarecords[i].selected == 1) field.selected.push(i);
16896          }
16897
16898          field.selected = field.selected.join(",");
16899        } else {
16900          template = template + "_static";
16901        }
16902      } else if (fieldtype == "dropdown") {
16903        if (!self.ormform) {
16904          template = template + "_static";
16905        }
16906      } else if (fieldtype == "radio") {
16907        if (!self.ormform) {
16908          template = template + "_static";
16909        }
16910      } else if (fieldtype == "section") {
16911        if(field.fieldsetopen === '1') {
16912          field.label = '';
16913          if(self.fieldsetIsOpen === true) {
16914            Mura(".field-container-" + self.context.objectid, self.context.formEl).append('<!--close-fieldset-->');
16915          }
16916          self.fieldsetIsOpen = true;
16917
16918          Mura(".field-container-" + self.context.objectid, self.context.formEl).append('<!--open-fieldset-label: |' + field.fieldsetid + '| --->');
16919        }
16920      }
16921
16922      try {
16923      var html = Mura.templates[template](field);
16924      } catch (e) {
16925        console.log("ERROR",e,field);
16926      }
16927      Mura(".field-container-" + self.context.objectid, self.context.formEl).append(html);
16928    }
16929  },
16930  setDefault: function setDefault(fieldtype, field) {
16931    var self = this;
16932
16933    switch (fieldtype) {
16934      case "textfield":
16935      case "textarea":
16936        if (self.data[self.context.prefix + field.name]) {
16937          field.value = self.data[self.context.prefix + field.name];
16938        }
16939
16940        break;
16941
16942      case "checkbox":
16943        var ds = self.formJSON.datasets[field.datasetid];
16944
16945        for (var i = 0; i < ds.datarecords.length; i++) {
16946          if (self.ormform) {
16947            var sourceid = ds.source + "id";
16948            ds.datarecords[i].selected = 0;
16949            ds.datarecords[i].isselected = 0;
16950
16951            if (self.data[self.context.prefix + field.name].items && self.data[self.context.prefix + field.name].items.length) {
16952              for (var x = 0; x < self.data[self.context.prefix + field.name].items.length; x++) {
16953                if (ds.datarecords[i].id == self.data[self.context.prefix + field.name].items[x][sourceid]) {
16954                  ds.datarecords[i].isselected = 1;
16955                  ds.datarecords[i].selected = 1;
16956                }
16957              }
16958            }
16959          } else {
16960            if (self.data[self.context.prefix + field.name] && ds.datarecords[i].value && self.data[self.context.prefix + field.name].indexOf(ds.datarecords[i].value) > -1) {
16961              ds.datarecords[i].isselected = 1;
16962              ds.datarecords[i].selected = 1;
16963            } else {
16964              ds.datarecords[i].selected = 0;
16965              ds.datarecords[i].isselected = 0;
16966            }
16967          }
16968        }
16969
16970        break;
16971
16972      case "radio":
16973      case "dropdown":
16974        var ds = self.formJSON.datasets[field.datasetid];
16975
16976        for (var i = 0; i < ds.datarecords.length; i++) {
16977          if (self.ormform) {
16978            if (ds.datarecords[i].id == self.data[field.name + 'id']) {
16979              ds.datarecords[i].isselected = 1;
16980              field.selected = self.data[field.name + 'id'];
16981            } else {
16982              ds.datarecords[i].selected = 0;
16983              ds.datarecords[i].isselected = 0;
16984            }
16985          } else {
16986            if (ds.datarecords[i].value == self.data[self.context.prefix + field.name]) {
16987              ds.datarecords[i].isselected = 1;
16988              field.selected = self.data[self.context.prefix + field.name];
16989            } else {
16990              ds.datarecords[i].isselected = 0;
16991            }
16992          }
16993        }
16994
16995        break;
16996    }
16997  },
16998  renderData: function renderData() {
16999    var self = this;
17000
17001    if (self.datasets.length == 0) {
17002      if (self.renderqueue == 0) {
17003        self.renderForm();
17004      }
17005
17006      return;
17007    }
17008
17009    var dataset = self.formJSON.datasets[self.datasets.pop()];
17010
17011    if (dataset.sourcetype && dataset.sourcetype != 'muraorm') {
17012      self.renderData();
17013      return;
17014    }
17015
17016    if (dataset.sourcetype == 'muraorm') {
17017      dataset.options = [];
17018      self.renderqueue++;
17019      Mura.getFeed(dataset.source).getQuery().then(function (collection) {
17020        collection.each(function (item) {
17021          var itemid = item.get('id');
17022          dataset.datarecordorder.push(itemid);
17023          dataset.datarecords[itemid] = item.getAll();
17024          dataset.datarecords[itemid]['value'] = itemid;
17025          dataset.datarecords[itemid]['datarecordid'] = itemid;
17026          dataset.datarecords[itemid]['datasetid'] = dataset.datasetid;
17027          dataset.datarecords[itemid]['isselected'] = 0;
17028          dataset.options.push(dataset.datarecords[itemid]);
17029        });
17030      }).then(function () {
17031        self.renderqueue--;
17032        self.renderData();
17033
17034        if (self.renderqueue == 0) {
17035          self.renderForm();
17036        }
17037      });
17038    } else {
17039      if (self.renderqueue == 0) {
17040        self.renderForm();
17041      }
17042    }
17043  },
17044  renderForm: function renderForm() {
17045    var self = this; //console.log("render form: " + self.currentpage);
17046
17047    if (typeof self.context.prefix == 'undefined') {
17048      self.context.prefix = '';
17049    }
17050
17051    Mura(".field-container-" + self.context.objectid, self.context.formEl).empty();
17052
17053    if (!self.formInit) {
17054      self.initForm();
17055    }
17056
17057    var fields = self.formJSON.form.pages[self.currentpage];
17058
17059    self.fieldsetIsOpen = false;
17060
17061    for (var i = 0; i < fields.length; i++) {
17062      var field = self.formJSON.form.fields[fields[i]]; //try {
17063
17064      if (field.fieldtype.fieldtype != undefined && field.fieldtype.fieldtype != "") {
17065        self.renderField(field.fieldtype.fieldtype, field);
17066      }
17067    }
17068   if(self.fieldsetIsOpen) {
17069      Mura(".field-container-" + self.context.objectid, self.context.formEl).append('<!--close-fieldset-->');
17070   }
17071
17072   var selector = `.field-container-${self.context.objectid}`;
17073   var container = document.querySelector(selector);
17074   var htmlContent = container.innerHTML;
17075
17076   htmlContent = htmlContent.replace(/<!--open-fieldset-label: \|(.+?)\| --->/g, '<fieldset id="$1">');
17077   htmlContent = htmlContent.replace(/<!--close-fieldset-->/g, '</fieldset>');
17078
17079   container.innerHTML = htmlContent;
17080
17081
17082
17083    if (self.ishuman && self.currentpage == self.formJSON.form.pages.length - 1) {
17084      Mura(".field-container-" + self.context.objectid, self.context.formEl).append(self.ishuman);
17085    }
17086
17087    if (self.context.mode == 'form') {
17088      self.renderPaging();
17089    }
17090
17091    Mura.processMarkup(".field-container-" + self.context.objectid, self.context.formEl);
17092    self.trigger('afterRender');
17093  },
17094  renderPaging: function renderPaging() {
17095    var self = this;
17096    var submitlabel = typeof self.formJSON.form.formattributes != 'undefined' && typeof self.formJSON.form.formattributes.submitlabel != 'undefined' && self.formJSON.form.formattributes.submitlabel ? self.formJSON.form.formattributes.submitlabel : self.rb.formbuttonsubmitlabel;
17097    Mura(".error-container-" + self.context.objectid, self.context.formEl).empty();
17098    Mura(".paging-container-" + self.context.objectid, self.context.formEl).empty();
17099
17100    if (self.formJSON.form.pages.length == 1) {
17101      Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17102        page: self.currentpage + 1,
17103        label: submitlabel,
17104        "class": Mura.trim("mura-form-submit " + self.rb.formbuttonsubmitclass)
17105      }));
17106    } else {
17107      if (self.currentpage == 0) {
17108        Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17109          page: 1,
17110          label: self.rb.formbuttonnextlabel,
17111          "class": Mura.trim("mura-form-nav mura-form-next " + self.rb.formbuttonnextclass)
17112        }));
17113      } else {
17114        Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17115          page: self.currentpage - 1,
17116          label: self.rb.formbuttonbacklabel,
17117          "class": Mura.trim("mura-form-nav mura-form-back " + self.rb.formbuttonbackclass)
17118        }));
17119
17120        if (self.currentpage + 1 < self.formJSON.form.pages.length) {
17121          Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17122            page: self.currentpage + 1,
17123            label: self.rb.formbuttonnextlabel,
17124            "class": Mura.trim("mura-form-nav mura-form-next " + self.rb.formbuttonnextclass)
17125          }));
17126        } else {
17127          Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17128            page: self.currentpage + 1,
17129            label: submitlabel,
17130            "class": Mura.trim("mura-form-submit " + self.rb.formbuttonsubmitclass)
17131          }));
17132        }
17133      }
17134
17135      if (self.backlink != undefined && self.backlink.length) Mura(".paging-container-" + self.context.objectid, self.context.formEl).append(Mura.templates['paging']({
17136        page: self.currentpage + 1,
17137        label: self.rb.formbuttoncancellabel,
17138        "class": Mura.trim("mura-form-nav mura-form-cancel " + self.rb.formbuttoncancelclass)
17139      }));
17140    }
17141
17142    var submitHandler = function submitHandler() {
17143      self.submitForm();
17144    };
17145
17146    Mura(".mura-form-submit", self.context.formEl).off('click', submitHandler).on('click', submitHandler);
17147    Mura(".mura-form-cancel", self.context.formEl).click(function () {
17148      self.getTableData(self.backlink);
17149    });
17150
17151    var formNavHandler = function formNavHandler(e) {
17152      if (Mura(e.target).is('.mura-form-submit')) {
17153        return;
17154      }
17155
17156      self.setDataValues();
17157      var keepGoing = self.onPageSubmit.call(self.context.targetEl);
17158
17159      if (typeof keepGoing != 'undefined' && !keepGoing) {
17160        return;
17161      }
17162
17163      var button = this;
17164
17165      if (self.ormform) {
17166        Mura.getEntity(self.entity).set(self.data).validate(self.getPageFieldList()).then(function (entity) {
17167          if (entity.hasErrors()) {
17168            self.showErrors(entity.properties.errors);
17169          } else {
17170            self.currentpage = Mura(button).data('page');
17171            self.renderForm();
17172          }
17173        });
17174      } else {
17175        var data = Mura.extend({}, self.data, self.context);
17176        data.validateform = true;
17177        data.formid = data.objectid;
17178        data.siteid = data.siteid || Mura.siteid;
17179        data.fields = self.getPageFieldList();
17180        delete data.filename;
17181        delete data.def;
17182        delete data.ishuman;
17183        delete data.targetEl;
17184        delete data.html;
17185        Mura.ajax({
17186          type: 'post',
17187          url: Mura.getAPIEndpoint() + '?method=generateCSRFTokens',
17188          data: {
17189            siteid: data.siteid,
17190            context: data.formid
17191          },
17192          success: function success(resp) {
17193            data['csrf_token_expires'] = resp.data['csrf_token_expires'];
17194            data['csrf_token'] = resp.data['csrf_token'];
17195            Mura.post(Mura.getAPIEndpoint() + '?method=processAsyncObject', data).then(function (resp) {
17196              if (_typeof(resp.data.errors) == 'object' && !Mura.isEmptyObject(resp.data.errors)) {
17197                self.showErrors(resp.data.errors);
17198              } else if (typeof resp.data.redirect != 'undefined') {
17199                if (resp.data.redirect && resp.data.redirect != location.href) {
17200                  location.href = resp.data.redirect;
17201                } else {
17202                  location.reload(true);
17203                }
17204              } else {
17205                self.currentpage = Mura(button).data('page');
17206
17207                if (self.currentpage >= self.formJSON.form.pages.length) {
17208                  self.currentpage = self.formJSON.form.pages.length - 1;
17209                }
17210
17211                self.renderForm();
17212              }
17213            });
17214          }
17215        });
17216      }
17217      /*
17218      }
17219      else {
17220      	console.log('oops!');
17221      }
17222      */
17223
17224    };
17225
17226    Mura(".mura-form-nav", self.context.formEl).off('click', formNavHandler).on('click', formNavHandler);
17227
17228    var fileSelectorHandler = function fileSelectorHandler(e) {
17229      Mura(this).closest('.mura-form-file-container').find('input[type="file"]').trigger('click');
17230    };
17231
17232    var fileChangeHandler = function fileChangeHandler(e) {
17233      var inputEl = Mura(this);
17234      var fn = inputEl.val().replace(/\\/g, '/').replace(/.*\//, '');
17235      var fnEl = Mura('.mura-newfile-filename[data-filename="' + inputEl.attr("name") + '"]').val(fn);
17236      var f = Mura('input[type="file"][data-filename="' + inputEl.attr("name") + '"]').node.files[0];
17237      var fImg = Mura('img#mura-form-preview-' + inputEl.attr("name"));
17238      var fUrl = ''; // file upload
17239
17240      if (typeof f !== 'undefined') {
17241        fUrl = window.URL.createObjectURL(f);
17242        fnEl.val(fn);
17243        fImg.hide();
17244
17245        if (f.type.indexOf('image') == 0 && fUrl.length) {
17246          fImg.attr('src', fUrl).show();
17247        }
17248      } else {
17249        fImg.attr('src', fUrl).hide();
17250      }
17251    };
17252
17253    Mura(self.context.formEl).find('input[type="file"]').off('change', fileChangeHandler).on('change', fileChangeHandler);
17254    Mura(self.context.formEl).find('.mura-form-preview img, .mura-newfile-filename').off('click', fileSelectorHandler).on('click', fileSelectorHandler);
17255  },
17256  setDataValues: function setDataValues() {
17257    var self = this;
17258    var multi = {};
17259    var item = {};
17260    var valid = [];
17261    var currentPage = {};
17262    Mura(".field-container-" + self.context.objectid + " input, .field-container-" + self.context.objectid + " select, .field-container-" + self.context.objectid + " textarea").each(function () {
17263      currentPage[Mura(this).attr('name')] = true;
17264
17265      if (Mura(this).is('[type="checkbox"]')) {
17266        if (multi[Mura(this).attr('name')] == undefined) multi[Mura(this).attr('name')] = [];
17267
17268        if (this.checked) {
17269          if (self.ormform) {
17270            item = {};
17271            item['id'] = Mura.createUUID();
17272            item[self.entity + 'id'] = self.data.id;
17273            item[Mura(this).attr('source') + 'id'] = Mura(this).val();
17274            item['key'] = Mura(this).val();
17275            multi[Mura(this).attr('name')].push(item);
17276          } else {
17277            multi[Mura(this).attr('name')].push(Mura(this).val());
17278          }
17279        }
17280      } else if (Mura(this).is('[type="radio"]')) {
17281        if (this.checked) {
17282          self.data[Mura(this).attr('name')] = Mura(this).val();
17283          valid[Mura(this).attr('name')] = self.data[name];
17284        }
17285      } else {
17286        self.data[Mura(this).attr('name')] = Mura(this).val();
17287        valid[Mura(this).attr('name')] = self.data[Mura(this).attr('name')];
17288      }
17289    });
17290
17291    for (var i in multi) {
17292      if (self.ormform) {
17293        self.data[i].cascade = "replace";
17294        self.data[i].items = multi[i];
17295        valid[i] = self.data[i];
17296      } else {
17297        self.data[i] = multi[i].join(",");
17298        valid[i] = multi[i].join(",");
17299      }
17300    }
17301
17302    if (Mura.formdata) {
17303      var frm = document.getElementById('frm' + self.context.objectid);
17304
17305      for (var p in currentPage) {
17306        if (currentPage.hasOwnProperty(p) && typeof self.data[p] != 'undefined') {
17307          if (p.indexOf("_attachment") > -1 && typeof frm[p] != 'undefined') {
17308            self.attachments[p] = frm[p].files[0];
17309          }
17310        }
17311      }
17312    }
17313
17314    return valid;
17315  },
17316  validate: function validate(entity, fields) {
17317    return true;
17318  },
17319  getForm: function getForm(entityid, backlink) {
17320    var self = this;
17321
17322    if (entityid != undefined) {
17323      self.entityid = entityid;
17324    } else {
17325      delete self.entityid;
17326    }
17327
17328    if (backlink != undefined) {
17329      self.backlink = backlink;
17330    } else {
17331      delete self.backlink;
17332    }
17333
17334    self.loadForm();
17335  },
17336  loadForm: function loadForm(data) {
17337    var self = this;
17338    var formJSON = JSON.parse(self.context.def); // old forms
17339
17340    if (!formJSON.form.pages) {
17341      formJSON.form.pages = [];
17342      formJSON.form.pages[0] = formJSON.form.fieldorder;
17343      formJSON.form.fieldorder = [];
17344    }
17345
17346    if (typeof formJSON.datasets != 'undefined') {
17347      for (var d in formJSON.datasets) {
17348        if (typeof formJSON.datasets[d].DATARECORDS != 'undefined') {
17349          formJSON.datasets[d].datarecords = formJSON.datasets[d].DATARECORDS;
17350          delete formJSON.datasets[d].DATARECORDS;
17351        }
17352
17353        if (typeof formJSON.datasets[d].DATARECORDORDER != 'undefined') {
17354          formJSON.datasets[d].datarecordorder = formJSON.datasets[d].DATARECORDORDER;
17355          delete formJSON.datasets[d].DATARECORDORDER;
17356        }
17357      }
17358    }
17359
17360    entityName = self.context.filename.replace(/\W+/g, "");
17361    self.entity = entityName;
17362    self.formJSON = formJSON;
17363    self.fields = formJSON.form.fields;
17364    self.responsemessage = self.context.responsemessage;
17365    self.ishuman = self.context.ishuman;
17366
17367    if (formJSON.form.formattributes && formJSON.form.formattributes.Muraormentities == 1) {
17368      self.ormform = true;
17369    }
17370
17371    for (var i = 0; i < self.formJSON.datasets; i++) {
17372      self.datasets.push(i);
17373    }
17374
17375    if (self.ormform) {
17376      self.entity = entityName;
17377
17378      if (self.entityid == undefined) {
17379        Mura.get(Mura.getAPIEndpoint() + '/' + entityName + '/new?expand=all&ishuman=true').then(function (resp) {
17380          self.data = resp.data;
17381          self.renderData();
17382        });
17383      } else {
17384        Mura.get(Mura.getAPIEndpoint() + '/' + entityName + '/' + self.entityid + '?expand=all&ishuman=true').then(function (resp) {
17385          self.data = resp.data;
17386          self.renderData();
17387        });
17388      }
17389    } else {
17390      self.renderData();
17391    }
17392  },
17393  initForm: function initForm() {
17394    var self = this;
17395    Mura(self.context.formEl).empty();
17396
17397    if (self.context.mode != undefined && self.context.mode == 'nested') {
17398      var html = Mura.templates['nested'](self.context);
17399    } else {
17400      var html = Mura.templates['form'](self.context);
17401    }
17402
17403    Mura(self.context.formEl).append(html);
17404    self.currentpage = 0;
17405    self.attachments = {};
17406    self.formInit = true;
17407    Mura.trackEvent({
17408      category: 'Form',
17409      action: 'Impression',
17410      label: self.context.name,
17411      objectid: self.context.objectid,
17412      nonInteraction: true
17413    });
17414  },
17415  onSubmit: function onSubmit() {
17416    return true;
17417  },
17418  onPageSubmit: function onPageSubmit() {
17419    return true;
17420  },
17421  submitForm: function submitForm() {
17422    var self = this;
17423    var valid = self.setDataValues();
17424    Mura(".error-container-" + self.context.objectid, self.context.formEl).empty();
17425    var keepGoing = this.onSubmit.call(this.context.targetEl);
17426
17427    if (typeof keepGoing != 'undefined' && !keepGoing) {
17428      return;
17429    }
17430
17431    delete self.data.isNew;
17432    var frm = Mura(self.context.formEl).find('form');
17433    frm.find('.mura-form-submit').html(self.rb.formbuttonsubmitwaitlabel);
17434    frm.trigger('formSubmit');
17435
17436    if (self.ormform) {
17437      //console.log('a!');
17438      Mura.getEntity(self.entity).set(self.data).save().then(function (entity) {
17439        if (self.backlink != undefined) {
17440          self.getTableData(self.location);
17441          return;
17442        }
17443
17444        if (typeof resp.data.redirect != 'undefined') {
17445          if (resp.data.redirect && resp.data.redirect != location.href) {
17446            location.href = resp.data.redirect;
17447          } else {
17448            location.reload(true);
17449          }
17450        } else {
17451          Mura(self.context.formEl).html(Mura.templates['success'](data));
17452          self.trigger('afterResponseRender');
17453        }
17454      }, function (entity) {
17455        self.showErrors(entity.properties.errors);
17456        self.trigger('afterErrorRender');
17457      });
17458    } else {
17459      //console.log('b!');
17460      if (!Mura.formdata) {
17461        var data = Mura.extend({}, self.context, self.data);
17462        data.saveform = true;
17463        data.formid = data.objectid;
17464        data.siteid = self.context.siteid || data.siteid || Mura.siteid;
17465        data.contentid = Mura.contentid || '';
17466        data.contenthistid = Mura.contenthistid || '';
17467        delete data.filename;
17468        delete data.def;
17469        delete data.ishuman;
17470        delete data.targetEl;
17471        delete data.html;
17472
17473        if (data.responsechart) {
17474          var frm = Mura(self.context.targetEl);
17475          var polllist = new Array();
17476          frm.find("input[type='radio']").each(function () {
17477            polllist.push(Mura(this).val());
17478          });
17479
17480          if (polllist.length > 0) {
17481            data.polllist = polllist.toString();
17482          }
17483        }
17484
17485        var tokenArgs = {
17486          siteid: data.siteid,
17487          context: data.formid
17488        };
17489      } else {
17490        var rawdata = Mura.extend({}, self.context, self.data);
17491        rawdata.saveform = true;
17492        rawdata.formid = rawdata.objectid;
17493        rawdata.siteid = self.context.siteid || rawdata.siteid || Mura.siteid;
17494        rawdata.contentid = Mura.contentid || '';
17495        rawdata.contenthistid = Mura.contenthistid || '';
17496        delete rawdata.filename;
17497        delete rawdata.def;
17498        delete rawdata.ishuman;
17499        delete rawdata.targetEl;
17500        delete rawdata.html;
17501        var tokenArgs = {
17502          siteid: rawdata.siteid,
17503          context: rawdata.formid
17504        };
17505
17506        if (rawdata.responsechart) {
17507          var frm = Mura(self.context.targetEl);
17508          var polllist = new Array();
17509          frm.find("input[type='radio']").each(function () {
17510            polllist.push(Mura(this).val());
17511          });
17512
17513          if (polllist.length > 0) {
17514            rawdata.polllist = polllist.toString();
17515          }
17516        }
17517
17518        var data = new FormData();
17519
17520        for (var p in rawdata) {
17521          if (rawdata.hasOwnProperty(p)) {
17522            if (typeof self.attachments[p] != 'undefined') {
17523              data.append(p, self.attachments[p]);
17524            } else {
17525              data.append(p, rawdata[p]);
17526            }
17527          }
17528        }
17529      }
17530
17531      Mura.ajax({
17532        type: 'post',
17533        url: Mura.getAPIEndpoint() + '?method=generateCSRFTokens',
17534        data: tokenArgs,
17535        success: function success(resp) {
17536          if (!Mura.formdata) {
17537            data['csrf_token_expires'] = resp.data['csrf_token_expires'];
17538            data['csrf_token'] = resp.data['csrf_token'];
17539          } else {
17540            data.append('csrf_token_expires', resp.data['csrf_token_expires']);
17541            data.append('csrf_token', resp.data['csrf_token']);
17542          }
17543
17544          Mura.post(Mura.getAPIEndpoint() + '?method=processAsyncObject', data).then(function (resp) {
17545            if (_typeof(resp.data.errors) == 'object' && !Mura.isEmptyObject(resp.data.errors)) {
17546              self.showErrors(resp.data.errors);
17547              self.trigger('afterErrorRender');
17548            } else {
17549              Mura(self.context.formEl).find('form').trigger('formSubmitSuccess');
17550              Mura.trackEvent({
17551                category: 'Form',
17552                action: 'Conversion',
17553                label: self.context.name,
17554                objectid: self.context.objectid
17555              }).then(function () {
17556                if (typeof resp.data.redirect != 'undefined') {
17557                  if (resp.data.redirect && resp.data.redirect != location.href) {
17558                    location.href = resp.data.redirect;
17559                  } else {
17560                    location.reload(true);
17561                  }
17562                } else {
17563                  Mura(self.context.formEl).html(Mura.templates['success'](resp.data));
17564                  self.trigger('afterResponseRender');
17565                }
17566              });
17567            }
17568          }, function (resp) {
17569            self.showErrors({
17570              "systemerror": "We're sorry, a system error has occurred. Please try again later."
17571            });
17572            self.trigger('afterErrorRender');
17573          });
17574        }
17575      });
17576    }
17577  },
17578  showErrors: function showErrors(errors) {
17579    var self = this;
17580    var frm = Mura(this.context.formEl);
17581    var frmErrors = frm.find(".error-container-" + self.context.objectid);
17582    frm.find('.mura-form-submit').html(self.rb.formbuttonsubmitlabel);
17583    frm.find('.mura-response-error').remove();
17584    frm.find('[aria-invalid]').forEach(function () {
17585      this.removeAttribute('aria-invalid');
17586      this.removeAttribute('aria-describedby');
17587    }); //console.log(errors);
17588    //var errorData = {};
17589
17590    /*
17591    for(var i in self.fields) {
17592    	var field = self.fields[i];
17593    		if( errors[ field.name ] ) {
17594    		var error = {};
17595    		error.message = field.validatemessage && field.validatemessage.length ? field.validatemessage : errors[field.name];
17596    		error.field = field.name;
17597    		error.label = field.label;
17598    		errorData[field.name] = error;
17599    	}
17600    	}
17601    */
17602
17603    var fieldKeys = Object.keys(self.fields);
17604    /*
17605    ]	<input type="text" name=“Email " id=“Email" aria-required="true" aria-invalid="true" aria-describedby=“email_error">
17606    <div class="error " id=“email_error" role="alert" style="display: inline;"> Enter valid email ID</div>
17607    */
17608
17609    for (var e in errors) {
17610      var fieldKey = fieldKeys.find(function (key) {
17611        return self.fields[key].name === e;
17612      });
17613
17614      if (fieldKey) {
17615        var field = self.fields[fieldKey]; //console.log(field)
17616
17617        var error = {}; //error.message = field.validatemessage && field.validatemessage.length ? field.validatemessage : errors[field.name];
17618        //error.field = field.name;
17619        //error.label = field.label;
17620
17621        error.message = errors[e];
17622        error.selector = '#field-' + field.name;
17623        error.field = 'field-' + field.name;
17624        error.label = '';
17625        error.id = 'e' + Mura.createUUID();
17626
17627        if (field.cssid) {
17628          error.selector = '#' + field.cssid;
17629        } //errorData[e] = error;
17630
17631      } else {
17632        var error = {};
17633        error.message = errors[e];
17634        error.selector = '#field-' + e;
17635        error.field = 'field-' + e;
17636        error.label = '';
17637        error.id = 'e' + Mura.createUUID(); //errorData[e] = error;
17638      } //console.log(error);
17639
17640
17641      if (this.inlineerrors) {
17642        var field = Mura(this.context.formEl).find(error.selector);
17643        var errorTarget = field;
17644        var check;
17645
17646        if (!field.length) {
17647          field = Mura('label[for="' + e + '"]');
17648          check = field.parent().find('input');
17649
17650          if (check.length) {
17651            field = check;
17652          }
17653
17654          errorTarget = field;
17655          check = field.parent().find('label');
17656
17657          if (check.length) {
17658            errorTarget = check;
17659          }
17660        }
17661
17662        if (field.length) {
17663          field.attr('aria-invalid', true);
17664          field.attr('aria-describedby', error.id);
17665          errorTarget.node.insertAdjacentHTML('afterend', Mura.templates['error'](error));
17666        } else {
17667          frmErrors.append(Mura.templates['error'](error));
17668        }
17669      } else {
17670        frmErrors.append(Mura.templates['error'](error));
17671      }
17672    }
17673
17674    Mura(self.context.formEl).find('.g-recaptcha-container').each(function (el) {
17675      grecaptcha.reset(el.getAttribute('data-widgetid'));
17676    });
17677    var errorsSel = Mura(this.context.formEl).find('.mura-response-error');
17678
17679    if (errorsSel.length) {
17680      var error = errorsSel.first();
17681      var check = Mura('[aria-describedby="' + error.attr('id') + '"]');
17682
17683      if (check.length) {
17684        check.focus();
17685      } else {
17686        error.focus();
17687      }
17688    }
17689  },
17690  // lists
17691  getList: function getList() {
17692    var self = this;
17693    var entityName = '';
17694    /*
17695    if(Mura.templateList.length) {
17696    	self.getTemplates();
17697    }
17698    else {
17699    */
17700
17701    self.loadList(); //}
17702  },
17703  filterResults: function filterResults() {
17704    var self = this;
17705    var before = "";
17706    var after = "";
17707    self.filters.filterby = Mura("#results-filterby", self.context.formEl).val();
17708    self.filters.filterkey = Mura("#results-keywords", self.context.formEl).val();
17709
17710    if (Mura("#date1", self.context.formEl).length) {
17711      if (Mura("#date1", self.context.formEl).val().length) {
17712        self.filters.from = Mura("#date1", self.context.formEl).val() + " " + Mura("#hour1", self.context.formEl).val() + ":00:00";
17713        self.filters.fromhour = Mura("#hour1", self.context.formEl).val();
17714        self.filters.fromdate = Mura("#date1", self.context.formEl).val();
17715      } else {
17716        self.filters.from = "";
17717        self.filters.fromhour = 0;
17718        self.filters.fromdate = "";
17719      }
17720
17721      if (Mura("#date2", self.context.formEl).val().length) {
17722        self.filters.to = Mura("#date2", self.context.formEl).val() + " " + Mura("#hour2", self.context.formEl).val() + ":00:00";
17723        self.filters.tohour = Mura("#hour2", self.context.formEl).val();
17724        self.filters.todate = Mura("#date2", self.context.formEl).val();
17725      } else {
17726        self.filters.to = "";
17727        self.filters.tohour = 0;
17728        self.filters.todate = "";
17729      }
17730    }
17731
17732    self.getTableData();
17733  },
17734  downloadResults: function downloadResults() {
17735    var self = this;
17736    self.filterResults();
17737  },
17738  loadList: function loadList() {
17739    var self = this;
17740    formJSON = self.context.formdata;
17741    entityName = dself.context.filename.replace(/\W+/g, "");
17742    self.entity = entityName;
17743    self.formJSON = formJSON;
17744
17745    if (formJSON.form.formattributes && formJSON.form.formattributes.Muraormentities == 1) {
17746      self.ormform = true;
17747    } else {
17748      Mura(self.context.formEl).append("Unsupported for pre-Mura 7.0 MuraORM Forms.");
17749      return;
17750    }
17751
17752    self.getTableData();
17753    /*
17754    Mura.get(
17755    	Mura.getAPIEndpoint() + 'content/' + self.context.objectid
17756    	 + '?fields=body,title,filename,responsemessage'
17757    	).then(function(data) {
17758    	 	formJSON = JSON.parse( data.data.body );
17759    		entityName = data.data.filename.replace(/\W+/g, "");
17760    		self.entity = entityName;
17761    	 	self.formJSON = formJSON;
17762    			if (formJSON.form.formattributes && formJSON.form.formattributes.Muraormentities == 1) {
17763    			self.ormform = true;
17764    		}
17765    		else {
17766    			Mura(self.context.formEl).append("Unsupported for pre-Mura 7.0 MuraORM Forms.");
17767    			return;
17768    		}
17769    			self.getTableData();
17770    });
17771    */
17772  },
17773  getTableData: function getTableData(navlink) {
17774    var self = this;
17775    Mura.get(Mura.getAPIEndpoint() + self.entity + '/listviewdescriptor').then(function (resp) {
17776      self.columns = resp.data;
17777      Mura.get(Mura.getAPIEndpoint() + self.entity + '/propertydescriptor/').then(function (resp) {
17778        self.properties = self.cleanProps(resp.data);
17779
17780        if (navlink == undefined) {
17781          navlink = Mura.getAPIEndpoint() + self.entity + '?sort=' + self.sortdir + self.sortfield;
17782          var fields = [];
17783
17784          for (var i = 0; i < self.columns.length; i++) {
17785            fields.push(self.columns[i].column);
17786          }
17787
17788          navlink = navlink + "&fields=" + fields.join(",");
17789
17790          if (self.filters.filterkey && self.filters.filterkey != '') {
17791            navlink = navlink + "&" + self.filters.filterby + "=contains^" + self.filters.filterkey;
17792          }
17793
17794          if (self.filters.from && self.filters.from != '') {
17795            navlink = navlink + "&created[1]=gte^" + self.filters.from;
17796          }
17797
17798          if (self.filters.to && self.filters.to != '') {
17799            navlink = navlink + "&created[2]=lte^" + self.filters.to;
17800          }
17801        }
17802
17803        Mura.get(navlink).then(function (resp) {
17804          self.data = resp.data;
17805          self.location = self.data.links.self;
17806          var tableData = {
17807            rows: self.data,
17808            columns: self.columns,
17809            properties: self.properties,
17810            filters: self.filters
17811          };
17812          self.renderTable(tableData);
17813        });
17814      });
17815    });
17816  },
17817  renderTable: function renderTable(tableData) {
17818    var self = this;
17819    var html = Mura.templates['table'](tableData);
17820    Mura(self.context.formEl).html(html);
17821
17822    if (self.context.view == 'list') {
17823      Mura("#date-filters", self.context.formEl).empty();
17824      Mura("#btn-results-download", self.context.formEl).remove();
17825    } else {
17826      if (self.context.render == undefined) {
17827        Mura(".datepicker", self.context.formEl).datepicker();
17828      }
17829
17830      Mura("#btn-results-download", self.context.formEl).click(function () {
17831        self.downloadResults();
17832      });
17833    }
17834
17835    Mura("#btn-results-search", self.context.formEl).click(function () {
17836      self.filterResults();
17837    });
17838    Mura(".data-edit", self.context.formEl).click(function () {
17839      self.renderCRUD(Mura(this).attr('data-value'), Mura(this).attr('data-pos'));
17840    });
17841    Mura(".data-view", self.context.formEl).click(function () {
17842      self.loadOverview(Mura(this).attr('data-value'), Mura(this).attr('data-pos'));
17843    });
17844    Mura(".data-nav", self.context.formEl).click(function () {
17845      self.getTableData(Mura(this).attr('data-value'));
17846    });
17847    Mura(".data-sort").click(function () {
17848      var sortfield = Mura(this).attr('data-value');
17849      if (sortfield == self.sortfield && self.sortdir == '') self.sortdir = '-';else self.sortdir = '';
17850      self.sortfield = Mura(this).attr('data-value');
17851      self.getTableData();
17852    });
17853  },
17854  loadOverview: function loadOverview(itemid, pos) {
17855    var self = this;
17856    Mura.get(Mura.getAPIEndpoint() + entityName + '/' + itemid + '?expand=all').then(function (resp) {
17857      self.item = resp.data;
17858      self.renderOverview();
17859    });
17860  },
17861  renderOverview: function renderOverview() {
17862    var self = this; //console.log('ia');
17863    //console.log(self.item);
17864
17865    Mura(self.context.formEl).empty();
17866    var html = Mura.templates['view'](self.item);
17867    Mura(self.context.formEl).append(html);
17868    Mura(".nav-back", self.context.formEl).click(function () {
17869      self.getTableData(self.location);
17870    });
17871  },
17872  renderCRUD: function renderCRUD(itemid, pos) {
17873    var self = this;
17874    self.formInit = 0;
17875    self.initForm();
17876    self.getForm(itemid, self.data.links.self);
17877  },
17878  cleanProps: function cleanProps(props) {
17879    var propsOrdered = {};
17880    var propsRet = {};
17881    var ct = 100000;
17882    delete props.isnew;
17883    delete props.created;
17884    delete props.lastUpdate;
17885    delete props.errors;
17886    delete props.saveErrors;
17887    delete props.instance;
17888    delete props.instanceid;
17889    delete props.frommuracache;
17890    delete props[self.entity + "id"];
17891
17892    for (var i in props) {
17893      if (props[i].orderno != undefined) {
17894        propsOrdered[props[i].orderno] = props[i];
17895      } else {
17896        propsOrdered[ct++] = props[i];
17897      }
17898    }
17899
17900    Object.keys(propsOrdered).sort().forEach(function (v, i) {
17901      propsRet[v] = propsOrdered[v];
17902    });
17903    return propsRet;
17904  },
17905  registerHelpers: function registerHelpers() {
17906    var self = this;
17907    Mura.extend(self.rb, Mura.rb);
17908    Mura.Handlebars.registerHelper('eachColRow', function (row, columns, options) {
17909      var ret = "";
17910
17911      for (var i = 0; i < columns.length; i++) {
17912        ret = ret + options.fn(row[columns[i].column]);
17913      }
17914
17915      return ret;
17916    });
17917    Mura.Handlebars.registerHelper('eachProp', function (data, options) {
17918      var ret = "";
17919      var obj = {};
17920
17921      for (var i in self.properties) {
17922        obj.displayName = self.properties[i].displayName;
17923
17924        if (self.properties[i].fieldtype == "one-to-one") {
17925          obj.displayValue = data[self.properties[i].cfc].val;
17926        } else obj.displayValue = data[self.properties[i].column];
17927
17928        ret = ret + options.fn(obj);
17929      }
17930
17931      return ret;
17932    });
17933    Mura.Handlebars.registerHelper('eachKey', function (properties, by, options) {
17934      var ret = "";
17935      var item = "";
17936
17937      for (var i in properties) {
17938        item = properties[i];
17939        if (item.column == by) item.selected = "Selected";
17940        if (item.rendertype == 'textfield') ret = ret + options.fn(item);
17941      }
17942
17943      return ret;
17944    });
17945    Mura.Handlebars.registerHelper('eachHour', function (hour, options) {
17946      var ret = "";
17947      var h = 0;
17948      var val = "";
17949
17950      for (var i = 0; i < 24; i++) {
17951        if (i == 0) {
17952          val = {
17953            label: "12 AM",
17954            num: i
17955          };
17956        } else if (i < 12) {
17957          h = i;
17958          val = {
17959            label: h + " AM",
17960            num: i
17961          };
17962        } else if (i == 12) {
17963          h = i;
17964          val = {
17965            label: h + " PM",
17966            num: i
17967          };
17968        } else {
17969          h = i - 12;
17970          val = {
17971            label: h + " PM",
17972            num: i
17973          };
17974        }
17975
17976        if (hour == i) val.selected = "selected";
17977        ret = ret + options.fn(val);
17978      }
17979
17980      return ret;
17981    });
17982    Mura.Handlebars.registerHelper('eachColButton', function (row, options) {
17983      var ret = "";
17984      row.label = 'View';
17985      row.type = 'data-view'; // only do view if there are more properties than columns
17986
17987      if (Object.keys(self.properties).length > self.columns.length) {
17988        ret = ret + options.fn(row);
17989      }
17990
17991      if (self.context.view == 'edit') {
17992        row.label = 'Edit';
17993        row.type = 'data-edit';
17994        ret = ret + options.fn(row);
17995      }
17996
17997      return ret;
17998    });
17999    Mura.Handlebars.registerHelper('eachCheck', function (checks, selected, options) {
18000      var ret = "";
18001
18002      for (var i = 0; i < checks.length; i++) {
18003        if (selected.indexOf(checks[i].id) > -1) checks[i].isselected = 1;else checks[i].isselected = 0;
18004        ret = ret + options.fn(checks[i]);
18005      }
18006
18007      return ret;
18008    });
18009    Mura.Handlebars.registerHelper('eachStatic', function (dataset, options) {
18010      var ret = "";
18011
18012      for (var i = 0; i < dataset.datarecordorder.length; i++) {
18013        ret = ret + options.fn(dataset.datarecords[dataset.datarecordorder[i]]);
18014      }
18015
18016      return ret;
18017    });
18018    Mura.Handlebars.registerHelper('inputWrapperClass', function () {
18019      var escapeExpression = Mura.Handlebars.escapeExpression;
18020      var returnString = 'mura-control-group';
18021
18022      if (self.rb.formfieldwrapperclass) {
18023        returnString += ' ' + self.rb.formfieldwrapperclass;
18024      }
18025
18026      if (this.wrappercssclass) {
18027        returnString += ' ' + escapeExpression(this.wrappercssclass);
18028      }
18029
18030      if (this.isrequired) {
18031        returnString += ' req';
18032
18033        if (self.rb.formrequiredwrapperclass) {
18034          returnString += ' ' + self.rb.formrequiredwrapperclass;
18035        }
18036      }
18037
18038      return returnString;
18039    });
18040    Mura.Handlebars.registerHelper('radioLabelClass', function () {
18041      return self.rb.formradiolabelclass;
18042    });
18043    Mura.Handlebars.registerHelper('formErrorWrapperClass', function () {
18044      if (self.rb.formerrorwrapperclass) {
18045        return 'mura-response-error' + ' ' + self.rb.formerrorwrapperclass;
18046      } else {
18047        return 'mura-response-error';
18048      }
18049    });
18050    Mura.Handlebars.registerHelper('formSuccessWrapperClass', function () {
18051      if (self.rb.formresponsewrapperclass) {
18052        return 'mura-response-success' + ' ' + self.rb.formresponsewrapperclass;
18053      } else {
18054        return 'mura-response-success';
18055      }
18056    });
18057    Mura.Handlebars.registerHelper('formResponseWrapperClass', function () {
18058      if (self.rb.formresponsewrapperclass) {
18059        return 'mura-response-success' + ' ' + self.rb.formresponsewrapperclass;
18060      } else {
18061        return 'mura-response-success';
18062      }
18063    });
18064    Mura.Handlebars.registerHelper('radioClass', function () {
18065      return self.rb.formradioclass;
18066    });
18067    Mura.Handlebars.registerHelper('radioWrapperClass', function () {
18068      return self.rb.formradiowrapperclass;
18069    });
18070    Mura.Handlebars.registerHelper('checkboxLabelClass', function () {
18071      return self.rb.formcheckboxlabelclass;
18072    });
18073    Mura.Handlebars.registerHelper('checkboxClass', function () {
18074      return self.rb.formcheckboxclass;
18075    });
18076    Mura.Handlebars.registerHelper('checkboxWrapperClass', function () {
18077      return self.rb.formcheckboxwrapperclass;
18078    });
18079    Mura.Handlebars.registerHelper('formRequiredLabel', function () {
18080      return self.rb.formrequiredlabel;
18081    });
18082    Mura.Handlebars.registerHelper('filePlaceholder', function () {
18083      var escapeExpression = Mura.Handlebars.escapeExpression;
18084
18085      if (this.placeholder) {
18086        return escapeExpression(this.placeholder);
18087      } else {
18088        return self.rb.formfileplaceholder;
18089      }
18090    });
18091    Mura.Handlebars.registerHelper('formClass', function () {
18092      var escapeExpression = Mura.Handlebars.escapeExpression;
18093      var returnString = 'mura-form';
18094
18095      if (self.formJSON && self.formJSON.form && self.formJSON.form.formattributes && self.formJSON.form.formattributes.class) {
18096        returnString += ' ' + escapeExpression(self.formJSON.form.formattributes.class);
18097      }
18098
18099      return returnString;
18100    });
18101    Mura.Handlebars.registerHelper('textInputTypeValue', function () {
18102      if (typeof Mura.usehtml5dateinput != 'undefined' && Mura.usehtml5dateinput && typeof this.validatetype != 'undefined' && this.validatetype.toLowerCase() == 'date') {
18103        return 'date';
18104      } else {
18105        return 'text';
18106      }
18107    });
18108    Mura.Handlebars.registerHelper('labelForValue', function () {
18109      //id, class, title, size
18110      var escapeExpression = Mura.Handlebars.escapeExpression;
18111
18112      if (this.cssid) {
18113        return escapeExpression(this.cssid);
18114      } else {
18115        return "field-" + escapeExpression(this.name);
18116      }
18117
18118      return returnString;
18119    });
18120    Mura.Handlebars.registerHelper('commonInputAttributes', function () {
18121      //id, class, title, size
18122      var escapeExpression = Mura.Handlebars.escapeExpression;
18123
18124      if (typeof this.fieldtype != 'undefined' && this.fieldtype.fieldtype == 'file') {
18125        var returnString = 'name="' + escapeExpression(self.context.prefix + this.name) + '_attachment"';
18126      } else {
18127        var returnString = 'name="' + escapeExpression(self.context.prefix + this.name) + '"';
18128      }
18129
18130      if (this.cssid) {
18131        returnString += ' id="' + escapeExpression(this.cssid) + '"';
18132      } else {
18133        returnString += ' id="field-' + escapeExpression(self.context.prefix + this.name) + '"';
18134      }
18135
18136      returnString += ' class="';
18137
18138      if (this.cssclass) {
18139        returnString += escapeExpression(this.cssclass) + ' ';
18140      }
18141
18142      if (this.fieldtype == 'radio' || this.fieldtype == 'radio_static') {
18143        returnString += self.rb.formradioclass;
18144      } else if (this.fieldtype == 'checkbox' || this.fieldtype == 'checkbox_static') {
18145        returnString += self.rb.formcheckboxclass;
18146      } else if (this.fieldtype == 'file') {
18147        returnString += self.rb.formfileclass;
18148      } else if (this.fieldtype == 'textarea') {
18149        returnString += self.rb.formtextareaclass;
18150      } else if (this.fieldtype == 'dropdown' || this.fieldtype == 'dropdown_static') {
18151        returnString += self.rb.formselectclass;
18152      } else if (this.fieldtype == 'textblock') {
18153        returnString += self.rb.formtextblockclass;
18154      } else {
18155        returnString += self.rb.forminputclass;
18156      }
18157
18158      returnString += '"';
18159
18160      if (this.tooltip) {
18161        returnString += ' title="' + escapeExpression(this.tooltip) + '"';
18162      }
18163
18164      if (this.size) {
18165        returnString += ' size="' + escapeExpression(this.size) + '"';
18166      }
18167
18168      if (this.multiple) {
18169        returnString += ' multiple';
18170      }
18171
18172      if (typeof Mura.usehtml5dateinput != 'undefined' && Mura.usehtml5dateinput && typeof this.validatetype != 'undefined' && this.validatetype.toLowerCase() == 'date') {
18173        returnString += ' data-date-format="' + Mura.dateformat + '"';
18174      }
18175
18176      return returnString;
18177    });
18178    Mura.Handlebars.registerHelper('fileAttributes', function () {
18179      //id, class, title, size
18180      var escapeExpression = Mura.Handlebars.escapeExpression;
18181      var returnString = '';
18182
18183      if (this.cssid) {
18184        returnString += ' id="' + escapeExpression(this.cssid) + '"';
18185      } else {
18186        returnString += ' id="field-' + escapeExpression(self.context.prefix + this.name) + '"';
18187      }
18188
18189      returnString += ' class="mura-newfile-filename ';
18190
18191      if (this.cssclass) {
18192        returnString += escapeExpression(this.cssclass) + ' ';
18193      }
18194
18195      returnString += self.rb.forminputclass;
18196      returnString += '"';
18197
18198      if (this.tooltip) {
18199        returnString += ' title="' + escapeExpression(this.tooltip) + '"';
18200      }
18201
18202      return returnString;
18203    });
18204  }
18205});
18205 //Legacy for early adopter backwords support
18206
18207Mura.DisplayObject.Form = Mura.UI.Form;
18208
18209/***/ }),
18210
18211/***/ 8180:
18212/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
18213
18214var Mura = __webpack_require__(791);
18215/**
18216 * Creates a new Mura.UI.Text
18217 * @name  Mura.UI.Hr
18218 * @class
18219 * @extends Mura.UI
18220 * @memberof  Mura
18221 */
18222
18223
18224Mura.UI.Hr = Mura.UI.extend(
18225/** @lends Mura.DisplayObject.Hr.prototype */
18226{
18227  renderClient: function renderClient() {
18228    Mura(this.context.targetEl).html("<hr>");
18229    this.trigger('afterRender');
18230  },
18231  renderServer: function renderServer() {
18232    return "<hr>";
18233  }
18234});
18235Mura.DisplayObject.Hr = Mura.UI.Hr;
18236
18237/***/ }),
18238
18239/***/ 876:
18240/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
18241
18242var Mura = __webpack_require__(791);
18243/**
18244 * Creates a new Mura.UI.Text
18245 * @name  Mura.UI.Image
18246 * @class
18247 * @extends Mura.UI
18248 * @memberof  Mura
18249 */
18250
18251
18252Mura.UI.Image = Mura.UI.extend(
18253/** @lends Mura.DisplayObject.Image.prototype */
18254{
18255  renderClient: function renderClient() {
18256    Mura(this.context.targetEl).html(Mura.templates['image'](this.context));
18257    this.trigger('afterRender');
18258  },
18259  renderServer: function renderServer() {
18260    return Mura.templates['image'](this.context);
18261  }
18262});
18263Mura.DisplayObject.Image = Mura.UI.Image;
18264
18265/***/ }),
18266
18267/***/ 7789:
18268/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
18269
18270var Mura = __webpack_require__(791);
18271/**
18272 * Creates a new Mura.UI instance
18273 * @name Mura.UI
18274 * @class
18275 * @extends  Mura.Core
18276 * @memberof Mura
18277 */
18278
18279
18280Mura.UI = Mura.Core.extend(
18281/** @lends Mura.UI.prototype */
18282{
18283  rb: {},
18284  context: {},
18285  onAfterRender: function onAfterRender() {},
18286  onBeforeRender: function onBeforeRender() {},
18287  trigger: function trigger(eventName) {
18288    var $eventName = eventName.toLowerCase();
18289
18290    if (typeof this.context.targetEl != 'undefined') {
18291      var obj = Mura(this.context.targetEl).closest('.mura-object');
18292
18293      if (obj.length && typeof obj.node != 'undefined') {
18294        if (typeof this.handlers[$eventName] != 'undefined') {
18295          var $handlers = this.handlers[$eventName];
18296
18297          for (var i = 0; i < $handlers.length; i++) {
18298            if (typeof $handlers[i].call == 'undefined') {
18299              $handlers[i](this);
18300            } else {
18301              $handlers[i].call(this, this);
18302            }
18303          }
18304        }
18305
18306        if (typeof this[eventName] == 'function') {
18307          if (typeof this[eventName].call == 'undefined') {
18308            this[eventName](this);
18309          } else {
18310            this[eventName].call(this, this);
18311          }
18312        }
18313
18314        var fnName = 'on' + eventName.substring(0, 1).toUpperCase() + eventName.substring(1, eventName.length);
18315
18316        if (typeof this[fnName] == 'function') {
18317          if (typeof this[fnName].call == 'undefined') {
18318            this[fnName](this);
18319          } else {
18320            this[fnName].call(this, this);
18321          }
18322        }
18323      }
18324    }
18325
18326    return this;
18327  },
18328
18329  /* This method is deprecated, use renderClient and renderServer instead */
18330  render: function render() {
18331    Mura(this.context.targetEl).html(Mura.templates[context.object](this.context));
18332    this.trigger('afterRender');
18333    return this;
18334  },
18335
18336  /*
18337  	This method's current implementation is to support backward compatibility
18338  		Typically it would look like:
18339  		Mura(this.context.targetEl).html(Mura.templates[context.object](this.context));
18340  	this.trigger('afterRender');
18341  */
18342  renderClient: function renderClient() {
18343    return this.render();
18344  },
18345  renderServer: function renderServer() {
18346    return '';
18347  },
18348  hydrate: function hydrate() {},
18349  destroy: function destroy() {},
18350  reset: function reset(self, empty) {},
18351  init: function init(args) {
18352    this.context = args;
18353    this.registerHelpers();
18354    return this;
18355  },
18356  registerHelpers: function registerHelpers() {}
18357});
18358
18359/***/ }),
18360
18361/***/ 6943:
18362/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
18363
18364var Mura = __webpack_require__(791);
18365/**
18366 * Creates a new Mura.UI.Text
18367 * @name  Mura.UI.Text
18368 * @class
18369 * @extends Mura.UI
18370 * @memberof  Mura
18371 */
18372
18373
18374Mura.UI.Text = Mura.UI.extend(
18375/** @lends Mura.DisplayObject.Text.prototype */
18376{
18377  renderClient: function renderClient() {
18378    var _this = this;
18379
18380    this.context.sourcetype = this.context.sourcetype || 'custom';
18381
18382    if (this.context.sourcetype == 'component' && this.context.source) {
18383      if (Mura.isUUID(this.context.source)) {
18384        var loadbykey = 'contentid';
18385      } else {
18386        var loadbykey = 'tile';
18387      }
18388
18389      Mura.getEntity('content').loadBy(loadbykey, this.context.source, {
18390        fields: 'body',
18391        type: 'component'
18392      }).then(function (content) {
18393        if (content.get('body')) {
18394          Mura(_this.context.targetEl).html(_this.deserialize(content.get('body')));
18395        } else if (_this.context.label) {
18396          Mura(_this.context.targetEl).html('');
18397        } else {
18398          Mura(_this.context.targetEl).html('<p></p>');
18399        }
18400
18401        _this.trigger('afterRender');
18402      });
18403    } else {
18404      Mura(this.context.targetEl).html(Mura.templates['text'](this.context));
18405      this.trigger('afterRender');
18406    }
18407  },
18408  renderServer: function renderServer() {
18409    this.context.sourcetype = this.context.sourcetype || 'custom';
18410
18411    if (this.context.sourcetype == 'custom') {
18412      return this.deserialize(this.context.source);
18413    } else {
18414      return '<p></p>';
18415    }
18416  },
18417  deserialize: function deserialize(source) {
18418    return source;
18419  }
18420});
18421Mura.DisplayObject.Text = Mura.UI.Text;
18422
18423/***/ }),
18424
18425/***/ 1808:
18426/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
18427
18428var Mura = __webpack_require__(791);
18429/**
18430* Creates a new Mura.entities.User
18431* @name Mura.entities.User
18432* @class
18433* @extends Mura.Entity
18434* @memberof Mura
18435* @param	{object} properties Object containing values to set into object
18436* @return {Mura.entities.User}
18437*/
18438
18439
18440Mura.entities.User = Mura.Entity.extend(
18441/** @lends Mura.entities.User.prototype */
18442{
18443  /**
18444   * isInGroup - Returns if the CURRENT USER is in a group
18445   *
18446   * @param	{string} group	Name of group
18447   * @param	{boolean} isPublic	If you want to check public or private (system) groups
18448   * @return {boolean}
18449   */
18450  isInGroup: function isInGroup(group, siteid, isPublic) {
18451    siteid = siteid || Mura.siteid;
18452    var a = this.get('memberships');
18453
18454    if (!Array.isArray(a)) {
18455      console.log('Method design for use with currentuser() only');
18456      return false;
18457    }
18458
18459    if (typeof isPublic != 'undefined') {
18460      return a.indexOf(group + ";" + siteid + ";" + isPublic) >= 0;
18461    } else {
18462      return a.indexOf(group + ";" + siteid + ";0") >= 0 || a.indexOf(group + ";" + siteid + ";1") >= 0;
18463    }
18464  },
18465
18466  /**
18467   * isSuperUser - Returns if the CURRENT USER is a super user
18468   *
18469   * @return {boolean}
18470   */
18471  isSuperUser: function isSuperUser() {
18472    var a = this.get('memberships');
18473
18474    if (!Array.isArray(a)) {
18475      console.log('Method design for use with currentuser() only');
18476      return false;
18477    }
18478
18479    return a.indexOf('S2') >= 0;
18480  },
18481
18482  /**
18483   * isAdminUser - Returns if the CURRENT USER is a admin user
18484   *
18485   * @return {boolean}
18486   */
18487  isAdminUser: function isAdminUser(siteid) {
18488    siteid = siteid || Mura.siteid;
18489    var a = this.get('memberships');
18490
18491    if (!Array.isArray(a)) {
18492      console.log('Method design for use with currentuser() only');
18493      return false;
18494    }
18495
18496    return this.isSuperUser() || a.indexOf("Admin;" + siteid + ";0") >= 0;
18497  },
18498
18499  /**
18500   * isSystemUser - Returns if the CURRENT USER is a system/adminstrative user
18501   *
18502   * @return {boolean}
18503   */
18504  isSystemUser: function isSystemUser(siteid) {
18505    siteid = siteid || Mura.siteid;
18506    var a = this.get('memberships');
18507
18508    if (!Array.isArray(a)) {
18509      console.log('Method design for use with currentuser() only');
18510      return false;
18511    }
18512
18513    return this.isAdminUser() || a.indexOf("S2IsPrivate;" + siteid) >= 0;
18514  },
18515
18516  /**
18517   * isLoggedIn - Returns if the CURRENT USER is logged in
18518   *
18519   * @return {boolean}
18520   */
18521  isLoggedIn: function isLoggedIn() {
18522    var a = this.get('isloggedin');
18523
18524    if (a === '') {
18525      return false;
18526    } else {
18527      return a;
18528    }
18529  }
18530});
18531
18532/***/ }),
18533
18534/***/ 5579:
18535/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18536
18537if (!(typeof process !== 'undefined' && {}.toString.call(process) === '[object process]' || typeof document == 'undefined')) {
18538  __webpack_require__(3902);
18539}
18540
18541var Mura = __webpack_require__(791);
18542
18543__webpack_require__(7285);
18544
18545__webpack_require__(9058);
18546
18547__webpack_require__(4980);
18548
18549__webpack_require__(2147);
18550
18551__webpack_require__(6501);
18552
18553__webpack_require__(4506);
18554
18555__webpack_require__(1808);
18556
18557__webpack_require__(2826);
18558
18559__webpack_require__(7847);
18560
18561__webpack_require__(7023);
18562
18563__webpack_require__(6839);
18564
18565__webpack_require__(7789);
18566
18567__webpack_require__(5086);
18568
18569__webpack_require__(6943);
18570
18571__webpack_require__(8180);
18572
18573__webpack_require__(397);
18574
18575__webpack_require__(876);
18576
18577__webpack_require__(324);
18578
18579__webpack_require__(1711);
18580
18581__webpack_require__(4654);
18582
18583__webpack_require__(1526);
18584
18585if (Mura.isInNode()) {
18586  Mura._escapeHTML = __webpack_require__(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'escape-html'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()));
18587} else if (typeof window != 'undefined') {
18588  window.m = Mura;
18589  window.mura = Mura;
18590  window.Mura = Mura;
18591  window.validateForm = Mura.validateForm;
18592  window.setHTMLEditor = Mura.setHTMLEditor;
18593  window.createCookie = Mura.createCookie;
18594  window.readCookie = Mura.readCookie;
18595  window.addLoadEvent = Mura.addLoadEvent;
18596  window.noSpam = Mura.noSpam;
18597  window.initMura = Mura.init;
18598}
18599
18600module.exports = Mura;
18601
18602/***/ }),
18603
18604/***/ 8346:
18605/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18606
18607var parent = __webpack_require__(1150);
18608
18609module.exports = parent;
18610
18611
18612/***/ }),
18613
18614/***/ 7633:
18615/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18616
18617__webpack_require__(9170);
18618__webpack_require__(6992);
18619__webpack_require__(1539);
18620__webpack_require__(8674);
18621__webpack_require__(7922);
18622__webpack_require__(4668);
18623__webpack_require__(7727);
18624__webpack_require__(8783);
18625var path = __webpack_require__(857);
18626
18627module.exports = path.Promise;
18628
18629
18630/***/ }),
18631
18632/***/ 3867:
18633/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18634
18635var parent = __webpack_require__(8346);
18636__webpack_require__(8628);
18637// TODO: Remove from `core-js@4`
18638__webpack_require__(7314);
18639__webpack_require__(4850);
18640__webpack_require__(6290);
18641
18642module.exports = parent;
18643
18644
18645/***/ }),
18646
18647/***/ 9662:
18648/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18649
18650var global = __webpack_require__(7854);
18651var isCallable = __webpack_require__(614);
18652var tryToString = __webpack_require__(6330);
18653
18654var TypeError = global.TypeError;
18655
18656// `Assert: IsCallable(argument) is true`
18657module.exports = function (argument) {
18658  if (isCallable(argument)) return argument;
18659  throw TypeError(tryToString(argument) + ' is not a function');
18660};
18661
18662
18663/***/ }),
18664
18665/***/ 9483:
18666/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18667
18668var global = __webpack_require__(7854);
18669var isConstructor = __webpack_require__(4411);
18670var tryToString = __webpack_require__(6330);
18671
18672var TypeError = global.TypeError;
18673
18674// `Assert: IsConstructor(argument) is true`
18675module.exports = function (argument) {
18676  if (isConstructor(argument)) return argument;
18677  throw TypeError(tryToString(argument) + ' is not a constructor');
18678};
18679
18680
18681/***/ }),
18682
18683/***/ 6077:
18684/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18685
18686var global = __webpack_require__(7854);
18687var isCallable = __webpack_require__(614);
18688
18689var String = global.String;
18690var TypeError = global.TypeError;
18691
18692module.exports = function (argument) {
18693  if (typeof argument == 'object' || isCallable(argument)) return argument;
18694  throw TypeError("Can't set " + String(argument) + ' as a prototype');
18695};
18696
18697
18698/***/ }),
18699
18700/***/ 1223:
18701/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18702
18703var wellKnownSymbol = __webpack_require__(5112);
18704var create = __webpack_require__(30);
18705var definePropertyModule = __webpack_require__(3070);
18706
18707var UNSCOPABLES = wellKnownSymbol('unscopables');
18708var ArrayPrototype = Array.prototype;
18709
18710// Array.prototype[@@unscopables]
18711// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
18712if (ArrayPrototype[UNSCOPABLES] == undefined) {
18713  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
18714    configurable: true,
18715    value: create(null)
18716  });
18717}
18718
18719// add a key to Array.prototype[@@unscopables]
18720module.exports = function (key) {
18721  ArrayPrototype[UNSCOPABLES][key] = true;
18722};
18723
18724
18725/***/ }),
18726
18727/***/ 5787:
18728/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18729
18730var global = __webpack_require__(7854);
18731var isPrototypeOf = __webpack_require__(7976);
18732
18733var TypeError = global.TypeError;
18734
18735module.exports = function (it, Prototype) {
18736  if (isPrototypeOf(Prototype, it)) return it;
18737  throw TypeError('Incorrect invocation');
18738};
18739
18740
18741/***/ }),
18742
18743/***/ 9670:
18744/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18745
18746var global = __webpack_require__(7854);
18747var isObject = __webpack_require__(111);
18748
18749var String = global.String;
18750var TypeError = global.TypeError;
18751
18752// `Assert: Type(argument) is Object`
18753module.exports = function (argument) {
18754  if (isObject(argument)) return argument;
18755  throw TypeError(String(argument) + ' is not an object');
18756};
18757
18758
18759/***/ }),
18760
18761/***/ 8533:
18762/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18763
18764"use strict";
18765
18766var $forEach = (__webpack_require__(2092).forEach);
18767var arrayMethodIsStrict = __webpack_require__(9341);
18768
18769var STRICT_METHOD = arrayMethodIsStrict('forEach');
18770
18771// `Array.prototype.forEach` method implementation
18772// https://tc39.es/ecma262/#sec-array.prototype.foreach
18773module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
18774  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
18775// eslint-disable-next-line es/no-array-prototype-foreach -- safe
18776} : [].forEach;
18777
18778
18779/***/ }),
18780
18781/***/ 8457:
18782/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18783
18784"use strict";
18785
18786var global = __webpack_require__(7854);
18787var bind = __webpack_require__(9974);
18788var call = __webpack_require__(6916);
18789var toObject = __webpack_require__(7908);
18790var callWithSafeIterationClosing = __webpack_require__(3411);
18791var isArrayIteratorMethod = __webpack_require__(7659);
18792var isConstructor = __webpack_require__(4411);
18793var lengthOfArrayLike = __webpack_require__(6244);
18794var createProperty = __webpack_require__(6135);
18795var getIterator = __webpack_require__(8554);
18796var getIteratorMethod = __webpack_require__(1246);
18797
18798var Array = global.Array;
18799
18800// `Array.from` method implementation
18801// https://tc39.es/ecma262/#sec-array.from
18802module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
18803  var O = toObject(arrayLike);
18804  var IS_CONSTRUCTOR = isConstructor(this);
18805  var argumentsLength = arguments.length;
18806  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
18807  var mapping = mapfn !== undefined;
18808  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
18809  var iteratorMethod = getIteratorMethod(O);
18810  var index = 0;
18811  var length, result, step, iterator, next, value;
18812  // if the target is not iterable or it's an array with the default iterator - use a simple case
18813  if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {
18814    iterator = getIterator(O, iteratorMethod);
18815    next = iterator.next;
18816    result = IS_CONSTRUCTOR ? new this() : [];
18817    for (;!(step = call(next, iterator)).done; index++) {
18818      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
18819      createProperty(result, index, value);
18820    }
18821  } else {
18822    length = lengthOfArrayLike(O);
18823    result = IS_CONSTRUCTOR ? new this(length) : Array(length);
18824    for (;length > index; index++) {
18825      value = mapping ? mapfn(O[index], index) : O[index];
18826      createProperty(result, index, value);
18827    }
18828  }
18829  result.length = index;
18830  return result;
18831};
18832
18833
18834/***/ }),
18835
18836/***/ 1318:
18837/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18838
18839var toIndexedObject = __webpack_require__(5656);
18840var toAbsoluteIndex = __webpack_require__(1400);
18841var lengthOfArrayLike = __webpack_require__(6244);
18842
18843// `Array.prototype.{ indexOf, includes }` methods implementation
18844var createMethod = function (IS_INCLUDES) {
18845  return function ($this, el, fromIndex) {
18846    var O = toIndexedObject($this);
18847    var length = lengthOfArrayLike(O);
18848    var index = toAbsoluteIndex(fromIndex, length);
18849    var value;
18850    // Array#includes uses SameValueZero equality algorithm
18851    // eslint-disable-next-line no-self-compare -- NaN check
vendor: 19,645 bytes, lines 18852-19504
18852    if (IS_INCLUDES && el != el) while (length > index) {
18853      value = O[index++];
18854      // eslint-disable-next-line no-self-compare -- NaN check
18855      if (value != value) return true;
18856    // Array#indexOf ignores holes, Array#includes - not
18857    } else for (;length > index; index++) {
18858      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
18859    } return !IS_INCLUDES && -1;
18860  };
18861};
18862
18863module.exports = {
18864  // `Array.prototype.includes` method
18865  // https://tc39.es/ecma262/#sec-array.prototype.includes
18866  includes: createMethod(true),
18867  // `Array.prototype.indexOf` method
18868  // https://tc39.es/ecma262/#sec-array.prototype.indexof
18869  indexOf: createMethod(false)
18870};
18871
18872
18873/***/ }),
18874
18875/***/ 2092:
18876/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18877
18878var bind = __webpack_require__(9974);
18879var uncurryThis = __webpack_require__(1702);
18880var IndexedObject = __webpack_require__(8361);
18881var toObject = __webpack_require__(7908);
18882var lengthOfArrayLike = __webpack_require__(6244);
18883var arraySpeciesCreate = __webpack_require__(5417);
18884
18885var push = uncurryThis([].push);
18886
18887// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
18888var createMethod = function (TYPE) {
18889  var IS_MAP = TYPE == 1;
18890  var IS_FILTER = TYPE == 2;
18891  var IS_SOME = TYPE == 3;
18892  var IS_EVERY = TYPE == 4;
18893  var IS_FIND_INDEX = TYPE == 6;
18894  var IS_FILTER_REJECT = TYPE == 7;
18895  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
18896  return function ($this, callbackfn, that, specificCreate) {
18897    var O = toObject($this);
18898    var self = IndexedObject(O);
18899    var boundFunction = bind(callbackfn, that);
18900    var length = lengthOfArrayLike(self);
18901    var index = 0;
18902    var create = specificCreate || arraySpeciesCreate;
18903    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
18904    var value, result;
18905    for (;length > index; index++) if (NO_HOLES || index in self) {
18906      value = self[index];
18907      result = boundFunction(value, index, O);
18908      if (TYPE) {
18909        if (IS_MAP) target[index] = result; // map
18910        else if (result) switch (TYPE) {
18911          case 3: return true;              // some
18912          case 5: return value;             // find
18913          case 6: return index;             // findIndex
18914          case 2: push(target, value);      // filter
18915        } else switch (TYPE) {
18916          case 4: return false;             // every
18917          case 7: push(target, value);      // filterReject
18918        }
18919      }
18920    }
18921    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
18922  };
18923};
18924
18925module.exports = {
18926  // `Array.prototype.forEach` method
18927  // https://tc39.es/ecma262/#sec-array.prototype.foreach
18928  forEach: createMethod(0),
18929  // `Array.prototype.map` method
18930  // https://tc39.es/ecma262/#sec-array.prototype.map
18931  map: createMethod(1),
18932  // `Array.prototype.filter` method
18933  // https://tc39.es/ecma262/#sec-array.prototype.filter
18934  filter: createMethod(2),
18935  // `Array.prototype.some` method
18936  // https://tc39.es/ecma262/#sec-array.prototype.some
18937  some: createMethod(3),
18938  // `Array.prototype.every` method
18939  // https://tc39.es/ecma262/#sec-array.prototype.every
18940  every: createMethod(4),
18941  // `Array.prototype.find` method
18942  // https://tc39.es/ecma262/#sec-array.prototype.find
18943  find: createMethod(5),
18944  // `Array.prototype.findIndex` method
18945  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
18946  findIndex: createMethod(6),
18947  // `Array.prototype.filterReject` method
18948  // https://github.com/tc39/proposal-array-filtering
18949  filterReject: createMethod(7)
18950};
18951
18952
18953/***/ }),
18954
18955/***/ 9341:
18956/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18957
18958"use strict";
18959
18960var fails = __webpack_require__(7293);
18961
18962module.exports = function (METHOD_NAME, argument) {
18963  var method = [][METHOD_NAME];
18964  return !!method && fails(function () {
18965    // eslint-disable-next-line no-useless-call -- required for testing
18966    method.call(null, argument || function () { return 1; }, 1);
18967  });
18968};
18969
18970
18971/***/ }),
18972
18973/***/ 1589:
18974/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18975
18976var global = __webpack_require__(7854);
18977var toAbsoluteIndex = __webpack_require__(1400);
18978var lengthOfArrayLike = __webpack_require__(6244);
18979var createProperty = __webpack_require__(6135);
18980
18981var Array = global.Array;
18982var max = Math.max;
18983
18984module.exports = function (O, start, end) {
18985  var length = lengthOfArrayLike(O);
18986  var k = toAbsoluteIndex(start, length);
18987  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
18988  var result = Array(max(fin - k, 0));
18989  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
18990  result.length = n;
18991  return result;
18992};
18993
18994
18995/***/ }),
18996
18997/***/ 206:
18998/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18999
19000var uncurryThis = __webpack_require__(1702);
19001
19002module.exports = uncurryThis([].slice);
19003
19004
19005/***/ }),
19006
19007/***/ 4362:
19008/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19009
19010var arraySlice = __webpack_require__(1589);
19011
19012var floor = Math.floor;
19013
19014var mergeSort = function (array, comparefn) {
19015  var length = array.length;
19016  var middle = floor(length / 2);
19017  return length < 8 ? insertionSort(array, comparefn) : merge(
19018    array,
19019    mergeSort(arraySlice(array, 0, middle), comparefn),
19020    mergeSort(arraySlice(array, middle), comparefn),
19021    comparefn
19022  );
19023};
19024
19025var insertionSort = function (array, comparefn) {
19026  var length = array.length;
19027  var i = 1;
19028  var element, j;
19029
19030  while (i < length) {
19031    j = i;
19032    element = array[i];
19033    while (j && comparefn(array[j - 1], element) > 0) {
19034      array[j] = array[--j];
19035    }
19036    if (j !== i++) array[j] = element;
19037  } return array;
19038};
19039
19040var merge = function (array, left, right, comparefn) {
19041  var llength = left.length;
19042  var rlength = right.length;
19043  var lindex = 0;
19044  var rindex = 0;
19045
19046  while (lindex < llength || rindex < rlength) {
19047    array[lindex + rindex] = (lindex < llength && rindex < rlength)
19048      ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
19049      : lindex < llength ? left[lindex++] : right[rindex++];
19050  } return array;
19051};
19052
19053module.exports = mergeSort;
19054
19055
19056/***/ }),
19057
19058/***/ 7475:
19059/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19060
19061var global = __webpack_require__(7854);
19062var isArray = __webpack_require__(3157);
19063var isConstructor = __webpack_require__(4411);
19064var isObject = __webpack_require__(111);
19065var wellKnownSymbol = __webpack_require__(5112);
19066
19067var SPECIES = wellKnownSymbol('species');
19068var Array = global.Array;
19069
19070// a part of `ArraySpeciesCreate` abstract operation
19071// https://tc39.es/ecma262/#sec-arrayspeciescreate
19072module.exports = function (originalArray) {
19073  var C;
19074  if (isArray(originalArray)) {
19075    C = originalArray.constructor;
19076    // cross-realm fallback
19077    if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;
19078    else if (isObject(C)) {
19079      C = C[SPECIES];
19080      if (C === null) C = undefined;
19081    }
19082  } return C === undefined ? Array : C;
19083};
19084
19085
19086/***/ }),
19087
19088/***/ 5417:
19089/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19090
19091var arraySpeciesConstructor = __webpack_require__(7475);
19092
19093// `ArraySpeciesCreate` abstract operation
19094// https://tc39.es/ecma262/#sec-arrayspeciescreate
19095module.exports = function (originalArray, length) {
19096  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
19097};
19098
19099
19100/***/ }),
19101
19102/***/ 4170:
19103/***/ (function(module) {
19104
19105var itoc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
19106var ctoi = {};
19107
19108for (var index = 0; index < 66; index++) ctoi[itoc.charAt(index)] = index;
19109
19110module.exports = {
19111  itoc: itoc,
19112  ctoi: ctoi
19113};
19114
19115
19116/***/ }),
19117
19118/***/ 3411:
19119/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19120
19121var anObject = __webpack_require__(9670);
19122var iteratorClose = __webpack_require__(9212);
19123
19124// call something on iterator step with safe closing on error
19125module.exports = function (iterator, fn, value, ENTRIES) {
19126  try {
19127    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
19128  } catch (error) {
19129    iteratorClose(iterator, 'throw', error);
19130  }
19131};
19132
19133
19134/***/ }),
19135
19136/***/ 7072:
19137/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19138
19139var wellKnownSymbol = __webpack_require__(5112);
19140
19141var ITERATOR = wellKnownSymbol('iterator');
19142var SAFE_CLOSING = false;
19143
19144try {
19145  var called = 0;
19146  var iteratorWithReturn = {
19147    next: function () {
19148      return { done: !!called++ };
19149    },
19150    'return': function () {
19151      SAFE_CLOSING = true;
19152    }
19153  };
19154  iteratorWithReturn[ITERATOR] = function () {
19155    return this;
19156  };
19157  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
19158  Array.from(iteratorWithReturn, function () { throw 2; });
19159} catch (error) { /* empty */ }
19160
19161module.exports = function (exec, SKIP_CLOSING) {
19162  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
19163  var ITERATION_SUPPORT = false;
19164  try {
19165    var object = {};
19166    object[ITERATOR] = function () {
19167      return {
19168        next: function () {
19169          return { done: ITERATION_SUPPORT = true };
19170        }
19171      };
19172    };
19173    exec(object);
19174  } catch (error) { /* empty */ }
19175  return ITERATION_SUPPORT;
19176};
19177
19178
19179/***/ }),
19180
19181/***/ 4326:
19182/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19183
19184var uncurryThis = __webpack_require__(1702);
19185
19186var toString = uncurryThis({}.toString);
19187var stringSlice = uncurryThis(''.slice);
19188
19189module.exports = function (it) {
19190  return stringSlice(toString(it), 8, -1);
19191};
19192
19193
19194/***/ }),
19195
19196/***/ 648:
19197/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19198
19199var global = __webpack_require__(7854);
19200var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
19201var isCallable = __webpack_require__(614);
19202var classofRaw = __webpack_require__(4326);
19203var wellKnownSymbol = __webpack_require__(5112);
19204
19205var TO_STRING_TAG = wellKnownSymbol('toStringTag');
19206var Object = global.Object;
19207
19208// ES3 wrong here
19209var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
19210
19211// fallback for IE11 Script Access Denied error
19212var tryGet = function (it, key) {
19213  try {
19214    return it[key];
19215  } catch (error) { /* empty */ }
19216};
19217
19218// getting tag from ES6+ `Object.prototype.toString`
19219module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
19220  var O, tag, result;
19221  return it === undefined ? 'Undefined' : it === null ? 'Null'
19222    // @@toStringTag case
19223    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
19224    // builtinTag case
19225    : CORRECT_ARGUMENTS ? classofRaw(O)
19226    // ES3 arguments fallback
19227    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
19228};
19229
19230
19231/***/ }),
19232
19233/***/ 7741:
19234/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19235
19236var uncurryThis = __webpack_require__(1702);
19237
19238var replace = uncurryThis(''.replace);
19239
19240var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');
19241var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
19242var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
19243
19244module.exports = function (stack, dropEntries) {
19245  if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {
19246    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
19247  } return stack;
19248};
19249
19250
19251/***/ }),
19252
19253/***/ 9920:
19254/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19255
19256var hasOwn = __webpack_require__(2597);
19257var ownKeys = __webpack_require__(3887);
19258var getOwnPropertyDescriptorModule = __webpack_require__(1236);
19259var definePropertyModule = __webpack_require__(3070);
19260
19261module.exports = function (target, source, exceptions) {
19262  var keys = ownKeys(source);
19263  var defineProperty = definePropertyModule.f;
19264  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
19265  for (var i = 0; i < keys.length; i++) {
19266    var key = keys[i];
19267    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
19268      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
19269    }
19270  }
19271};
19272
19273
19274/***/ }),
19275
19276/***/ 8544:
19277/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19278
19279var fails = __webpack_require__(7293);
19280
19281module.exports = !fails(function () {
19282  function F() { /* empty */ }
19283  F.prototype.constructor = null;
19284  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
19285  return Object.getPrototypeOf(new F()) !== F.prototype;
19286});
19287
19288
19289/***/ }),
19290
19291/***/ 4994:
19292/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19293
19294"use strict";
19295
19296var IteratorPrototype = (__webpack_require__(3383).IteratorPrototype);
19297var create = __webpack_require__(30);
19298var createPropertyDescriptor = __webpack_require__(9114);
19299var setToStringTag = __webpack_require__(8003);
19300var Iterators = __webpack_require__(7497);
19301
19302var returnThis = function () { return this; };
19303
19304module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
19305  var TO_STRING_TAG = NAME + ' Iterator';
19306  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
19307  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
19308  Iterators[TO_STRING_TAG] = returnThis;
19309  return IteratorConstructor;
19310};
19311
19312
19313/***/ }),
19314
19315/***/ 8880:
19316/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19317
19318var DESCRIPTORS = __webpack_require__(9781);
19319var definePropertyModule = __webpack_require__(3070);
19320var createPropertyDescriptor = __webpack_require__(9114);
19321
19322module.exports = DESCRIPTORS ? function (object, key, value) {
19323  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
19324} : function (object, key, value) {
19325  object[key] = value;
19326  return object;
19327};
19328
19329
19330/***/ }),
19331
19332/***/ 9114:
19333/***/ (function(module) {
19334
19335module.exports = function (bitmap, value) {
19336  return {
19337    enumerable: !(bitmap & 1),
19338    configurable: !(bitmap & 2),
19339    writable: !(bitmap & 4),
19340    value: value
19341  };
19342};
19343
19344
19345/***/ }),
19346
19347/***/ 6135:
19348/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19349
19350"use strict";
19351
19352var toPropertyKey = __webpack_require__(4948);
19353var definePropertyModule = __webpack_require__(3070);
19354var createPropertyDescriptor = __webpack_require__(9114);
19355
19356module.exports = function (object, key, value) {
19357  var propertyKey = toPropertyKey(key);
19358  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
19359  else object[propertyKey] = value;
19360};
19361
19362
19363/***/ }),
19364
19365/***/ 654:
19366/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19367
19368"use strict";
19369
19370var $ = __webpack_require__(2109);
19371var call = __webpack_require__(6916);
19372var IS_PURE = __webpack_require__(1913);
19373var FunctionName = __webpack_require__(6530);
19374var isCallable = __webpack_require__(614);
19375var createIteratorConstructor = __webpack_require__(4994);
19376var getPrototypeOf = __webpack_require__(9518);
19377var setPrototypeOf = __webpack_require__(7674);
19378var setToStringTag = __webpack_require__(8003);
19379var createNonEnumerableProperty = __webpack_require__(8880);
19380var redefine = __webpack_require__(1320);
19381var wellKnownSymbol = __webpack_require__(5112);
19382var Iterators = __webpack_require__(7497);
19383var IteratorsCore = __webpack_require__(3383);
19384
19385var PROPER_FUNCTION_NAME = FunctionName.PROPER;
19386var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
19387var IteratorPrototype = IteratorsCore.IteratorPrototype;
19388var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
19389var ITERATOR = wellKnownSymbol('iterator');
19390var KEYS = 'keys';
19391var VALUES = 'values';
19392var ENTRIES = 'entries';
19393
19394var returnThis = function () { return this; };
19395
19396module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
19397  createIteratorConstructor(IteratorConstructor, NAME, next);
19398
19399  var getIterationMethod = function (KIND) {
19400    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
19401    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
19402    switch (KIND) {
19403      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
19404      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
19405      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
19406    } return function () { return new IteratorConstructor(this); };
19407  };
19408
19409  var TO_STRING_TAG = NAME + ' Iterator';
19410  var INCORRECT_VALUES_NAME = false;
19411  var IterablePrototype = Iterable.prototype;
19412  var nativeIterator = IterablePrototype[ITERATOR]
19413    || IterablePrototype['@@iterator']
19414    || DEFAULT && IterablePrototype[DEFAULT];
19415  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
19416  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
19417  var CurrentIteratorPrototype, methods, KEY;
19418
19419  // fix native
19420  if (anyNativeIterator) {
19421    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
19422    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
19423      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
19424        if (setPrototypeOf) {
19425          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
19426        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
19427          redefine(CurrentIteratorPrototype, ITERATOR, returnThis);
19428        }
19429      }
19430      // Set @@toStringTag to native iterators
19431      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
19432      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
19433    }
19434  }
19435
19436  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
19437  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
19438    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
19439      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
19440    } else {
19441      INCORRECT_VALUES_NAME = true;
19442      defaultIterator = function values() { return call(nativeIterator, this); };
19443    }
19444  }
19445
19446  // export additional methods
19447  if (DEFAULT) {
19448    methods = {
19449      values: getIterationMethod(VALUES),
19450      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
19451      entries: getIterationMethod(ENTRIES)
19452    };
19453    if (FORCED) for (KEY in methods) {
19454      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
19455        redefine(IterablePrototype, KEY, methods[KEY]);
19456      }
19457    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
19458  }
19459
19460  // define iterator
19461  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
19462    redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
19463  }
19464  Iterators[NAME] = defaultIterator;
19465
19466  return methods;
19467};
19468
19469
19470/***/ }),
19471
19472/***/ 9781:
19473/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19474
19475var fails = __webpack_require__(7293);
19476
19477// Detect IE8's incomplete defineProperty implementation
19478module.exports = !fails(function () {
19479  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
19480  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
19481});
19482
19483
19484/***/ }),
19485
19486/***/ 317:
19487/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19488
19489var global = __webpack_require__(7854);
19490var isObject = __webpack_require__(111);
19491
19492var document = global.document;
19493// typeof document.createElement is 'object' in old IE
19494var EXISTS = isObject(document) && isObject(document.createElement);
19495
19496module.exports = function (it) {
19497  return EXISTS ? document.createElement(it) : {};
19498};
19499
19500
19501/***/ }),
19502
19503/***/ 3678:
19504/***/ (function(module) {
vendor: 1,554 bytes, lines 19504-19535
19504
19505
19506module.exports = {
19507  IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },
19508  DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },
19509  HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },
19510  WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },
19511  InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },
19512  NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },
19513  NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },
19514  NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },
19515  NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },
19516  InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },
19517  InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },
19518  SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },
19519  InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },
19520  NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },
19521  InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },
19522  ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },
19523  TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },
19524  SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },
19525  NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },
19526  AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },
19527  URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },
19528  QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },
19529  TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },
19530  InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },
19531  DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }
19532};
19533
19534
19535/***/ }),
vendor: 25,673 bytes, lines 19536-20482
19536
19537/***/ 8324:
19538/***/ (function(module) {
19539
19540// iterable DOM collections
19541// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
19542module.exports = {
19543  CSSRuleList: 0,
19544  CSSStyleDeclaration: 0,
19545  CSSValueList: 0,
19546  ClientRectList: 0,
19547  DOMRectList: 0,
19548  DOMStringList: 0,
19549  DOMTokenList: 1,
19550  DataTransferItemList: 0,
19551  FileList: 0,
19552  HTMLAllCollection: 0,
19553  HTMLCollection: 0,
19554  HTMLFormElement: 0,
19555  HTMLSelectElement: 0,
19556  MediaList: 0,
19557  MimeTypeArray: 0,
19558  NamedNodeMap: 0,
19559  NodeList: 1,
19560  PaintRequestList: 0,
19561  Plugin: 0,
19562  PluginArray: 0,
19563  SVGLengthList: 0,
19564  SVGNumberList: 0,
19565  SVGPathSegList: 0,
19566  SVGPointList: 0,
19567  SVGStringList: 0,
19568  SVGTransformList: 0,
19569  SourceBufferList: 0,
19570  StyleSheetList: 0,
19571  TextTrackCueList: 0,
19572  TextTrackList: 0,
19573  TouchList: 0
19574};
19575
19576
19577/***/ }),
19578
19579/***/ 8509:
19580/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19581
19582// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
19583var documentCreateElement = __webpack_require__(317);
19584
19585var classList = documentCreateElement('span').classList;
19586var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
19587
19588module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;
19589
19590
19591/***/ }),
19592
19593/***/ 7871:
19594/***/ (function(module) {
19595
19596module.exports = typeof window == 'object';
19597
19598
19599/***/ }),
19600
19601/***/ 1528:
19602/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19603
19604var userAgent = __webpack_require__(8113);
19605var global = __webpack_require__(7854);
19606
19607module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;
19608
19609
19610/***/ }),
19611
19612/***/ 6833:
19613/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19614
19615var userAgent = __webpack_require__(8113);
19616
19617module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);
19618
19619
19620/***/ }),
19621
19622/***/ 5268:
19623/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19624
19625var classof = __webpack_require__(4326);
19626var global = __webpack_require__(7854);
19627
19628module.exports = classof(global.process) == 'process';
19629
19630
19631/***/ }),
19632
19633/***/ 1036:
19634/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19635
19636var userAgent = __webpack_require__(8113);
19637
19638module.exports = /web0s(?!.*chrome)/i.test(userAgent);
19639
19640
19641/***/ }),
19642
19643/***/ 8113:
19644/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19645
19646var getBuiltIn = __webpack_require__(5005);
19647
19648module.exports = getBuiltIn('navigator', 'userAgent') || '';
19649
19650
19651/***/ }),
19652
19653/***/ 7392:
19654/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19655
19656var global = __webpack_require__(7854);
19657var userAgent = __webpack_require__(8113);
19658
19659var process = global.process;
19660var Deno = global.Deno;
19661var versions = process && process.versions || Deno && Deno.version;
19662var v8 = versions && versions.v8;
19663var match, version;
19664
19665if (v8) {
19666  match = v8.split('.');
19667  // in old Chrome, versions of V8 isn't V8 = Chrome / 10
19668  // but their correct versions are not interesting for us
19669  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
19670}
19671
19672// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
19673// so check `userAgent` even if `.v8` exists, but 0
19674if (!version && userAgent) {
19675  match = userAgent.match(/Edge\/(\d+)/);
19676  if (!match || match[1] >= 74) {
19677    match = userAgent.match(/Chrome\/(\d+)/);
19678    if (match) version = +match[1];
19679  }
19680}
19681
19682module.exports = version;
19683
19684
19685/***/ }),
19686
19687/***/ 748:
19688/***/ (function(module) {
19689
19690// IE8- don't enum bug keys
19691module.exports = [
19692  'constructor',
19693  'hasOwnProperty',
19694  'isPrototypeOf',
19695  'propertyIsEnumerable',
19696  'toLocaleString',
19697  'toString',
19698  'valueOf'
19699];
19700
19701
19702/***/ }),
19703
19704/***/ 2914:
19705/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19706
19707var fails = __webpack_require__(7293);
19708var createPropertyDescriptor = __webpack_require__(9114);
19709
19710module.exports = !fails(function () {
19711  var error = Error('a');
19712  if (!('stack' in error)) return true;
19713  // eslint-disable-next-line es/no-object-defineproperty -- safe
19714  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
19715  return error.stack !== 7;
19716});
19717
19718
19719/***/ }),
19720
19721/***/ 7762:
19722/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19723
19724"use strict";
19725
19726var DESCRIPTORS = __webpack_require__(9781);
19727var fails = __webpack_require__(7293);
19728var anObject = __webpack_require__(9670);
19729var create = __webpack_require__(30);
19730var normalizeStringArgument = __webpack_require__(6277);
19731
19732var nativeErrorToString = Error.prototype.toString;
19733
19734var INCORRECT_TO_STRING = fails(function () {
19735  if (DESCRIPTORS) {
19736    // Chrome 32- incorrectly call accessor
19737    // eslint-disable-next-line es/no-object-defineproperty -- safe
19738    var object = create(Object.defineProperty({}, 'name', { get: function () {
19739      return this === object;
19740    } }));
19741    if (nativeErrorToString.call(object) !== 'true') return true;
19742  }
19743  // FF10- does not properly handle non-strings
19744  return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1'
19745    // IE8 does not properly handle defaults
19746    || nativeErrorToString.call({}) !== 'Error';
19747});
19748
19749module.exports = INCORRECT_TO_STRING ? function toString() {
19750  var O = anObject(this);
19751  var name = normalizeStringArgument(O.name, 'Error');
19752  var message = normalizeStringArgument(O.message);
19753  return !name ? message : !message ? name : name + ': ' + message;
19754} : nativeErrorToString;
19755
19756
19757/***/ }),
19758
19759/***/ 2109:
19760/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19761
19762var global = __webpack_require__(7854);
19763var getOwnPropertyDescriptor = (__webpack_require__(1236).f);
19764var createNonEnumerableProperty = __webpack_require__(8880);
19765var redefine = __webpack_require__(1320);
19766var setGlobal = __webpack_require__(3505);
19767var copyConstructorProperties = __webpack_require__(9920);
19768var isForced = __webpack_require__(4705);
19769
19770/*
19771  options.target      - name of the target object
19772  options.global      - target is the global object
19773  options.stat        - export as static methods of target
19774  options.proto       - export as prototype methods of target
19775  options.real        - real prototype method for the `pure` version
19776  options.forced      - export even if the native feature is available
19777  options.bind        - bind methods to the target, required for the `pure` version
19778  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
19779  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
19780  options.sham        - add a flag to not completely full polyfills
19781  options.enumerable  - export as enumerable property
19782  options.noTargetGet - prevent calling a getter on target
19783  options.name        - the .name of the function if it does not match the key
19784*/
19785module.exports = function (options, source) {
19786  var TARGET = options.target;
19787  var GLOBAL = options.global;
19788  var STATIC = options.stat;
19789  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
19790  if (GLOBAL) {
19791    target = global;
19792  } else if (STATIC) {
19793    target = global[TARGET] || setGlobal(TARGET, {});
19794  } else {
19795    target = (global[TARGET] || {}).prototype;
19796  }
19797  if (target) for (key in source) {
19798    sourceProperty = source[key];
19799    if (options.noTargetGet) {
19800      descriptor = getOwnPropertyDescriptor(target, key);
19801      targetProperty = descriptor && descriptor.value;
19802    } else targetProperty = target[key];
19803    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
19804    // contained in target
19805    if (!FORCED && targetProperty !== undefined) {
19806      if (typeof sourceProperty == typeof targetProperty) continue;
19807      copyConstructorProperties(sourceProperty, targetProperty);
19808    }
19809    // add a flag to not completely full polyfills
19810    if (options.sham || (targetProperty && targetProperty.sham)) {
19811      createNonEnumerableProperty(sourceProperty, 'sham', true);
19812    }
19813    // extend global
19814    redefine(target, key, sourceProperty, options);
19815  }
19816};
19817
19818
19819/***/ }),
19820
19821/***/ 7293:
19822/***/ (function(module) {
19823
19824module.exports = function (exec) {
19825  try {
19826    return !!exec();
19827  } catch (error) {
19828    return true;
19829  }
19830};
19831
19832
19833/***/ }),
19834
19835/***/ 2104:
19836/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19837
19838var NATIVE_BIND = __webpack_require__(4374);
19839
19840var FunctionPrototype = Function.prototype;
19841var apply = FunctionPrototype.apply;
19842var call = FunctionPrototype.call;
19843
19844// eslint-disable-next-line es/no-reflect -- safe
19845module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
19846  return call.apply(apply, arguments);
19847});
19848
19849
19850/***/ }),
19851
19852/***/ 9974:
19853/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19854
19855var uncurryThis = __webpack_require__(1702);
19856var aCallable = __webpack_require__(9662);
19857var NATIVE_BIND = __webpack_require__(4374);
19858
19859var bind = uncurryThis(uncurryThis.bind);
19860
19861// optional / simple context binding
19862module.exports = function (fn, that) {
19863  aCallable(fn);
19864  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
19865    return fn.apply(that, arguments);
19866  };
19867};
19868
19869
19870/***/ }),
19871
19872/***/ 4374:
19873/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19874
19875var fails = __webpack_require__(7293);
19876
19877module.exports = !fails(function () {
19878  var test = (function () { /* empty */ }).bind();
19879  // eslint-disable-next-line no-prototype-builtins -- safe
19880  return typeof test != 'function' || test.hasOwnProperty('prototype');
19881});
19882
19883
19884/***/ }),
19885
19886/***/ 6916:
19887/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19888
19889var NATIVE_BIND = __webpack_require__(4374);
19890
19891var call = Function.prototype.call;
19892
19893module.exports = NATIVE_BIND ? call.bind(call) : function () {
19894  return call.apply(call, arguments);
19895};
19896
19897
19898/***/ }),
19899
19900/***/ 6530:
19901/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19902
19903var DESCRIPTORS = __webpack_require__(9781);
19904var hasOwn = __webpack_require__(2597);
19905
19906var FunctionPrototype = Function.prototype;
19907// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
19908var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
19909
19910var EXISTS = hasOwn(FunctionPrototype, 'name');
19911// additional protection from minified / mangled / dropped function names
19912var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
19913var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
19914
19915module.exports = {
19916  EXISTS: EXISTS,
19917  PROPER: PROPER,
19918  CONFIGURABLE: CONFIGURABLE
19919};
19920
19921
19922/***/ }),
19923
19924/***/ 1702:
19925/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19926
19927var NATIVE_BIND = __webpack_require__(4374);
19928
19929var FunctionPrototype = Function.prototype;
19930var bind = FunctionPrototype.bind;
19931var call = FunctionPrototype.call;
19932var uncurryThis = NATIVE_BIND && bind.bind(call, call);
19933
19934module.exports = NATIVE_BIND ? function (fn) {
19935  return fn && uncurryThis(fn);
19936} : function (fn) {
19937  return fn && function () {
19938    return call.apply(fn, arguments);
19939  };
19940};
19941
19942
19943/***/ }),
19944
19945/***/ 5005:
19946/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19947
19948var global = __webpack_require__(7854);
19949var isCallable = __webpack_require__(614);
19950
19951var aFunction = function (argument) {
19952  return isCallable(argument) ? argument : undefined;
19953};
19954
19955module.exports = function (namespace, method) {
19956  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
19957};
19958
19959
19960/***/ }),
19961
19962/***/ 1246:
19963/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19964
19965var classof = __webpack_require__(648);
19966var getMethod = __webpack_require__(8173);
19967var Iterators = __webpack_require__(7497);
19968var wellKnownSymbol = __webpack_require__(5112);
19969
19970var ITERATOR = wellKnownSymbol('iterator');
19971
19972module.exports = function (it) {
19973  if (it != undefined) return getMethod(it, ITERATOR)
19974    || getMethod(it, '@@iterator')
19975    || Iterators[classof(it)];
19976};
19977
19978
19979/***/ }),
19980
19981/***/ 8554:
19982/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
19983
19984var global = __webpack_require__(7854);
19985var call = __webpack_require__(6916);
19986var aCallable = __webpack_require__(9662);
19987var anObject = __webpack_require__(9670);
19988var tryToString = __webpack_require__(6330);
19989var getIteratorMethod = __webpack_require__(1246);
19990
19991var TypeError = global.TypeError;
19992
19993module.exports = function (argument, usingIterator) {
19994  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
19995  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
19996  throw TypeError(tryToString(argument) + ' is not iterable');
19997};
19998
19999
20000/***/ }),
20001
20002/***/ 8173:
20003/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20004
20005var aCallable = __webpack_require__(9662);
20006
20007// `GetMethod` abstract operation
20008// https://tc39.es/ecma262/#sec-getmethod
20009module.exports = function (V, P) {
20010  var func = V[P];
20011  return func == null ? undefined : aCallable(func);
20012};
20013
20014
20015/***/ }),
20016
20017/***/ 7854:
20018/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20019
20020var check = function (it) {
20021  return it && it.Math == Math && it;
20022};
20023
20024// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
20025module.exports =
20026  // eslint-disable-next-line es/no-global-this -- safe
20027  check(typeof globalThis == 'object' && globalThis) ||
20028  check(typeof window == 'object' && window) ||
20029  // eslint-disable-next-line no-restricted-globals -- safe
20030  check(typeof self == 'object' && self) ||
20031  check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
20032  // eslint-disable-next-line no-new-func -- fallback
20033  (function () { return this; })() || Function('return this')();
20034
20035
20036/***/ }),
20037
20038/***/ 2597:
20039/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20040
20041var uncurryThis = __webpack_require__(1702);
20042var toObject = __webpack_require__(7908);
20043
20044var hasOwnProperty = uncurryThis({}.hasOwnProperty);
20045
20046// `HasOwnProperty` abstract operation
20047// https://tc39.es/ecma262/#sec-hasownproperty
20048module.exports = Object.hasOwn || function hasOwn(it, key) {
20049  return hasOwnProperty(toObject(it), key);
20050};
20051
20052
20053/***/ }),
20054
20055/***/ 3501:
20056/***/ (function(module) {
20057
20058module.exports = {};
20059
20060
20061/***/ }),
20062
20063/***/ 842:
20064/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20065
20066var global = __webpack_require__(7854);
20067
20068module.exports = function (a, b) {
20069  var console = global.console;
20070  if (console && console.error) {
20071    arguments.length == 1 ? console.error(a) : console.error(a, b);
20072  }
20073};
20074
20075
20076/***/ }),
20077
20078/***/ 490:
20079/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20080
20081var getBuiltIn = __webpack_require__(5005);
20082
20083module.exports = getBuiltIn('document', 'documentElement');
20084
20085
20086/***/ }),
20087
20088/***/ 4664:
20089/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20090
20091var DESCRIPTORS = __webpack_require__(9781);
20092var fails = __webpack_require__(7293);
20093var createElement = __webpack_require__(317);
20094
20095// Thanks to IE8 for its funny defineProperty
20096module.exports = !DESCRIPTORS && !fails(function () {
20097  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
20098  return Object.defineProperty(createElement('div'), 'a', {
20099    get: function () { return 7; }
20100  }).a != 7;
20101});
20102
20103
20104/***/ }),
20105
20106/***/ 8361:
20107/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20108
20109var global = __webpack_require__(7854);
20110var uncurryThis = __webpack_require__(1702);
20111var fails = __webpack_require__(7293);
20112var classof = __webpack_require__(4326);
20113
20114var Object = global.Object;
20115var split = uncurryThis(''.split);
20116
20117// fallback for non-array-like ES3 and non-enumerable old V8 strings
20118module.exports = fails(function () {
20119  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
20120  // eslint-disable-next-line no-prototype-builtins -- safe
20121  return !Object('z').propertyIsEnumerable(0);
20122}) ? function (it) {
20123  return classof(it) == 'String' ? split(it, '') : Object(it);
20124} : Object;
20125
20126
20127/***/ }),
20128
20129/***/ 9587:
20130/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20131
20132var isCallable = __webpack_require__(614);
20133var isObject = __webpack_require__(111);
20134var setPrototypeOf = __webpack_require__(7674);
20135
20136// makes subclassing work correct for wrapped built-ins
20137module.exports = function ($this, dummy, Wrapper) {
20138  var NewTarget, NewTargetPrototype;
20139  if (
20140    // it can work only with native `setPrototypeOf`
20141    setPrototypeOf &&
20142    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
20143    isCallable(NewTarget = dummy.constructor) &&
20144    NewTarget !== Wrapper &&
20145    isObject(NewTargetPrototype = NewTarget.prototype) &&
20146    NewTargetPrototype !== Wrapper.prototype
20147  ) setPrototypeOf($this, NewTargetPrototype);
20148  return $this;
20149};
20150
20151
20152/***/ }),
20153
20154/***/ 2788:
20155/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20156
20157var uncurryThis = __webpack_require__(1702);
20158var isCallable = __webpack_require__(614);
20159var store = __webpack_require__(5465);
20160
20161var functionToString = uncurryThis(Function.toString);
20162
20163// this helper broken in `[email protected]`, so we can't use `shared` helper
20164if (!isCallable(store.inspectSource)) {
20165  store.inspectSource = function (it) {
20166    return functionToString(it);
20167  };
20168}
20169
20170module.exports = store.inspectSource;
20171
20172
20173/***/ }),
20174
20175/***/ 8340:
20176/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20177
20178var isObject = __webpack_require__(111);
20179var createNonEnumerableProperty = __webpack_require__(8880);
20180
20181// `InstallErrorCause` abstract operation
20182// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
20183module.exports = function (O, options) {
20184  if (isObject(options) && 'cause' in options) {
20185    createNonEnumerableProperty(O, 'cause', options.cause);
20186  }
20187};
20188
20189
20190/***/ }),
20191
20192/***/ 9909:
20193/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20194
20195var NATIVE_WEAK_MAP = __webpack_require__(8536);
20196var global = __webpack_require__(7854);
20197var uncurryThis = __webpack_require__(1702);
20198var isObject = __webpack_require__(111);
20199var createNonEnumerableProperty = __webpack_require__(8880);
20200var hasOwn = __webpack_require__(2597);
20201var shared = __webpack_require__(5465);
20202var sharedKey = __webpack_require__(6200);
20203var hiddenKeys = __webpack_require__(3501);
20204
20205var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
20206var TypeError = global.TypeError;
20207var WeakMap = global.WeakMap;
20208var set, get, has;
20209
20210var enforce = function (it) {
20211  return has(it) ? get(it) : set(it, {});
20212};
20213
20214var getterFor = function (TYPE) {
20215  return function (it) {
20216    var state;
20217    if (!isObject(it) || (state = get(it)).type !== TYPE) {
20218      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
20219    } return state;
20220  };
20221};
20222
20223if (NATIVE_WEAK_MAP || shared.state) {
20224  var store = shared.state || (shared.state = new WeakMap());
20225  var wmget = uncurryThis(store.get);
20226  var wmhas = uncurryThis(store.has);
20227  var wmset = uncurryThis(store.set);
20228  set = function (it, metadata) {
20229    if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
20230    metadata.facade = it;
20231    wmset(store, it, metadata);
20232    return metadata;
20233  };
20234  get = function (it) {
20235    return wmget(store, it) || {};
20236  };
20237  has = function (it) {
20238    return wmhas(store, it);
20239  };
20240} else {
20241  var STATE = sharedKey('state');
20242  hiddenKeys[STATE] = true;
20243  set = function (it, metadata) {
20244    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
20245    metadata.facade = it;
20246    createNonEnumerableProperty(it, STATE, metadata);
20247    return metadata;
20248  };
20249  get = function (it) {
20250    return hasOwn(it, STATE) ? it[STATE] : {};
20251  };
20252  has = function (it) {
20253    return hasOwn(it, STATE);
20254  };
20255}
20256
20257module.exports = {
20258  set: set,
20259  get: get,
20260  has: has,
20261  enforce: enforce,
20262  getterFor: getterFor
20263};
20264
20265
20266/***/ }),
20267
20268/***/ 7659:
20269/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20270
20271var wellKnownSymbol = __webpack_require__(5112);
20272var Iterators = __webpack_require__(7497);
20273
20274var ITERATOR = wellKnownSymbol('iterator');
20275var ArrayPrototype = Array.prototype;
20276
20277// check on default Array iterator
20278module.exports = function (it) {
20279  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
20280};
20281
20282
20283/***/ }),
20284
20285/***/ 3157:
20286/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20287
20288var classof = __webpack_require__(4326);
20289
20290// `IsArray` abstract operation
20291// https://tc39.es/ecma262/#sec-isarray
20292// eslint-disable-next-line es/no-array-isarray -- safe
20293module.exports = Array.isArray || function isArray(argument) {
20294  return classof(argument) == 'Array';
20295};
20296
20297
20298/***/ }),
20299
20300/***/ 614:
20301/***/ (function(module) {
20302
20303// `IsCallable` abstract operation
20304// https://tc39.es/ecma262/#sec-iscallable
20305module.exports = function (argument) {
20306  return typeof argument == 'function';
20307};
20308
20309
20310/***/ }),
20311
20312/***/ 4411:
20313/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20314
20315var uncurryThis = __webpack_require__(1702);
20316var fails = __webpack_require__(7293);
20317var isCallable = __webpack_require__(614);
20318var classof = __webpack_require__(648);
20319var getBuiltIn = __webpack_require__(5005);
20320var inspectSource = __webpack_require__(2788);
20321
20322var noop = function () { /* empty */ };
20323var empty = [];
20324var construct = getBuiltIn('Reflect', 'construct');
20325var constructorRegExp = /^\s*(?:class|function)\b/;
20326var exec = uncurryThis(constructorRegExp.exec);
20327var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
20328
20329var isConstructorModern = function isConstructor(argument) {
20330  if (!isCallable(argument)) return false;
20331  try {
20332    construct(noop, empty, argument);
20333    return true;
20334  } catch (error) {
20335    return false;
20336  }
20337};
20338
20339var isConstructorLegacy = function isConstructor(argument) {
20340  if (!isCallable(argument)) return false;
20341  switch (classof(argument)) {
20342    case 'AsyncFunction':
20343    case 'GeneratorFunction':
20344    case 'AsyncGeneratorFunction': return false;
20345  }
20346  try {
20347    // we can't check .prototype since constructors produced by .bind haven't it
20348    // `Function#toString` throws on some built-it function in some legacy engines
20349    // (for example, `DOMQuad` and similar in FF41-)
20350    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
20351  } catch (error) {
20352    return true;
20353  }
20354};
20355
20356isConstructorLegacy.sham = true;
20357
20358// `IsConstructor` abstract operation
20359// https://tc39.es/ecma262/#sec-isconstructor
20360module.exports = !construct || fails(function () {
20361  var called;
20362  return isConstructorModern(isConstructorModern.call)
20363    || !isConstructorModern(Object)
20364    || !isConstructorModern(function () { called = true; })
20365    || called;
20366}) ? isConstructorLegacy : isConstructorModern;
20367
20368
20369/***/ }),
20370
20371/***/ 4705:
20372/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20373
20374var fails = __webpack_require__(7293);
20375var isCallable = __webpack_require__(614);
20376
20377var replacement = /#|\.prototype\./;
20378
20379var isForced = function (feature, detection) {
20380  var value = data[normalize(feature)];
20381  return value == POLYFILL ? true
20382    : value == NATIVE ? false
20383    : isCallable(detection) ? fails(detection)
20384    : !!detection;
20385};
20386
20387var normalize = isForced.normalize = function (string) {
20388  return String(string).replace(replacement, '.').toLowerCase();
20389};
20390
20391var data = isForced.data = {};
20392var NATIVE = isForced.NATIVE = 'N';
20393var POLYFILL = isForced.POLYFILL = 'P';
20394
20395module.exports = isForced;
20396
20397
20398/***/ }),
20399
20400/***/ 111:
20401/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20402
20403var isCallable = __webpack_require__(614);
20404
20405module.exports = function (it) {
20406  return typeof it == 'object' ? it !== null : isCallable(it);
20407};
20408
20409
20410/***/ }),
20411
20412/***/ 1913:
20413/***/ (function(module) {
20414
20415module.exports = false;
20416
20417
20418/***/ }),
20419
20420/***/ 2190:
20421/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20422
20423var global = __webpack_require__(7854);
20424var getBuiltIn = __webpack_require__(5005);
20425var isCallable = __webpack_require__(614);
20426var isPrototypeOf = __webpack_require__(7976);
20427var USE_SYMBOL_AS_UID = __webpack_require__(3307);
20428
20429var Object = global.Object;
20430
20431module.exports = USE_SYMBOL_AS_UID ? function (it) {
20432  return typeof it == 'symbol';
20433} : function (it) {
20434  var $Symbol = getBuiltIn('Symbol');
20435  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
20436};
20437
20438
20439/***/ }),
20440
20441/***/ 408:
20442/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20443
20444var global = __webpack_require__(7854);
20445var bind = __webpack_require__(9974);
20446var call = __webpack_require__(6916);
20447var anObject = __webpack_require__(9670);
20448var tryToString = __webpack_require__(6330);
20449var isArrayIteratorMethod = __webpack_require__(7659);
20450var lengthOfArrayLike = __webpack_require__(6244);
20451var isPrototypeOf = __webpack_require__(7976);
20452var getIterator = __webpack_require__(8554);
20453var getIteratorMethod = __webpack_require__(1246);
20454var iteratorClose = __webpack_require__(9212);
20455
20456var TypeError = global.TypeError;
20457
20458var Result = function (stopped, result) {
20459  this.stopped = stopped;
20460  this.result = result;
20461};
20462
20463var ResultPrototype = Result.prototype;
20464
20465module.exports = function (iterable, unboundFunction, options) {
20466  var that = options && options.that;
20467  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
20468  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
20469  var INTERRUPTED = !!(options && options.INTERRUPTED);
20470  var fn = bind(unboundFunction, that);
20471  var iterator, iterFn, index, length, result, next, step;
20472
20473  var stop = function (condition) {
20474    if (iterator) iteratorClose(iterator, 'normal', condition);
20475    return new Result(true, condition);
20476  };
20477
20478  var callFn = function (value) {
20479    if (AS_ENTRIES) {
20480      anObject(value);
20481      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
20482    }
vendor: 12,534 bytes, lines 20482-20895
20482 return INTERRUPTED ? fn(value, stop) : fn(value);
20483  };
20484
20485  if (IS_ITERATOR) {
20486    iterator = iterable;
20487  } else {
20488    iterFn = getIteratorMethod(iterable);
20489    if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');
20490    // optimisation for array iterators
20491    if (isArrayIteratorMethod(iterFn)) {
20492      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
20493        result = callFn(iterable[index]);
20494        if (result && isPrototypeOf(ResultPrototype, result)) return result;
20495      } return new Result(false);
20496    }
20497    iterator = getIterator(iterable, iterFn);
20498  }
20499
20500  next = iterator.next;
20501  while (!(step = call(next, iterator)).done) {
20502    try {
20503      result = callFn(step.value);
20504    } catch (error) {
20505      iteratorClose(iterator, 'throw', error);
20506    }
20507    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
20508  } return new Result(false);
20509};
20510
20511
20512/***/ }),
20513
20514/***/ 9212:
20515/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20516
20517var call = __webpack_require__(6916);
20518var anObject = __webpack_require__(9670);
20519var getMethod = __webpack_require__(8173);
20520
20521module.exports = function (iterator, kind, value) {
20522  var innerResult, innerError;
20523  anObject(iterator);
20524  try {
20525    innerResult = getMethod(iterator, 'return');
20526    if (!innerResult) {
20527      if (kind === 'throw') throw value;
20528      return value;
20529    }
20530    innerResult = call(innerResult, iterator);
20531  } catch (error) {
20532    innerError = true;
20533    innerResult = error;
20534  }
20535  if (kind === 'throw') throw value;
20536  if (innerError) throw innerResult;
20537  anObject(innerResult);
20538  return value;
20539};
20540
20541
20542/***/ }),
20543
20544/***/ 3383:
20545/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20546
20547"use strict";
20548
20549var fails = __webpack_require__(7293);
20550var isCallable = __webpack_require__(614);
20551var create = __webpack_require__(30);
20552var getPrototypeOf = __webpack_require__(9518);
20553var redefine = __webpack_require__(1320);
20554var wellKnownSymbol = __webpack_require__(5112);
20555var IS_PURE = __webpack_require__(1913);
20556
20557var ITERATOR = wellKnownSymbol('iterator');
20558var BUGGY_SAFARI_ITERATORS = false;
20559
20560// `%IteratorPrototype%` object
20561// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
20562var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
20563
20564/* eslint-disable es/no-array-prototype-keys -- safe */
20565if ([].keys) {
20566  arrayIterator = [].keys();
20567  // Safari 8 has buggy iterators w/o `next`
20568  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
20569  else {
20570    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
20571    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
20572  }
20573}
20574
20575var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
20576  var test = {};
20577  // FF44- legacy iterators case
20578  return IteratorPrototype[ITERATOR].call(test) !== test;
20579});
20580
20581if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
20582else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
20583
20584// `%IteratorPrototype%[@@iterator]()` method
20585// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
20586if (!isCallable(IteratorPrototype[ITERATOR])) {
20587  redefine(IteratorPrototype, ITERATOR, function () {
20588    return this;
20589  });
20590}
20591
20592module.exports = {
20593  IteratorPrototype: IteratorPrototype,
20594  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
20595};
20596
20597
20598/***/ }),
20599
20600/***/ 7497:
20601/***/ (function(module) {
20602
20603module.exports = {};
20604
20605
20606/***/ }),
20607
20608/***/ 6244:
20609/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20610
20611var toLength = __webpack_require__(7466);
20612
20613// `LengthOfArrayLike` abstract operation
20614// https://tc39.es/ecma262/#sec-lengthofarraylike
20615module.exports = function (obj) {
20616  return toLength(obj.length);
20617};
20618
20619
20620/***/ }),
20621
20622/***/ 5948:
20623/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20624
20625var global = __webpack_require__(7854);
20626var bind = __webpack_require__(9974);
20627var getOwnPropertyDescriptor = (__webpack_require__(1236).f);
20628var macrotask = (__webpack_require__(261).set);
20629var IS_IOS = __webpack_require__(6833);
20630var IS_IOS_PEBBLE = __webpack_require__(1528);
20631var IS_WEBOS_WEBKIT = __webpack_require__(1036);
20632var IS_NODE = __webpack_require__(5268);
20633
20634var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
20635var document = global.document;
20636var process = global.process;
20637var Promise = global.Promise;
20638// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
20639var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
20640var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
20641
20642var flush, head, last, notify, toggle, node, promise, then;
20643
20644// modern engines have queueMicrotask method
20645if (!queueMicrotask) {
20646  flush = function () {
20647    var parent, fn;
20648    if (IS_NODE && (parent = process.domain)) parent.exit();
20649    while (head) {
20650      fn = head.fn;
20651      head = head.next;
20652      try {
20653        fn();
20654      } catch (error) {
20655        if (head) notify();
20656        else last = undefined;
20657        throw error;
20658      }
20659    } last = undefined;
20660    if (parent) parent.enter();
20661  };
20662
20663  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
20664  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
20665  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
20666    toggle = true;
20667    node = document.createTextNode('');
20668    new MutationObserver(flush).observe(node, { characterData: true });
20669    notify = function () {
20670      node.data = toggle = !toggle;
20671    };
20672  // environments with maybe non-completely correct, but existent Promise
20673  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {
20674    // Promise.resolve without an argument throws an error in LG WebOS 2
20675    promise = Promise.resolve(undefined);
20676    // workaround of WebKit ~ iOS Safari 10.1 bug
20677    promise.constructor = Promise;
20678    then = bind(promise.then, promise);
20679    notify = function () {
20680      then(flush);
20681    };
20682  // Node.js without promises
20683  } else if (IS_NODE) {
20684    notify = function () {
20685      process.nextTick(flush);
20686    };
20687  // for other environments - macrotask based on:
20688  // - setImmediate
20689  // - MessageChannel
20690  // - window.postMessag
20691  // - onreadystatechange
20692  // - setTimeout
20693  } else {
20694    // strange IE + webpack dev server bug - use .bind(global)
20695    macrotask = bind(macrotask, global);
20696    notify = function () {
20697      macrotask(flush);
20698    };
20699  }
20700}
20701
20702module.exports = queueMicrotask || function (fn) {
20703  var task = { fn: fn, next: undefined };
20704  if (last) last.next = task;
20705  if (!head) {
20706    head = task;
20707    notify();
20708  } last = task;
20709};
20710
20711
20712/***/ }),
20713
20714/***/ 3366:
20715/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20716
20717var global = __webpack_require__(7854);
20718
20719module.exports = global.Promise;
20720
20721
20722/***/ }),
20723
20724/***/ 133:
20725/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20726
20727/* eslint-disable es/no-symbol -- required for testing */
20728var V8_VERSION = __webpack_require__(7392);
20729var fails = __webpack_require__(7293);
20730
20731// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
20732module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
20733  var symbol = Symbol();
20734  // Chrome 38 Symbol has incorrect toString conversion
20735  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
20736  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
20737    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
20738    !Symbol.sham && V8_VERSION && V8_VERSION < 41;
20739});
20740
20741
20742/***/ }),
20743
20744/***/ 590:
20745/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20746
20747var fails = __webpack_require__(7293);
20748var wellKnownSymbol = __webpack_require__(5112);
20749var IS_PURE = __webpack_require__(1913);
20750
20751var ITERATOR = wellKnownSymbol('iterator');
20752
20753module.exports = !fails(function () {
20754  // eslint-disable-next-line unicorn/relative-url-style -- required for testing
20755  var url = new URL('b?a=1&b=2&c=3', 'http://a');
20756  var searchParams = url.searchParams;
20757  var result = '';
20758  url.pathname = 'c%20d';
20759  searchParams.forEach(function (value, key) {
20760    searchParams['delete']('b');
20761    result += key + value;
20762  });
20763  return (IS_PURE && !url.toJSON)
20764    || !searchParams.sort
20765    || url.href !== 'http://a/c%20d?a=1&c=3'
20766    || searchParams.get('c') !== '3'
20767    || String(new URLSearchParams('?a=1')) !== 'a=1'
20768    || !searchParams[ITERATOR]
20769    // throws in Edge
20770    || new URL('https://a@b').username !== 'a'
20771    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
20772    // not punycoded in Edge
20773    || new URL('http://тест').host !== 'xn--e1aybc'
20774    // not escaped in Chrome 62-
20775    || new URL('http://a#б').hash !== '#%D0%B1'
20776    // fails in Chrome 66-
20777    || result !== 'a1c3'
20778    // throws in Safari
20779    || new URL('http://x', undefined).host !== 'x';
20780});
20781
20782
20783/***/ }),
20784
20785/***/ 8536:
20786/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20787
20788var global = __webpack_require__(7854);
20789var isCallable = __webpack_require__(614);
20790var inspectSource = __webpack_require__(2788);
20791
20792var WeakMap = global.WeakMap;
20793
20794module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));
20795
20796
20797/***/ }),
20798
20799/***/ 8523:
20800/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20801
20802"use strict";
20803
20804var aCallable = __webpack_require__(9662);
20805
20806var PromiseCapability = function (C) {
20807  var resolve, reject;
20808  this.promise = new C(function ($$resolve, $$reject) {
20809    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
20810    resolve = $$resolve;
20811    reject = $$reject;
20812  });
20813  this.resolve = aCallable(resolve);
20814  this.reject = aCallable(reject);
20815};
20816
20817// `NewPromiseCapability` abstract operation
20818// https://tc39.es/ecma262/#sec-newpromisecapability
20819module.exports.f = function (C) {
20820  return new PromiseCapability(C);
20821};
20822
20823
20824/***/ }),
20825
20826/***/ 6277:
20827/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20828
20829var toString = __webpack_require__(1340);
20830
20831module.exports = function (argument, $default) {
20832  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
20833};
20834
20835
20836/***/ }),
20837
20838/***/ 1574:
20839/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20840
20841"use strict";
20842
20843var DESCRIPTORS = __webpack_require__(9781);
20844var uncurryThis = __webpack_require__(1702);
20845var call = __webpack_require__(6916);
20846var fails = __webpack_require__(7293);
20847var objectKeys = __webpack_require__(1956);
20848var getOwnPropertySymbolsModule = __webpack_require__(5181);
20849var propertyIsEnumerableModule = __webpack_require__(5296);
20850var toObject = __webpack_require__(7908);
20851var IndexedObject = __webpack_require__(8361);
20852
20853// eslint-disable-next-line es/no-object-assign -- safe
20854var $assign = Object.assign;
20855// eslint-disable-next-line es/no-object-defineproperty -- required for testing
20856var defineProperty = Object.defineProperty;
20857var concat = uncurryThis([].concat);
20858
20859// `Object.assign` method
20860// https://tc39.es/ecma262/#sec-object.assign
20861module.exports = !$assign || fails(function () {
20862  // should have correct order of operations (Edge bug)
20863  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
20864    enumerable: true,
20865    get: function () {
20866      defineProperty(this, 'b', {
20867        value: 3,
20868        enumerable: false
20869      });
20870    }
20871  }), { b: 2 })).b !== 1) return true;
20872  // should work with symbols and should have deterministic property order (V8 bug)
20873  var A = {};
20874  var B = {};
20875  // eslint-disable-next-line es/no-symbol -- safe
20876  var symbol = Symbol();
20877  var alphabet = 'abcdefghijklmnopqrst';
20878  A[symbol] = 7;
20879  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
20880  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
20881}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
20882  var T = toObject(target);
20883  var argumentsLength = arguments.length;
20884  var index = 1;
20885  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
20886  var propertyIsEnumerable = propertyIsEnumerableModule.f;
20887  while (argumentsLength > index) {
20888    var S = IndexedObject(arguments[index++]);
20889    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
20890    var length = keys.length;
20891    var j = 0;
20892    var key;
20893    while (length > j) {
20894      key = keys[j++];
20895      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[ke
vendor: 16,407 bytes, lines 20895-21429
20895y] = S[key];
20896    }
20897  } return T;
20898} : $assign;
20899
20900
20901/***/ }),
20902
20903/***/ 30:
20904/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20905
20906/* global ActiveXObject -- old IE, WSH */
20907var anObject = __webpack_require__(9670);
20908var definePropertiesModule = __webpack_require__(6048);
20909var enumBugKeys = __webpack_require__(748);
20910var hiddenKeys = __webpack_require__(3501);
20911var html = __webpack_require__(490);
20912var documentCreateElement = __webpack_require__(317);
20913var sharedKey = __webpack_require__(6200);
20914
20915var GT = '>';
20916var LT = '<';
20917var PROTOTYPE = 'prototype';
20918var SCRIPT = 'script';
20919var IE_PROTO = sharedKey('IE_PROTO');
20920
20921var EmptyConstructor = function () { /* empty */ };
20922
20923var scriptTag = function (content) {
20924  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
20925};
20926
20927// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
20928var NullProtoObjectViaActiveX = function (activeXDocument) {
20929  activeXDocument.write(scriptTag(''));
20930  activeXDocument.close();
20931  var temp = activeXDocument.parentWindow.Object;
20932  activeXDocument = null; // avoid memory leak
20933  return temp;
20934};
20935
20936// Create object with fake `null` prototype: use iframe Object with cleared prototype
20937var NullProtoObjectViaIFrame = function () {
20938  // Thrash, waste and sodomy: IE GC bug
20939  var iframe = documentCreateElement('iframe');
20940  var JS = 'java' + SCRIPT + ':';
20941  var iframeDocument;
20942  iframe.style.display = 'none';
20943  html.appendChild(iframe);
20944  // https://github.com/zloirock/core-js/issues/475
20945  iframe.src = String(JS);
20946  iframeDocument = iframe.contentWindow.document;
20947  iframeDocument.open();
20948  iframeDocument.write(scriptTag('document.F=Object'));
20949  iframeDocument.close();
20950  return iframeDocument.F;
20951};
20952
20953// Check for document.domain and active x support
20954// No need to use active x approach when document.domain is not set
20955// see https://github.com/es-shims/es5-shim/issues/150
20956// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
20957// avoid IE GC bug
20958var activeXDocument;
20959var NullProtoObject = function () {
20960  try {
20961    activeXDocument = new ActiveXObject('htmlfile');
20962  } catch (error) { /* ignore */ }
20963  NullProtoObject = typeof document != 'undefined'
20964    ? document.domain && activeXDocument
20965      ? NullProtoObjectViaActiveX(activeXDocument) // old IE
20966      : NullProtoObjectViaIFrame()
20967    : NullProtoObjectViaActiveX(activeXDocument); // WSH
20968  var length = enumBugKeys.length;
20969  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
20970  return NullProtoObject();
20971};
20972
20973hiddenKeys[IE_PROTO] = true;
20974
20975// `Object.create` method
20976// https://tc39.es/ecma262/#sec-object.create
20977module.exports = Object.create || function create(O, Properties) {
20978  var result;
20979  if (O !== null) {
20980    EmptyConstructor[PROTOTYPE] = anObject(O);
20981    result = new EmptyConstructor();
20982    EmptyConstructor[PROTOTYPE] = null;
20983    // add "__proto__" for Object.getPrototypeOf polyfill
20984    result[IE_PROTO] = O;
20985  } else result = NullProtoObject();
20986  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
20987};
20988
20989
20990/***/ }),
20991
20992/***/ 6048:
20993/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20994
20995var DESCRIPTORS = __webpack_require__(9781);
20996var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3353);
20997var definePropertyModule = __webpack_require__(3070);
20998var anObject = __webpack_require__(9670);
20999var toIndexedObject = __webpack_require__(5656);
21000var objectKeys = __webpack_require__(1956);
21001
21002// `Object.defineProperties` method
21003// https://tc39.es/ecma262/#sec-object.defineproperties
21004// eslint-disable-next-line es/no-object-defineproperties -- safe
21005exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
21006  anObject(O);
21007  var props = toIndexedObject(Properties);
21008  var keys = objectKeys(Properties);
21009  var length = keys.length;
21010  var index = 0;
21011  var key;
21012  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
21013  return O;
21014};
21015
21016
21017/***/ }),
21018
21019/***/ 3070:
21020/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
21021
21022var global = __webpack_require__(7854);
21023var DESCRIPTORS = __webpack_require__(9781);
21024var IE8_DOM_DEFINE = __webpack_require__(4664);
21025var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3353);
21026var anObject = __webpack_require__(9670);
21027var toPropertyKey = __webpack_require__(4948);
21028
21029var TypeError = global.TypeError;
21030// eslint-disable-next-line es/no-object-defineproperty -- safe
21031var $defineProperty = Object.defineProperty;
21032// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
21033var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
21034var ENUMERABLE = 'enumerable';
21035var CONFIGURABLE = 'configurable';
21036var WRITABLE = 'writable';
21037
21038// `Object.defineProperty` method
21039// https://tc39.es/ecma262/#sec-object.defineproperty
21040exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
21041  anObject(O);
21042  P = toPropertyKey(P);
21043  anObject(Attributes);
21044  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
21045    var current = $getOwnPropertyDescriptor(O, P);
21046    if (current && current[WRITABLE]) {
21047      O[P] = Attributes.value;
21048      Attributes = {
21049        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
21050        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
21051        writable: false
21052      };
21053    }
21054  } return $defineProperty(O, P, Attributes);
21055} : $defineProperty : function defineProperty(O, P, Attributes) {
21056  anObject(O);
21057  P = toPropertyKey(P);
21058  anObject(Attributes);
21059  if (IE8_DOM_DEFINE) try {
21060    return $defineProperty(O, P, Attributes);
21061  } catch (error) { /* empty */ }
21062  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
21063  if ('value' in Attributes) O[P] = Attributes.value;
21064  return O;
21065};
21066
21067
21068/***/ }),
21069
21070/***/ 1236:
21071/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
21072
21073var DESCRIPTORS = __webpack_require__(9781);
21074var call = __webpack_require__(6916);
21075var propertyIsEnumerableModule = __webpack_require__(5296);
21076var createPropertyDescriptor = __webpack_require__(9114);
21077var toIndexedObject = __webpack_require__(5656);
21078var toPropertyKey = __webpack_require__(4948);
21079var hasOwn = __webpack_require__(2597);
21080var IE8_DOM_DEFINE = __webpack_require__(4664);
21081
21082// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
21083var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
21084
21085// `Object.getOwnPropertyDescriptor` method
21086// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
21087exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
21088  O = toIndexedObject(O);
21089  P = toPropertyKey(P);
21090  if (IE8_DOM_DEFINE) try {
21091    return $getOwnPropertyDescriptor(O, P);
21092  } catch (error) { /* empty */ }
21093  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
21094};
21095
21096
21097/***/ }),
21098
21099/***/ 8006:
21100/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
21101
21102var internalObjectKeys = __webpack_require__(6324);
21103var enumBugKeys = __webpack_require__(748);
21104
21105var hiddenKeys = enumBugKeys.concat('length', 'prototype');
21106
21107// `Object.getOwnPropertyNames` method
21108// https://tc39.es/ecma262/#sec-object.getownpropertynames
21109// eslint-disable-next-line es/no-object-getownpropertynames -- safe
21110exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
21111  return internalObjectKeys(O, hiddenKeys);
21112};
21113
21114
21115/***/ }),
21116
21117/***/ 5181:
21118/***/ (function(__unused_webpack_module, exports) {
21119
21120// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
21121exports.f = Object.getOwnPropertySymbols;
21122
21123
21124/***/ }),
21125
21126/***/ 9518:
21127/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21128
21129var global = __webpack_require__(7854);
21130var hasOwn = __webpack_require__(2597);
21131var isCallable = __webpack_require__(614);
21132var toObject = __webpack_require__(7908);
21133var sharedKey = __webpack_require__(6200);
21134var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);
21135
21136var IE_PROTO = sharedKey('IE_PROTO');
21137var Object = global.Object;
21138var ObjectPrototype = Object.prototype;
21139
21140// `Object.getPrototypeOf` method
21141// https://tc39.es/ecma262/#sec-object.getprototypeof
21142module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
21143  var object = toObject(O);
21144  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
21145  var constructor = object.constructor;
21146  if (isCallable(constructor) && object instanceof constructor) {
21147    return constructor.prototype;
21148  } return object instanceof Object ? ObjectPrototype : null;
21149};
21150
21151
21152/***/ }),
21153
21154/***/ 7976:
21155/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21156
21157var uncurryThis = __webpack_require__(1702);
21158
21159module.exports = uncurryThis({}.isPrototypeOf);
21160
21161
21162/***/ }),
21163
21164/***/ 6324:
21165/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21166
21167var uncurryThis = __webpack_require__(1702);
21168var hasOwn = __webpack_require__(2597);
21169var toIndexedObject = __webpack_require__(5656);
21170var indexOf = (__webpack_require__(1318).indexOf);
21171var hiddenKeys = __webpack_require__(3501);
21172
21173var push = uncurryThis([].push);
21174
21175module.exports = function (object, names) {
21176  var O = toIndexedObject(object);
21177  var i = 0;
21178  var result = [];
21179  var key;
21180  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
21181  // Don't enum bug & hidden keys
21182  while (names.length > i) if (hasOwn(O, key = names[i++])) {
21183    ~indexOf(result, key) || push(result, key);
21184  }
21185  return result;
21186};
21187
21188
21189/***/ }),
21190
21191/***/ 1956:
21192/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21193
21194var internalObjectKeys = __webpack_require__(6324);
21195var enumBugKeys = __webpack_require__(748);
21196
21197// `Object.keys` method
21198// https://tc39.es/ecma262/#sec-object.keys
21199// eslint-disable-next-line es/no-object-keys -- safe
21200module.exports = Object.keys || function keys(O) {
21201  return internalObjectKeys(O, enumBugKeys);
21202};
21203
21204
21205/***/ }),
21206
21207/***/ 5296:
21208/***/ (function(__unused_webpack_module, exports) {
21209
21210"use strict";
21211
21212var $propertyIsEnumerable = {}.propertyIsEnumerable;
21213// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
21214var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
21215
21216// Nashorn ~ JDK8 bug
21217var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
21218
21219// `Object.prototype.propertyIsEnumerable` method implementation
21220// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
21221exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
21222  var descriptor = getOwnPropertyDescriptor(this, V);
21223  return !!descriptor && descriptor.enumerable;
21224} : $propertyIsEnumerable;
21225
21226
21227/***/ }),
21228
21229/***/ 7674:
21230/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21231
21232/* eslint-disable no-proto -- safe */
21233var uncurryThis = __webpack_require__(1702);
21234var anObject = __webpack_require__(9670);
21235var aPossiblePrototype = __webpack_require__(6077);
21236
21237// `Object.setPrototypeOf` method
21238// https://tc39.es/ecma262/#sec-object.setprototypeof
21239// Works with __proto__ only. Old v8 can't work with null proto objects.
21240// eslint-disable-next-line es/no-object-setprototypeof -- safe
21241module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
21242  var CORRECT_SETTER = false;
21243  var test = {};
21244  var setter;
21245  try {
21246    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
21247    setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
21248    setter(test, []);
21249    CORRECT_SETTER = test instanceof Array;
21250  } catch (error) { /* empty */ }
21251  return function setPrototypeOf(O, proto) {
21252    anObject(O);
21253    aPossiblePrototype(proto);
21254    if (CORRECT_SETTER) setter(O, proto);
21255    else O.__proto__ = proto;
21256    return O;
21257  };
21258}() : undefined);
21259
21260
21261/***/ }),
21262
21263/***/ 288:
21264/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21265
21266"use strict";
21267
21268var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
21269var classof = __webpack_require__(648);
21270
21271// `Object.prototype.toString` method implementation
21272// https://tc39.es/ecma262/#sec-object.prototype.tostring
21273module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
21274  return '[object ' + classof(this) + ']';
21275};
21276
21277
21278/***/ }),
21279
21280/***/ 2140:
21281/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21282
21283var global = __webpack_require__(7854);
21284var call = __webpack_require__(6916);
21285var isCallable = __webpack_require__(614);
21286var isObject = __webpack_require__(111);
21287
21288var TypeError = global.TypeError;
21289
21290// `OrdinaryToPrimitive` abstract operation
21291// https://tc39.es/ecma262/#sec-ordinarytoprimitive
21292module.exports = function (input, pref) {
21293  var fn, val;
21294  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
21295  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
21296  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
21297  throw TypeError("Can't convert object to primitive value");
21298};
21299
21300
21301/***/ }),
21302
21303/***/ 3887:
21304/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21305
21306var getBuiltIn = __webpack_require__(5005);
21307var uncurryThis = __webpack_require__(1702);
21308var getOwnPropertyNamesModule = __webpack_require__(8006);
21309var getOwnPropertySymbolsModule = __webpack_require__(5181);
21310var anObject = __webpack_require__(9670);
21311
21312var concat = uncurryThis([].concat);
21313
21314// all object keys, includes non-enumerable and symbols
21315module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
21316  var keys = getOwnPropertyNamesModule.f(anObject(it));
21317  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
21318  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
21319};
21320
21321
21322/***/ }),
21323
21324/***/ 857:
21325/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21326
21327var global = __webpack_require__(7854);
21328
21329module.exports = global;
21330
21331
21332/***/ }),
21333
21334/***/ 2534:
21335/***/ (function(module) {
21336
21337module.exports = function (exec) {
21338  try {
21339    return { error: false, value: exec() };
21340  } catch (error) {
21341    return { error: true, value: error };
21342  }
21343};
21344
21345
21346/***/ }),
21347
21348/***/ 9478:
21349/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21350
21351var anObject = __webpack_require__(9670);
21352var isObject = __webpack_require__(111);
21353var newPromiseCapability = __webpack_require__(8523);
21354
21355module.exports = function (C, x) {
21356  anObject(C);
21357  if (isObject(x) && x.constructor === C) return x;
21358  var promiseCapability = newPromiseCapability.f(C);
21359  var resolve = promiseCapability.resolve;
21360  resolve(x);
21361  return promiseCapability.promise;
21362};
21363
21364
21365/***/ }),
21366
21367/***/ 8572:
21368/***/ (function(module) {
21369
21370var Queue = function () {
21371  this.head = null;
21372  this.tail = null;
21373};
21374
21375Queue.prototype = {
21376  add: function (item) {
21377    var entry = { item: item, next: null };
21378    if (this.head) this.tail.next = entry;
21379    else this.head = entry;
21380    this.tail = entry;
21381  },
21382  get: function () {
21383    var entry = this.head;
21384    if (entry) {
21385      this.head = entry.next;
21386      if (this.tail === entry) this.tail = null;
21387      return entry.item;
21388    }
21389  }
21390};
21391
21392module.exports = Queue;
21393
21394
21395/***/ }),
21396
21397/***/ 2248:
21398/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21399
21400var redefine = __webpack_require__(1320);
21401
21402module.exports = function (target, src, options) {
21403  for (var key in src) redefine(target, key, src[key], options);
21404  return target;
21405};
21406
21407
21408/***/ }),
21409
21410/***/ 1320:
21411/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21412
21413var global = __webpack_require__(7854);
21414var isCallable = __webpack_require__(614);
21415var hasOwn = __webpack_require__(2597);
21416var createNonEnumerableProperty = __webpack_require__(8880);
21417var setGlobal = __webpack_require__(3505);
21418var inspectSource = __webpack_require__(2788);
21419var InternalStateModule = __webpack_require__(9909);
21420var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(6530).CONFIGURABLE);
21421
21422var getInternalState = InternalStateModule.get;
21423var enforceInternalState = InternalStateModule.enforce;
21424var TEMPLATE = String(String).split('String');
21425
21426(module.exports = function (O, key, value, options) {
21427  var unsafe = options ? !!options.unsafe : false;
21428  var simple = options ? !!options.enumerable : false;
21429  var noTargetGet = options ? !!options.noTargetGet : false;
vendor: 4,191 bytes, lines 21430-21589
21430  var name = options && options.name !== undefined ? options.name : key;
21431  var state;
21432  if (isCallable(value)) {
21433    if (String(name).slice(0, 7) === 'Symbol(') {
21434      name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
21435    }
21436    if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
21437      createNonEnumerableProperty(value, 'name', name);
21438    }
21439    state = enforceInternalState(value);
21440    if (!state.source) {
21441      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
21442    }
21443  }
21444  if (O === global) {
21445    if (simple) O[key] = value;
21446    else setGlobal(key, value);
21447    return;
21448  } else if (!unsafe) {
21449    delete O[key];
21450  } else if (!noTargetGet && O[key]) {
21451    simple = true;
21452  }
21453  if (simple) O[key] = value;
21454  else createNonEnumerableProperty(O, key, value);
21455// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
21456})(Function.prototype, 'toString', function toString() {
21457  return isCallable(this) && getInternalState(this).source || inspectSource(this);
21458});
21459
21460
21461/***/ }),
21462
21463/***/ 7066:
21464/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21465
21466"use strict";
21467
21468var anObject = __webpack_require__(9670);
21469
21470// `RegExp.prototype.flags` getter implementation
21471// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
21472module.exports = function () {
21473  var that = anObject(this);
21474  var result = '';
21475  if (that.global) result += 'g';
21476  if (that.ignoreCase) result += 'i';
21477  if (that.multiline) result += 'm';
21478  if (that.dotAll) result += 's';
21479  if (that.unicode) result += 'u';
21480  if (that.sticky) result += 'y';
21481  return result;
21482};
21483
21484
21485/***/ }),
21486
21487/***/ 4488:
21488/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21489
21490var global = __webpack_require__(7854);
21491
21492var TypeError = global.TypeError;
21493
21494// `RequireObjectCoercible` abstract operation
21495// https://tc39.es/ecma262/#sec-requireobjectcoercible
21496module.exports = function (it) {
21497  if (it == undefined) throw TypeError("Can't call method on " + it);
21498  return it;
21499};
21500
21501
21502/***/ }),
21503
21504/***/ 3505:
21505/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21506
21507var global = __webpack_require__(7854);
21508
21509// eslint-disable-next-line es/no-object-defineproperty -- safe
21510var defineProperty = Object.defineProperty;
21511
21512module.exports = function (key, value) {
21513  try {
21514    defineProperty(global, key, { value: value, configurable: true, writable: true });
21515  } catch (error) {
21516    global[key] = value;
21517  } return value;
21518};
21519
21520
21521/***/ }),
21522
21523/***/ 6340:
21524/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21525
21526"use strict";
21527
21528var getBuiltIn = __webpack_require__(5005);
21529var definePropertyModule = __webpack_require__(3070);
21530var wellKnownSymbol = __webpack_require__(5112);
21531var DESCRIPTORS = __webpack_require__(9781);
21532
21533var SPECIES = wellKnownSymbol('species');
21534
21535module.exports = function (CONSTRUCTOR_NAME) {
21536  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
21537  var defineProperty = definePropertyModule.f;
21538
21539  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
21540    defineProperty(Constructor, SPECIES, {
21541      configurable: true,
21542      get: function () { return this; }
21543    });
21544  }
21545};
21546
21547
21548/***/ }),
21549
21550/***/ 8003:
21551/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21552
21553var defineProperty = (__webpack_require__(3070).f);
21554var hasOwn = __webpack_require__(2597);
21555var wellKnownSymbol = __webpack_require__(5112);
21556
21557var TO_STRING_TAG = wellKnownSymbol('toStringTag');
21558
21559module.exports = function (target, TAG, STATIC) {
21560  if (target && !STATIC) target = target.prototype;
21561  if (target && !hasOwn(target, TO_STRING_TAG)) {
21562    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
21563  }
21564};
21565
21566
21567/***/ }),
21568
21569/***/ 6200:
21570/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21571
21572var shared = __webpack_require__(2309);
21573var uid = __webpack_require__(9711);
21574
21575var keys = shared('keys');
21576
21577module.exports = function (key) {
21578  return keys[key] || (keys[key] = uid(key));
21579};
21580
21581
21582/***/ }),
21583
21584/***/ 5465:
21585/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21586
21587var global = __webpack_require__(7854);
21588var setGlobal = __webpack_require__(3505);
21589
vendor: 8,926 bytes, lines 21590-21883
21590var SHARED = '__core-js_shared__';
21591var store = global[SHARED] || setGlobal(SHARED, {});
21592
21593module.exports = store;
21594
21595
21596/***/ }),
21597
21598/***/ 2309:
21599/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21600
21601var IS_PURE = __webpack_require__(1913);
21602var store = __webpack_require__(5465);
21603
21604(module.exports = function (key, value) {
21605  return store[key] || (store[key] = value !== undefined ? value : {});
21606})('versions', []).push({
21607  version: '3.21.1',
21608  mode: IS_PURE ? 'pure' : 'global',
21609  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
21610  license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
21611  source: 'https://github.com/zloirock/core-js'
21612});
21613
21614
21615/***/ }),
21616
21617/***/ 6707:
21618/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21619
21620var anObject = __webpack_require__(9670);
21621var aConstructor = __webpack_require__(9483);
21622var wellKnownSymbol = __webpack_require__(5112);
21623
21624var SPECIES = wellKnownSymbol('species');
21625
21626// `SpeciesConstructor` abstract operation
21627// https://tc39.es/ecma262/#sec-speciesconstructor
21628module.exports = function (O, defaultConstructor) {
21629  var C = anObject(O).constructor;
21630  var S;
21631  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
21632};
21633
21634
21635/***/ }),
21636
21637/***/ 8710:
21638/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21639
21640var uncurryThis = __webpack_require__(1702);
21641var toIntegerOrInfinity = __webpack_require__(9303);
21642var toString = __webpack_require__(1340);
21643var requireObjectCoercible = __webpack_require__(4488);
21644
21645var charAt = uncurryThis(''.charAt);
21646var charCodeAt = uncurryThis(''.charCodeAt);
21647var stringSlice = uncurryThis(''.slice);
21648
21649var createMethod = function (CONVERT_TO_STRING) {
21650  return function ($this, pos) {
21651    var S = toString(requireObjectCoercible($this));
21652    var position = toIntegerOrInfinity(pos);
21653    var size = S.length;
21654    var first, second;
21655    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
21656    first = charCodeAt(S, position);
21657    return first < 0xD800 || first > 0xDBFF || position + 1 === size
21658      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
21659        ? CONVERT_TO_STRING
21660          ? charAt(S, position)
21661          : first
21662        : CONVERT_TO_STRING
21663          ? stringSlice(S, position, position + 2)
21664          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
21665  };
21666};
21667
21668module.exports = {
21669  // `String.prototype.codePointAt` method
21670  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
21671  codeAt: createMethod(false),
21672  // `String.prototype.at` method
21673  // https://github.com/mathiasbynens/String.prototype.at
21674  charAt: createMethod(true)
21675};
21676
21677
21678/***/ }),
21679
21680/***/ 3197:
21681/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21682
21683"use strict";
21684
21685// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
21686var global = __webpack_require__(7854);
21687var uncurryThis = __webpack_require__(1702);
21688
21689var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
21690var base = 36;
21691var tMin = 1;
21692var tMax = 26;
21693var skew = 38;
21694var damp = 700;
21695var initialBias = 72;
21696var initialN = 128; // 0x80
21697var delimiter = '-'; // '\x2D'
21698var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
21699var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
21700var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
21701var baseMinusTMin = base - tMin;
21702
21703var RangeError = global.RangeError;
21704var exec = uncurryThis(regexSeparators.exec);
21705var floor = Math.floor;
21706var fromCharCode = String.fromCharCode;
21707var charCodeAt = uncurryThis(''.charCodeAt);
21708var join = uncurryThis([].join);
21709var push = uncurryThis([].push);
21710var replace = uncurryThis(''.replace);
21711var split = uncurryThis(''.split);
21712var toLowerCase = uncurryThis(''.toLowerCase);
21713
21714/**
21715 * Creates an array containing the numeric code points of each Unicode
21716 * character in the string. While JavaScript uses UCS-2 internally,
21717 * this function will convert a pair of surrogate halves (each of which
21718 * UCS-2 exposes as separate characters) into a single code point,
21719 * matching UTF-16.
21720 */
21721var ucs2decode = function (string) {
21722  var output = [];
21723  var counter = 0;
21724  var length = string.length;
21725  while (counter < length) {
21726    var value = charCodeAt(string, counter++);
21727    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
21728      // It's a high surrogate, and there is a next character.
21729      var extra = charCodeAt(string, counter++);
21730      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
21731        push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
21732      } else {
21733        // It's an unmatched surrogate; only append this code unit, in case the
21734        // next code unit is the high surrogate of a surrogate pair.
21735        push(output, value);
21736        counter--;
21737      }
21738    } else {
21739      push(output, value);
21740    }
21741  }
21742  return output;
21743};
21744
21745/**
21746 * Converts a digit/integer into a basic code point.
21747 */
21748var digitToBasic = function (digit) {
21749  //  0..25 map to ASCII a..z or A..Z
21750  // 26..35 map to ASCII 0..9
21751  return digit + 22 + 75 * (digit < 26);
21752};
21753
21754/**
21755 * Bias adaptation function as per section 3.4 of RFC 3492.
21756 * https://tools.ietf.org/html/rfc3492#section-3.4
21757 */
21758var adapt = function (delta, numPoints, firstTime) {
21759  var k = 0;
21760  delta = firstTime ? floor(delta / damp) : delta >> 1;
21761  delta += floor(delta / numPoints);
21762  while (delta > baseMinusTMin * tMax >> 1) {
21763    delta = floor(delta / baseMinusTMin);
21764    k += base;
21765  }
21766  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
21767};
21768
21769/**
21770 * Converts a string of Unicode symbols (e.g. a domain name label) to a
21771 * Punycode string of ASCII-only symbols.
21772 */
21773var encode = function (input) {
21774  var output = [];
21775
21776  // Convert the input in UCS-2 to an array of Unicode code points.
21777  input = ucs2decode(input);
21778
21779  // Cache the length.
21780  var inputLength = input.length;
21781
21782  // Initialize the state.
21783  var n = initialN;
21784  var delta = 0;
21785  var bias = initialBias;
21786  var i, currentValue;
21787
21788  // Handle the basic code points.
21789  for (i = 0; i < input.length; i++) {
21790    currentValue = input[i];
21791    if (currentValue < 0x80) {
21792      push(output, fromCharCode(currentValue));
21793    }
21794  }
21795
21796  var basicLength = output.length; // number of basic code points.
21797  var handledCPCount = basicLength; // number of code points that have been handled;
21798
21799  // Finish the basic string with a delimiter unless it's empty.
21800  if (basicLength) {
21801    push(output, delimiter);
21802  }
21803
21804  // Main encoding loop:
21805  while (handledCPCount < inputLength) {
21806    // All non-basic code points < n have been handled already. Find the next larger one:
21807    var m = maxInt;
21808    for (i = 0; i < input.length; i++) {
21809      currentValue = input[i];
21810      if (currentValue >= n && currentValue < m) {
21811        m = currentValue;
21812      }
21813    }
21814
21815    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
21816    var handledCPCountPlusOne = handledCPCount + 1;
21817    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
21818      throw RangeError(OVERFLOW_ERROR);
21819    }
21820
21821    delta += (m - n) * handledCPCountPlusOne;
21822    n = m;
21823
21824    for (i = 0; i < input.length; i++) {
21825      currentValue = input[i];
21826      if (currentValue < n && ++delta > maxInt) {
21827        throw RangeError(OVERFLOW_ERROR);
21828      }
21829      if (currentValue == n) {
21830        // Represent delta as a generalized variable-length integer.
21831        var q = delta;
21832        var k = base;
21833        while (true) {
21834          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
21835          if (q < t) break;
21836          var qMinusT = q - t;
21837          var baseMinusT = base - t;
21838          push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
21839          q = floor(qMinusT / baseMinusT);
21840          k += base;
21841        }
21842
21843        push(output, fromCharCode(digitToBasic(q)));
21844        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
21845        delta = 0;
21846        handledCPCount++;
21847      }
21848    }
21849
21850    delta++;
21851    n++;
21852  }
21853  return join(output, '');
21854};
21855
21856module.exports = function (input) {
21857  var encoded = [];
21858  var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.');
21859  var i, label;
21860  for (i = 0; i < labels.length; i++) {
21861    label = labels[i];
21862    push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);
21863  }
21864  return join(encoded, '.');
21865};
21866
21867
21868/***/ }),
21869
21870/***/ 261:
21871/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21872
21873var global = __webpack_require__(7854);
21874var apply = __webpack_require__(2104);
21875var bind = __webpack_require__(9974);
21876var isCallable = __webpack_require__(614);
21877var hasOwn = __webpack_require__(2597);
21878var fails = __webpack_require__(7293);
21879var html = __webpack_require__(490);
21880var arraySlice = __webpack_require__(206);
21881var createElement = __webpack_require__(317);
21882var validateArgumentsLength = __webpack_require__(8053);
21883var IS_IOS = __webpack_require__(6833);
vendor: 7,091 bytes, lines 21884-22158
21884var IS_NODE = __webpack_require__(5268);
21885
21886var set = global.setImmediate;
21887var clear = global.clearImmediate;
21888var process = global.process;
21889var Dispatch = global.Dispatch;
21890var Function = global.Function;
21891var MessageChannel = global.MessageChannel;
21892var String = global.String;
21893var counter = 0;
21894var queue = {};
21895var ONREADYSTATECHANGE = 'onreadystatechange';
21896var location, defer, channel, port;
21897
21898try {
21899  // Deno throws a ReferenceError on `location` access without `--location` flag
21900  location = global.location;
21901} catch (error) { /* empty */ }
21902
21903var run = function (id) {
21904  if (hasOwn(queue, id)) {
21905    var fn = queue[id];
21906    delete queue[id];
21907    fn();
21908  }
21909};
21910
21911var runner = function (id) {
21912  return function () {
21913    run(id);
21914  };
21915};
21916
21917var listener = function (event) {
21918  run(event.data);
21919};
21920
21921var post = function (id) {
21922  // old engines have not location.origin
21923  global.postMessage(String(id), location.protocol + '//' + location.host);
21924};
21925
21926// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
21927if (!set || !clear) {
21928  set = function setImmediate(handler) {
21929    validateArgumentsLength(arguments.length, 1);
21930    var fn = isCallable(handler) ? handler : Function(handler);
21931    var args = arraySlice(arguments, 1);
21932    queue[++counter] = function () {
21933      apply(fn, undefined, args);
21934    };
21935    defer(counter);
21936    return counter;
21937  };
21938  clear = function clearImmediate(id) {
21939    delete queue[id];
21940  };
21941  // Node.js 0.8-
21942  if (IS_NODE) {
21943    defer = function (id) {
21944      process.nextTick(runner(id));
21945    };
21946  // Sphere (JS game engine) Dispatch API
21947  } else if (Dispatch && Dispatch.now) {
21948    defer = function (id) {
21949      Dispatch.now(runner(id));
21950    };
21951  // Browsers with MessageChannel, includes WebWorkers
21952  // except iOS - https://github.com/zloirock/core-js/issues/624
21953  } else if (MessageChannel && !IS_IOS) {
21954    channel = new MessageChannel();
21955    port = channel.port2;
21956    channel.port1.onmessage = listener;
21957    defer = bind(port.postMessage, port);
21958  // Browsers with postMessage, skip WebWorkers
21959  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
21960  } else if (
21961    global.addEventListener &&
21962    isCallable(global.postMessage) &&
21963    !global.importScripts &&
21964    location && location.protocol !== 'file:' &&
21965    !fails(post)
21966  ) {
21967    defer = post;
21968    global.addEventListener('message', listener, false);
21969  // IE8-
21970  } else if (ONREADYSTATECHANGE in createElement('script')) {
21971    defer = function (id) {
21972      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
21973        html.removeChild(this);
21974        run(id);
21975      };
21976    };
21977  // Rest old browsers
21978  } else {
21979    defer = function (id) {
21980      setTimeout(runner(id), 0);
21981    };
21982  }
21983}
21984
21985module.exports = {
21986  set: set,
21987  clear: clear
21988};
21989
21990
21991/***/ }),
21992
21993/***/ 1400:
21994/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
21995
21996var toIntegerOrInfinity = __webpack_require__(9303);
21997
21998var max = Math.max;
21999var min = Math.min;
22000
22001// Helper for a popular repeating case of the spec:
22002// Let integer be ? ToInteger(index).
22003// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
22004module.exports = function (index, length) {
22005  var integer = toIntegerOrInfinity(index);
22006  return integer < 0 ? max(integer + length, 0) : min(integer, length);
22007};
22008
22009
22010/***/ }),
22011
22012/***/ 5656:
22013/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22014
22015// toObject with fallback for non-array-like ES3 strings
22016var IndexedObject = __webpack_require__(8361);
22017var requireObjectCoercible = __webpack_require__(4488);
22018
22019module.exports = function (it) {
22020  return IndexedObject(requireObjectCoercible(it));
22021};
22022
22023
22024/***/ }),
22025
22026/***/ 9303:
22027/***/ (function(module) {
22028
22029var ceil = Math.ceil;
22030var floor = Math.floor;
22031
22032// `ToIntegerOrInfinity` abstract operation
22033// https://tc39.es/ecma262/#sec-tointegerorinfinity
22034module.exports = function (argument) {
22035  var number = +argument;
22036  // eslint-disable-next-line no-self-compare -- safe
22037  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
22038};
22039
22040
22041/***/ }),
22042
22043/***/ 7466:
22044/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22045
22046var toIntegerOrInfinity = __webpack_require__(9303);
22047
22048var min = Math.min;
22049
22050// `ToLength` abstract operation
22051// https://tc39.es/ecma262/#sec-tolength
22052module.exports = function (argument) {
22053  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
22054};
22055
22056
22057/***/ }),
22058
22059/***/ 7908:
22060/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22061
22062var global = __webpack_require__(7854);
22063var requireObjectCoercible = __webpack_require__(4488);
22064
22065var Object = global.Object;
22066
22067// `ToObject` abstract operation
22068// https://tc39.es/ecma262/#sec-toobject
22069module.exports = function (argument) {
22070  return Object(requireObjectCoercible(argument));
22071};
22072
22073
22074/***/ }),
22075
22076/***/ 7593:
22077/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22078
22079var global = __webpack_require__(7854);
22080var call = __webpack_require__(6916);
22081var isObject = __webpack_require__(111);
22082var isSymbol = __webpack_require__(2190);
22083var getMethod = __webpack_require__(8173);
22084var ordinaryToPrimitive = __webpack_require__(2140);
22085var wellKnownSymbol = __webpack_require__(5112);
22086
22087var TypeError = global.TypeError;
22088var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
22089
22090// `ToPrimitive` abstract operation
22091// https://tc39.es/ecma262/#sec-toprimitive
22092module.exports = function (input, pref) {
22093  if (!isObject(input) || isSymbol(input)) return input;
22094  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
22095  var result;
22096  if (exoticToPrim) {
22097    if (pref === undefined) pref = 'default';
22098    result = call(exoticToPrim, input, pref);
22099    if (!isObject(result) || isSymbol(result)) return result;
22100    throw TypeError("Can't convert object to primitive value");
22101  }
22102  if (pref === undefined) pref = 'number';
22103  return ordinaryToPrimitive(input, pref);
22104};
22105
22106
22107/***/ }),
22108
22109/***/ 4948:
22110/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22111
22112var toPrimitive = __webpack_require__(7593);
22113var isSymbol = __webpack_require__(2190);
22114
22115// `ToPropertyKey` abstract operation
22116// https://tc39.es/ecma262/#sec-topropertykey
22117module.exports = function (argument) {
22118  var key = toPrimitive(argument, 'string');
22119  return isSymbol(key) ? key : key + '';
22120};
22121
22122
22123/***/ }),
22124
22125/***/ 1694:
22126/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22127
22128var wellKnownSymbol = __webpack_require__(5112);
22129
22130var TO_STRING_TAG = wellKnownSymbol('toStringTag');
22131var test = {};
22132
22133test[TO_STRING_TAG] = 'z';
22134
22135module.exports = String(test) === '[object z]';
22136
22137
22138/***/ }),
22139
22140/***/ 1340:
22141/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22142
22143var global = __webpack_require__(7854);
22144var classof = __webpack_require__(648);
22145
22146var String = global.String;
22147
22148module.exports = function (argument) {
22149  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
22150  return String(argument);
22151};
22152
22153
22154/***/ }),
22155
22156/***/ 4038:
22157/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22158
vendor: 5,477 bytes, lines 22159-22338
22159var IS_NODE = __webpack_require__(5268);
22160
22161module.exports = function (name) {
22162  try {
22163    // eslint-disable-next-line no-new-func -- safe
22164    if (IS_NODE) return Function('return require("' + name + '")')();
22165  } catch (error) { /* empty */ }
22166};
22167
22168
22169/***/ }),
22170
22171/***/ 6330:
22172/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22173
22174var global = __webpack_require__(7854);
22175
22176var String = global.String;
22177
22178module.exports = function (argument) {
22179  try {
22180    return String(argument);
22181  } catch (error) {
22182    return 'Object';
22183  }
22184};
22185
22186
22187/***/ }),
22188
22189/***/ 9711:
22190/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22191
22192var uncurryThis = __webpack_require__(1702);
22193
22194var id = 0;
22195var postfix = Math.random();
22196var toString = uncurryThis(1.0.toString);
22197
22198module.exports = function (key) {
22199  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
22200};
22201
22202
22203/***/ }),
22204
22205/***/ 3307:
22206/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22207
22208/* eslint-disable es/no-symbol -- required for testing */
22209var NATIVE_SYMBOL = __webpack_require__(133);
22210
22211module.exports = NATIVE_SYMBOL
22212  && !Symbol.sham
22213  && typeof Symbol.iterator == 'symbol';
22214
22215
22216/***/ }),
22217
22218/***/ 3353:
22219/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22220
22221var DESCRIPTORS = __webpack_require__(9781);
22222var fails = __webpack_require__(7293);
22223
22224// V8 ~ Chrome 36-
22225// https://bugs.chromium.org/p/v8/issues/detail?id=3334
22226module.exports = DESCRIPTORS && fails(function () {
22227  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
22228  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
22229    value: 42,
22230    writable: false
22231  }).prototype != 42;
22232});
22233
22234
22235/***/ }),
22236
22237/***/ 8053:
22238/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22239
22240var global = __webpack_require__(7854);
22241
22242var TypeError = global.TypeError;
22243
22244module.exports = function (passed, required) {
22245  if (passed < required) throw TypeError('Not enough arguments');
22246  return passed;
22247};
22248
22249
22250/***/ }),
22251
22252/***/ 5112:
22253/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22254
22255var global = __webpack_require__(7854);
22256var shared = __webpack_require__(2309);
22257var hasOwn = __webpack_require__(2597);
22258var uid = __webpack_require__(9711);
22259var NATIVE_SYMBOL = __webpack_require__(133);
22260var USE_SYMBOL_AS_UID = __webpack_require__(3307);
22261
22262var WellKnownSymbolsStore = shared('wks');
22263var Symbol = global.Symbol;
22264var symbolFor = Symbol && Symbol['for'];
22265var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
22266
22267module.exports = function (name) {
22268  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
22269    var description = 'Symbol.' + name;
22270    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
22271      WellKnownSymbolsStore[name] = Symbol[name];
22272    } else if (USE_SYMBOL_AS_UID && symbolFor) {
22273      WellKnownSymbolsStore[name] = symbolFor(description);
22274    } else {
22275      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
22276    }
22277  } return WellKnownSymbolsStore[name];
22278};
22279
22280
22281/***/ }),
22282
22283/***/ 9170:
22284/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22285
22286"use strict";
22287
22288var $ = __webpack_require__(2109);
22289var global = __webpack_require__(7854);
22290var isPrototypeOf = __webpack_require__(7976);
22291var getPrototypeOf = __webpack_require__(9518);
22292var setPrototypeOf = __webpack_require__(7674);
22293var copyConstructorProperties = __webpack_require__(9920);
22294var create = __webpack_require__(30);
22295var createNonEnumerableProperty = __webpack_require__(8880);
22296var createPropertyDescriptor = __webpack_require__(9114);
22297var clearErrorStack = __webpack_require__(7741);
22298var installErrorCause = __webpack_require__(8340);
22299var iterate = __webpack_require__(408);
22300var normalizeStringArgument = __webpack_require__(6277);
22301var wellKnownSymbol = __webpack_require__(5112);
22302var ERROR_STACK_INSTALLABLE = __webpack_require__(2914);
22303
22304var TO_STRING_TAG = wellKnownSymbol('toStringTag');
22305var Error = global.Error;
22306var push = [].push;
22307
22308var $AggregateError = function AggregateError(errors, message /* , options */) {
22309  var options = arguments.length > 2 ? arguments[2] : undefined;
22310  var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
22311  var that;
22312  if (setPrototypeOf) {
22313    that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
22314  } else {
22315    that = isInstance ? this : create(AggregateErrorPrototype);
22316    createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
22317  }
22318  if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
22319  if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
22320  installErrorCause(that, options);
22321  var errorsArray = [];
22322  iterate(errors, push, { that: errorsArray });
22323  createNonEnumerableProperty(that, 'errors', errorsArray);
22324  return that;
22325};
22326
22327if (setPrototypeOf) setPrototypeOf($AggregateError, Error);
22328else copyConstructorProperties($AggregateError, Error, { name: true });
22329
22330var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
22331  constructor: createPropertyDescriptor(1, $AggregateError),
22332  message: createPropertyDescriptor(1, ''),
22333  name: createPropertyDescriptor(1, 'AggregateError')
22334});
22335
22336// `AggregateError` constructor
22337// https://tc39.es/ecma262/#sec-aggregate-error-constructor
22338$({ global: true }, {
vendor: 5,183 bytes, lines 22339-22498
22339  AggregateError: $AggregateError
22340});
22341
22342
22343/***/ }),
22344
22345/***/ 6992:
22346/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22347
22348"use strict";
22349
22350var toIndexedObject = __webpack_require__(5656);
22351var addToUnscopables = __webpack_require__(1223);
22352var Iterators = __webpack_require__(7497);
22353var InternalStateModule = __webpack_require__(9909);
22354var defineProperty = (__webpack_require__(3070).f);
22355var defineIterator = __webpack_require__(654);
22356var IS_PURE = __webpack_require__(1913);
22357var DESCRIPTORS = __webpack_require__(9781);
22358
22359var ARRAY_ITERATOR = 'Array Iterator';
22360var setInternalState = InternalStateModule.set;
22361var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
22362
22363// `Array.prototype.entries` method
22364// https://tc39.es/ecma262/#sec-array.prototype.entries
22365// `Array.prototype.keys` method
22366// https://tc39.es/ecma262/#sec-array.prototype.keys
22367// `Array.prototype.values` method
22368// https://tc39.es/ecma262/#sec-array.prototype.values
22369// `Array.prototype[@@iterator]` method
22370// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
22371// `CreateArrayIterator` internal method
22372// https://tc39.es/ecma262/#sec-createarrayiterator
22373module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
22374  setInternalState(this, {
22375    type: ARRAY_ITERATOR,
22376    target: toIndexedObject(iterated), // target
22377    index: 0,                          // next index
22378    kind: kind                         // kind
22379  });
22380// `%ArrayIteratorPrototype%.next` method
22381// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
22382}, function () {
22383  var state = getInternalState(this);
22384  var target = state.target;
22385  var kind = state.kind;
22386  var index = state.index++;
22387  if (!target || index >= target.length) {
22388    state.target = undefined;
22389    return { value: undefined, done: true };
22390  }
22391  if (kind == 'keys') return { value: index, done: false };
22392  if (kind == 'values') return { value: target[index], done: false };
22393  return { value: [index, target[index]], done: false };
22394}, 'values');
22395
22396// argumentsList[@@iterator] is %ArrayProto_values%
22397// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
22398// https://tc39.es/ecma262/#sec-createmappedargumentsobject
22399var values = Iterators.Arguments = Iterators.Array;
22400
22401// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
22402addToUnscopables('keys');
22403addToUnscopables('values');
22404addToUnscopables('entries');
22405
22406// V8 ~ Chrome 45- bug
22407if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
22408  defineProperty(values, 'name', { value: 'values' });
22409} catch (error) { /* empty */ }
22410
22411
22412/***/ }),
22413
22414/***/ 1539:
22415/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22416
22417var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
22418var redefine = __webpack_require__(1320);
22419var toString = __webpack_require__(288);
22420
22421// `Object.prototype.toString` method
22422// https://tc39.es/ecma262/#sec-object.prototype.tostring
22423if (!TO_STRING_TAG_SUPPORT) {
22424  redefine(Object.prototype, 'toString', toString, { unsafe: true });
22425}
22426
22427
22428/***/ }),
22429
22430/***/ 7922:
22431/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22432
22433"use strict";
22434
22435var $ = __webpack_require__(2109);
22436var call = __webpack_require__(6916);
22437var aCallable = __webpack_require__(9662);
22438var newPromiseCapabilityModule = __webpack_require__(8523);
22439var perform = __webpack_require__(2534);
22440var iterate = __webpack_require__(408);
22441
22442// `Promise.allSettled` method
22443// https://tc39.es/ecma262/#sec-promise.allsettled
22444$({ target: 'Promise', stat: true }, {
22445  allSettled: function allSettled(iterable) {
22446    var C = this;
22447    var capability = newPromiseCapabilityModule.f(C);
22448    var resolve = capability.resolve;
22449    var reject = capability.reject;
22450    var result = perform(function () {
22451      var promiseResolve = aCallable(C.resolve);
22452      var values = [];
22453      var counter = 0;
22454      var remaining = 1;
22455      iterate(iterable, function (promise) {
22456        var index = counter++;
22457        var alreadyCalled = false;
22458        remaining++;
22459        call(promiseResolve, C, promise).then(function (value) {
22460          if (alreadyCalled) return;
22461          alreadyCalled = true;
22462          values[index] = { status: 'fulfilled', value: value };
22463          --remaining || resolve(values);
22464        }, function (error) {
22465          if (alreadyCalled) return;
22466          alreadyCalled = true;
22467          values[index] = { status: 'rejected', reason: error };
22468          --remaining || resolve(values);
22469        });
22470      });
22471      --remaining || resolve(values);
22472    });
22473    if (result.error) reject(result.value);
22474    return capability.promise;
22475  }
22476});
22477
22478
22479/***/ }),
22480
22481/***/ 4668:
22482/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22483
22484"use strict";
22485
22486var $ = __webpack_require__(2109);
22487var aCallable = __webpack_require__(9662);
22488var getBuiltIn = __webpack_require__(5005);
22489var call = __webpack_require__(6916);
22490var newPromiseCapabilityModule = __webpack_require__(8523);
22491var perform = __webpack_require__(2534);
22492var iterate = __webpack_require__(408);
22493
22494var PROMISE_ANY_ERROR = 'No one promise resolved';
22495
22496// `Promise.any` method
22497// https://tc39.es/ecma262/#sec-promise.any
22498$({ target: 'Promise', stat: true }, {
vendor: 2,265 bytes, lines 22499-22561
22499  any: function any(iterable) {
22500    var C = this;
22501    var AggregateError = getBuiltIn('AggregateError');
22502    var capability = newPromiseCapabilityModule.f(C);
22503    var resolve = capability.resolve;
22504    var reject = capability.reject;
22505    var result = perform(function () {
22506      var promiseResolve = aCallable(C.resolve);
22507      var errors = [];
22508      var counter = 0;
22509      var remaining = 1;
22510      var alreadyResolved = false;
22511      iterate(iterable, function (promise) {
22512        var index = counter++;
22513        var alreadyRejected = false;
22514        remaining++;
22515        call(promiseResolve, C, promise).then(function (value) {
22516          if (alreadyRejected || alreadyResolved) return;
22517          alreadyResolved = true;
22518          resolve(value);
22519        }, function (error) {
22520          if (alreadyRejected || alreadyResolved) return;
22521          alreadyRejected = true;
22522          errors[index] = error;
22523          --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
22524        });
22525      });
22526      --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));
22527    });
22528    if (result.error) reject(result.value);
22529    return capability.promise;
22530  }
22531});
22532
22533
22534/***/ }),
22535
22536/***/ 7727:
22537/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22538
22539"use strict";
22540
22541var $ = __webpack_require__(2109);
22542var IS_PURE = __webpack_require__(1913);
22543var NativePromise = __webpack_require__(3366);
22544var fails = __webpack_require__(7293);
22545var getBuiltIn = __webpack_require__(5005);
22546var isCallable = __webpack_require__(614);
22547var speciesConstructor = __webpack_require__(6707);
22548var promiseResolve = __webpack_require__(9478);
22549var redefine = __webpack_require__(1320);
22550
22551// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
22552var NON_GENERIC = !!NativePromise && fails(function () {
22553  // eslint-disable-next-line unicorn/no-thenable -- required for testing
22554  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
22555});
22556
22557// `Promise.prototype.finally` method
22558// https://tc39.es/ecma262/#sec-promise.prototype.finally
22559$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {
22560  'finally': function (onFinally) {
22561    var C = speciesConstructor(this, getBuiltIn('Promise'));
vendor: 4,187 bytes, lines 22562-22663
22562    var isFunction = isCallable(onFinally);
22563    return this.then(
22564      isFunction ? function (x) {
22565        return promiseResolve(C, onFinally()).then(function () { return x; });
22566      } : onFinally,
22567      isFunction ? function (e) {
22568        return promiseResolve(C, onFinally()).then(function () { throw e; });
22569      } : onFinally
22570    );
22571  }
22572});
22573
22574// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`
22575if (!IS_PURE && isCallable(NativePromise)) {
22576  var method = getBuiltIn('Promise').prototype['finally'];
22577  if (NativePromise.prototype['finally'] !== method) {
22578    redefine(NativePromise.prototype, 'finally', method, { unsafe: true });
22579  }
22580}
22581
22582
22583/***/ }),
22584
22585/***/ 8674:
22586/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22587
22588"use strict";
22589
22590var $ = __webpack_require__(2109);
22591var IS_PURE = __webpack_require__(1913);
22592var global = __webpack_require__(7854);
22593var getBuiltIn = __webpack_require__(5005);
22594var call = __webpack_require__(6916);
22595var NativePromise = __webpack_require__(3366);
22596var redefine = __webpack_require__(1320);
22597var redefineAll = __webpack_require__(2248);
22598var setPrototypeOf = __webpack_require__(7674);
22599var setToStringTag = __webpack_require__(8003);
22600var setSpecies = __webpack_require__(6340);
22601var aCallable = __webpack_require__(9662);
22602var isCallable = __webpack_require__(614);
22603var isObject = __webpack_require__(111);
22604var anInstance = __webpack_require__(5787);
22605var inspectSource = __webpack_require__(2788);
22606var iterate = __webpack_require__(408);
22607var checkCorrectnessOfIteration = __webpack_require__(7072);
22608var speciesConstructor = __webpack_require__(6707);
22609var task = (__webpack_require__(261).set);
22610var microtask = __webpack_require__(5948);
22611var promiseResolve = __webpack_require__(9478);
22612var hostReportErrors = __webpack_require__(842);
22613var newPromiseCapabilityModule = __webpack_require__(8523);
22614var perform = __webpack_require__(2534);
22615var Queue = __webpack_require__(8572);
22616var InternalStateModule = __webpack_require__(9909);
22617var isForced = __webpack_require__(4705);
22618var wellKnownSymbol = __webpack_require__(5112);
22619var IS_BROWSER = __webpack_require__(7871);
22620var IS_NODE = __webpack_require__(5268);
22621var V8_VERSION = __webpack_require__(7392);
22622
22623var SPECIES = wellKnownSymbol('species');
22624var PROMISE = 'Promise';
22625
22626var getInternalState = InternalStateModule.getterFor(PROMISE);
22627var setInternalState = InternalStateModule.set;
22628var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
22629var NativePromisePrototype = NativePromise && NativePromise.prototype;
22630var PromiseConstructor = NativePromise;
22631var PromisePrototype = NativePromisePrototype;
22632var TypeError = global.TypeError;
22633var document = global.document;
22634var process = global.process;
22635var newPromiseCapability = newPromiseCapabilityModule.f;
22636var newGenericPromiseCapability = newPromiseCapability;
22637
22638var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
22639var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);
22640var UNHANDLED_REJECTION = 'unhandledrejection';
22641var REJECTION_HANDLED = 'rejectionhandled';
22642var PENDING = 0;
22643var FULFILLED = 1;
22644var REJECTED = 2;
22645var HANDLED = 1;
22646var UNHANDLED = 2;
22647var SUBCLASSING = false;
22648
22649var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
22650
22651var FORCED = isForced(PROMISE, function () {
22652  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
22653  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
22654  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
22655  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
22656  // We can't detect it synchronously, so just check versions
22657  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;
22658  // We need Promise#finally in the pure version for preventing prototype pollution
22659  if (IS_PURE && !PromisePrototype['finally']) return true;
22660  // We can't use @@species feature detection in V8 since it causes
22661  // deoptimization and performance degradation
22662  // https://github.com/zloirock/core-js/issues/679
22663  if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;
vendor: 12,088 bytes, lines 22664-23048
22664  // Detect correctness of subclassing with @@species support
22665  var promise = new PromiseConstructor(function (resolve) { resolve(1); });
22666  var FakePromise = function (exec) {
22667    exec(function () { /* empty */ }, function () { /* empty */ });
22668  };
22669  var constructor = promise.constructor = {};
22670  constructor[SPECIES] = FakePromise;
22671  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
22672  if (!SUBCLASSING) return true;
22673  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
22674  return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;
22675});
22676
22677var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
22678  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
22679});
22680
22681// helpers
22682var isThenable = function (it) {
22683  var then;
22684  return isObject(it) && isCallable(then = it.then) ? then : false;
22685};
22686
22687var callReaction = function (reaction, state) {
22688  var value = state.value;
22689  var ok = state.state == FULFILLED;
22690  var handler = ok ? reaction.ok : reaction.fail;
22691  var resolve = reaction.resolve;
22692  var reject = reaction.reject;
22693  var domain = reaction.domain;
22694  var result, then, exited;
22695  try {
22696    if (handler) {
22697      if (!ok) {
22698        if (state.rejection === UNHANDLED) onHandleUnhandled(state);
22699        state.rejection = HANDLED;
22700      }
22701      if (handler === true) result = value;
22702      else {
22703        if (domain) domain.enter();
22704        result = handler(value); // can throw
22705        if (domain) {
22706          domain.exit();
22707          exited = true;
22708        }
22709      }
22710      if (result === reaction.promise) {
22711        reject(TypeError('Promise-chain cycle'));
22712      } else if (then = isThenable(result)) {
22713        call(then, result, resolve, reject);
22714      } else resolve(result);
22715    } else reject(value);
22716  } catch (error) {
22717    if (domain && !exited) domain.exit();
22718    reject(error);
22719  }
22720};
22721
22722var notify = function (state, isReject) {
22723  if (state.notified) return;
22724  state.notified = true;
22725  microtask(function () {
22726    var reactions = state.reactions;
22727    var reaction;
22728    while (reaction = reactions.get()) {
22729      callReaction(reaction, state);
22730    }
22731    state.notified = false;
22732    if (isReject && !state.rejection) onUnhandled(state);
22733  });
22734};
22735
22736var dispatchEvent = function (name, promise, reason) {
22737  var event, handler;
22738  if (DISPATCH_EVENT) {
22739    event = document.createEvent('Event');
22740    event.promise = promise;
22741    event.reason = reason;
22742    event.initEvent(name, false, true);
22743    global.dispatchEvent(event);
22744  } else event = { promise: promise, reason: reason };
22745  if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
22746  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
22747};
22748
22749var onUnhandled = function (state) {
22750  call(task, global, function () {
22751    var promise = state.facade;
22752    var value = state.value;
22753    var IS_UNHANDLED = isUnhandled(state);
22754    var result;
22755    if (IS_UNHANDLED) {
22756      result = perform(function () {
22757        if (IS_NODE) {
22758          process.emit('unhandledRejection', value, promise);
22759        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
22760      });
22761      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
22762      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
22763      if (result.error) throw result.value;
22764    }
22765  });
22766};
22767
22768var isUnhandled = function (state) {
22769  return state.rejection !== HANDLED && !state.parent;
22770};
22771
22772var onHandleUnhandled = function (state) {
22773  call(task, global, function () {
22774    var promise = state.facade;
22775    if (IS_NODE) {
22776      process.emit('rejectionHandled', promise);
22777    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
22778  });
22779};
22780
22781var bind = function (fn, state, unwrap) {
22782  return function (value) {
22783    fn(state, value, unwrap);
22784  };
22785};
22786
22787var internalReject = function (state, value, unwrap) {
22788  if (state.done) return;
22789  state.done = true;
22790  if (unwrap) state = unwrap;
22791  state.value = value;
22792  state.state = REJECTED;
22793  notify(state, true);
22794};
22795
22796var internalResolve = function (state, value, unwrap) {
22797  if (state.done) return;
22798  state.done = true;
22799  if (unwrap) state = unwrap;
22800  try {
22801    if (state.facade === value) throw TypeError("Promise can't be resolved itself");
22802    var then = isThenable(value);
22803    if (then) {
22804      microtask(function () {
22805        var wrapper = { done: false };
22806        try {
22807          call(then, value,
22808            bind(internalResolve, wrapper, state),
22809            bind(internalReject, wrapper, state)
22810          );
22811        } catch (error) {
22812          internalReject(wrapper, error, state);
22813        }
22814      });
22815    } else {
22816      state.value = value;
22817      state.state = FULFILLED;
22818      notify(state, false);
22819    }
22820  } catch (error) {
22821    internalReject({ done: false }, error, state);
22822  }
22823};
22824
22825// constructor polyfill
22826if (FORCED) {
22827  // 25.4.3.1 Promise(executor)
22828  PromiseConstructor = function Promise(executor) {
22829    anInstance(this, PromisePrototype);
22830    aCallable(executor);
22831    call(Internal, this);
22832    var state = getInternalState(this);
22833    try {
22834      executor(bind(internalResolve, state), bind(internalReject, state));
22835    } catch (error) {
22836      internalReject(state, error);
22837    }
22838  };
22839  PromisePrototype = PromiseConstructor.prototype;
22840  // eslint-disable-next-line no-unused-vars -- required for `.length`
22841  Internal = function Promise(executor) {
22842    setInternalState(this, {
22843      type: PROMISE,
22844      done: false,
22845      notified: false,
22846      parent: false,
22847      reactions: new Queue(),
22848      rejection: false,
22849      state: PENDING,
22850      value: undefined
22851    });
22852  };
22853  Internal.prototype = redefineAll(PromisePrototype, {
22854    // `Promise.prototype.then` method
22855    // https://tc39.es/ecma262/#sec-promise.prototype.then
22856    // eslint-disable-next-line unicorn/no-thenable -- safe
22857    then: function then(onFulfilled, onRejected) {
22858      var state = getInternalPromiseState(this);
22859      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
22860      state.parent = true;
22861      reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
22862      reaction.fail = isCallable(onRejected) && onRejected;
22863      reaction.domain = IS_NODE ? process.domain : undefined;
22864      if (state.state == PENDING) state.reactions.add(reaction);
22865      else microtask(function () {
22866        callReaction(reaction, state);
22867      });
22868      return reaction.promise;
22869    },
22870    // `Promise.prototype.catch` method
22871    // https://tc39.es/ecma262/#sec-promise.prototype.catch
22872    'catch': function (onRejected) {
22873      return this.then(undefined, onRejected);
22874    }
22875  });
22876  OwnPromiseCapability = function () {
22877    var promise = new Internal();
22878    var state = getInternalState(promise);
22879    this.promise = promise;
22880    this.resolve = bind(internalResolve, state);
22881    this.reject = bind(internalReject, state);
22882  };
22883  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
22884    return C === PromiseConstructor || C === PromiseWrapper
22885      ? new OwnPromiseCapability(C)
22886      : newGenericPromiseCapability(C);
22887  };
22888
22889  if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {
22890    nativeThen = NativePromisePrototype.then;
22891
22892    if (!SUBCLASSING) {
22893      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
22894      redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
22895        var that = this;
22896        return new PromiseConstructor(function (resolve, reject) {
22897          call(nativeThen, that, resolve, reject);
22898        }).then(onFulfilled, onRejected);
22899      // https://github.com/zloirock/core-js/issues/640
22900      }, { unsafe: true });
22901
22902      // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
22903      redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
22904    }
22905
22906    // make `.constructor === Promise` work for native promise-based APIs
22907    try {
22908      delete NativePromisePrototype.constructor;
22909    } catch (error) { /* empty */ }
22910
22911    // make `instanceof Promise` work for native promise-based APIs
22912    if (setPrototypeOf) {
22913      setPrototypeOf(NativePromisePrototype, PromisePrototype);
22914    }
22915  }
22916}
22917
22918$({ global: true, wrap: true, forced: FORCED }, {
22919  Promise: PromiseConstructor
22920});
22921
22922setToStringTag(PromiseConstructor, PROMISE, false, true);
22923setSpecies(PROMISE);
22924
22925PromiseWrapper = getBuiltIn(PROMISE);
22926
22927// statics
22928$({ target: PROMISE, stat: true, forced: FORCED }, {
22929  // `Promise.reject` method
22930  // https://tc39.es/ecma262/#sec-promise.reject
22931  reject: function reject(r) {
22932    var capability = newPromiseCapability(this);
22933    call(capability.reject, undefined, r);
22934    return capability.promise;
22935  }
22936});
22937
22938$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
22939  // `Promise.resolve` method
22940  // https://tc39.es/ecma262/#sec-promise.resolve
22941  resolve: function resolve(x) {
22942    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
22943  }
22944});
22945
22946$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
22947  // `Promise.all` method
22948  // https://tc39.es/ecma262/#sec-promise.all
22949  all: function all(iterable) {
22950    var C = this;
22951    var capability = newPromiseCapability(C);
22952    var resolve = capability.resolve;
22953    var reject = capability.reject;
22954    var result = perform(function () {
22955      var $promiseResolve = aCallable(C.resolve);
22956      var values = [];
22957      var counter = 0;
22958      var remaining = 1;
22959      iterate(iterable, function (promise) {
22960        var index = counter++;
22961        var alreadyCalled = false;
22962        remaining++;
22963        call($promiseResolve, C, promise).then(function (value) {
22964          if (alreadyCalled) return;
22965          alreadyCalled = true;
22966          values[index] = value;
22967          --remaining || resolve(values);
22968        }, reject);
22969      });
22970      --remaining || resolve(values);
22971    });
22972    if (result.error) reject(result.value);
22973    return capability.promise;
22974  },
22975  // `Promise.race` method
22976  // https://tc39.es/ecma262/#sec-promise.race
22977  race: function race(iterable) {
22978    var C = this;
22979    var capability = newPromiseCapability(C);
22980    var reject = capability.reject;
22981    var result = perform(function () {
22982      var $promiseResolve = aCallable(C.resolve);
22983      iterate(iterable, function (promise) {
22984        call($promiseResolve, C, promise).then(capability.resolve, reject);
22985      });
22986    });
22987    if (result.error) reject(result.value);
22988    return capability.promise;
22989  }
22990});
22991
22992
22993/***/ }),
22994
22995/***/ 8783:
22996/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
22997
22998"use strict";
22999
23000var charAt = (__webpack_require__(8710).charAt);
23001var toString = __webpack_require__(1340);
23002var InternalStateModule = __webpack_require__(9909);
23003var defineIterator = __webpack_require__(654);
23004
23005var STRING_ITERATOR = 'String Iterator';
23006var setInternalState = InternalStateModule.set;
23007var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
23008
23009// `String.prototype[@@iterator]` method
23010// https://tc39.es/ecma262/#sec-string.prototype-@@iterator
23011defineIterator(String, 'String', function (iterated) {
23012  setInternalState(this, {
23013    type: STRING_ITERATOR,
23014    string: toString(iterated),
23015    index: 0
23016  });
23017// `%StringIteratorPrototype%.next` method
23018// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
23019}, function next() {
23020  var state = getInternalState(this);
23021  var string = state.string;
23022  var index = state.index;
23023  var point;
23024  if (index >= string.length) return { value: undefined, done: true };
23025  point = charAt(string, index);
23026  state.index += point.length;
23027  return { value: point, done: false };
23028});
23029
23030
23031/***/ }),
23032
23033/***/ 8628:
23034/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23035
23036// TODO: Remove from `core-js@4`
23037__webpack_require__(9170);
23038
23039
23040/***/ }),
23041
23042/***/ 7314:
23043/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23044
23045// TODO: Remove from `core-js@4`
23046__webpack_require__(7922);
23047
23048
vendor: 4,402 bytes, lines 23049-23191
23049/***/ }),
23050
23051/***/ 6290:
23052/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23053
23054// TODO: Remove from `core-js@4`
23055__webpack_require__(4668);
23056
23057
23058/***/ }),
23059
23060/***/ 4850:
23061/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23062
23063"use strict";
23064
23065var $ = __webpack_require__(2109);
23066var newPromiseCapabilityModule = __webpack_require__(8523);
23067var perform = __webpack_require__(2534);
23068
23069// `Promise.try` method
23070// https://github.com/tc39/proposal-promise-try
23071$({ target: 'Promise', stat: true, forced: true }, {
23072  'try': function (callbackfn) {
23073    var promiseCapability = newPromiseCapabilityModule.f(this);
23074    var result = perform(callbackfn);
23075    (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
23076    return promiseCapability.promise;
23077  }
23078});
23079
23080
23081/***/ }),
23082
23083/***/ 5505:
23084/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23085
23086var $ = __webpack_require__(2109);
23087var getBuiltIn = __webpack_require__(5005);
23088var uncurryThis = __webpack_require__(1702);
23089var fails = __webpack_require__(7293);
23090var toString = __webpack_require__(1340);
23091var hasOwn = __webpack_require__(2597);
23092var validateArgumentsLength = __webpack_require__(8053);
23093var ctoi = (__webpack_require__(4170).ctoi);
23094
23095var disallowed = /[^\d+/a-z]/i;
23096var whitespaces = /[\t\n\f\r ]+/g;
23097var finalEq = /[=]+$/;
23098
23099var $atob = getBuiltIn('atob');
23100var fromCharCode = String.fromCharCode;
23101var charAt = uncurryThis(''.charAt);
23102var replace = uncurryThis(''.replace);
23103var exec = uncurryThis(disallowed.exec);
23104
23105var NO_SPACES_IGNORE = fails(function () {
23106  return atob(' ') !== '';
23107});
23108
23109var NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !fails(function () {
23110  $atob();
23111});
23112
23113// `atob` method
23114// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob
23115$({ global: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ARG_RECEIVING_CHECK }, {
23116  atob: function atob(data) {
23117    validateArgumentsLength(arguments.length, 1);
23118    if (NO_ARG_RECEIVING_CHECK) return $atob(data);
23119    var string = replace(toString(data), whitespaces, '');
23120    var output = '';
23121    var position = 0;
23122    var bc = 0;
23123    var chr, bs;
23124    if (string.length % 4 == 0) {
23125      string = replace(string, finalEq, '');
23126    }
23127    if (string.length % 4 == 1 || exec(disallowed, string)) {
23128      throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');
23129    }
23130    while (chr = charAt(string, position++)) {
23131      if (hasOwn(ctoi, chr)) {
23132        bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr];
23133        if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));
23134      }
23135    } return output;
23136  }
23137});
23138
23139
23140/***/ }),
23141
23142/***/ 7479:
23143/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23144
23145var $ = __webpack_require__(2109);
23146var getBuiltIn = __webpack_require__(5005);
23147var uncurryThis = __webpack_require__(1702);
23148var fails = __webpack_require__(7293);
23149var toString = __webpack_require__(1340);
23150var validateArgumentsLength = __webpack_require__(8053);
23151var itoc = (__webpack_require__(4170).itoc);
23152
23153var $btoa = getBuiltIn('btoa');
23154var charAt = uncurryThis(''.charAt);
23155var charCodeAt = uncurryThis(''.charCodeAt);
23156
23157var NO_ARG_RECEIVING_CHECK = !!$btoa && !fails(function () {
23158  $btoa();
23159});
23160
23161// `btoa` method
23162// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa
23163$({ global: true, enumerable: true, forced: NO_ARG_RECEIVING_CHECK }, {
23164  btoa: function btoa(data) {
23165    validateArgumentsLength(arguments.length, 1);
23166    if (NO_ARG_RECEIVING_CHECK) return $btoa(data);
23167    var string = toString(data);
23168    var output = '';
23169    var position = 0;
23170    var map = itoc;
23171    var block, charCode;
23172    while (charAt(string, position) || (map = '=', position % 1)) {
23173      charCode = charCodeAt(string, position += 3 / 4);
23174      if (charCode > 0xFF) {
23175        throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError');
23176      }
23177      block = block << 8 | charCode;
23178      output += charAt(map, 63 & block >> 8 - position % 1 * 8);
23179    } return output;
23180  }
23181});
23182
23183
23184/***/ }),
23185
23186/***/ 4747:
23187/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23188
23189var global = __webpack_require__(7854);
23190var DOMIterables = __webpack_require__(8324);
23191var DOMTokenListPrototype = __webpack_require__(8509);
vendor: 9,155 bytes, lines 23192-23434
23192var forEach = __webpack_require__(8533);
23193var createNonEnumerableProperty = __webpack_require__(8880);
23194
23195var handlePrototype = function (CollectionPrototype) {
23196  // some Chrome versions have non-configurable methods on DOMTokenList
23197  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
23198    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
23199  } catch (error) {
23200    CollectionPrototype.forEach = forEach;
23201  }
23202};
23203
23204for (var COLLECTION_NAME in DOMIterables) {
23205  if (DOMIterables[COLLECTION_NAME]) {
23206    handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);
23207  }
23208}
23209
23210handlePrototype(DOMTokenListPrototype);
23211
23212
23213/***/ }),
23214
23215/***/ 3948:
23216/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23217
23218var global = __webpack_require__(7854);
23219var DOMIterables = __webpack_require__(8324);
23220var DOMTokenListPrototype = __webpack_require__(8509);
23221var ArrayIteratorMethods = __webpack_require__(6992);
23222var createNonEnumerableProperty = __webpack_require__(8880);
23223var wellKnownSymbol = __webpack_require__(5112);
23224
23225var ITERATOR = wellKnownSymbol('iterator');
23226var TO_STRING_TAG = wellKnownSymbol('toStringTag');
23227var ArrayValues = ArrayIteratorMethods.values;
23228
23229var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
23230  if (CollectionPrototype) {
23231    // some Chrome versions have non-configurable methods on DOMTokenList
23232    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
23233      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
23234    } catch (error) {
23235      CollectionPrototype[ITERATOR] = ArrayValues;
23236    }
23237    if (!CollectionPrototype[TO_STRING_TAG]) {
23238      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
23239    }
23240    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
23241      // some Chrome versions have non-configurable methods on DOMTokenList
23242      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
23243        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
23244      } catch (error) {
23245        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
23246      }
23247    }
23248  }
23249};
23250
23251for (var COLLECTION_NAME in DOMIterables) {
23252  handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);
23253}
23254
23255handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
23256
23257
23258/***/ }),
23259
23260/***/ 7714:
23261/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23262
23263"use strict";
23264
23265var $ = __webpack_require__(2109);
23266var tryNodeRequire = __webpack_require__(4038);
23267var getBuiltIn = __webpack_require__(5005);
23268var fails = __webpack_require__(7293);
23269var create = __webpack_require__(30);
23270var createPropertyDescriptor = __webpack_require__(9114);
23271var defineProperty = (__webpack_require__(3070).f);
23272var defineProperties = (__webpack_require__(6048).f);
23273var redefine = __webpack_require__(1320);
23274var hasOwn = __webpack_require__(2597);
23275var anInstance = __webpack_require__(5787);
23276var anObject = __webpack_require__(9670);
23277var errorToString = __webpack_require__(7762);
23278var normalizeStringArgument = __webpack_require__(6277);
23279var DOMExceptionConstants = __webpack_require__(3678);
23280var clearErrorStack = __webpack_require__(7741);
23281var InternalStateModule = __webpack_require__(9909);
23282var DESCRIPTORS = __webpack_require__(9781);
23283var IS_PURE = __webpack_require__(1913);
23284
23285var DOM_EXCEPTION = 'DOMException';
23286var DATA_CLONE_ERR = 'DATA_CLONE_ERR';
23287var Error = getBuiltIn('Error');
23288// NodeJS < 17.0 does not expose `DOMException` to global
23289var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {
23290  try {
23291    // NodeJS < 15.0 does not expose `MessageChannel` to global
23292    var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel;
23293    // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe
23294    new MessageChannel().port1.postMessage(new WeakMap());
23295  } catch (error) {
23296    if (error.name == DATA_CLONE_ERR && error.code == 25) return error.constructor;
23297  }
23298})();
23299var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype;
23300var ErrorPrototype = Error.prototype;
23301var setInternalState = InternalStateModule.set;
23302var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION);
23303var HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
23304
23305var codeFor = function (name) {
23306  return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0;
23307};
23308
23309var $DOMException = function DOMException() {
23310  anInstance(this, DOMExceptionPrototype);
23311  var argumentsLength = arguments.length;
23312  var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
23313  var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
23314  var code = codeFor(name);
23315  setInternalState(this, {
23316    type: DOM_EXCEPTION,
23317    name: name,
23318    message: message,
23319    code: code
23320  });
23321  if (!DESCRIPTORS) {
23322    this.name = name;
23323    this.message = message;
23324    this.code = code;
23325  }
23326  if (HAS_STACK) {
23327    var error = Error(message);
23328    error.name = DOM_EXCEPTION;
23329    defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
23330  }
23331};
23332
23333var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype);
23334
23335var createGetterDescriptor = function (get) {
23336  return { enumerable: true, configurable: true, get: get };
23337};
23338
23339var getterFor = function (key) {
23340  return createGetterDescriptor(function () {
23341    return getInternalState(this)[key];
23342  });
23343};
23344
23345if (DESCRIPTORS) defineProperties(DOMExceptionPrototype, {
23346  name: getterFor('name'),
23347  message: getterFor('message'),
23348  code: getterFor('code')
23349});
23350
23351defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));
23352
23353// FF36- DOMException is a function, but can't be constructed
23354var INCORRECT_CONSTRUCTOR = fails(function () {
23355  return !(new NativeDOMException() instanceof Error);
23356});
23357
23358// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs
23359var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () {
23360  return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1';
23361});
23362
23363// Deno 1.6.3- DOMException.prototype.code just missed
23364var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () {
23365  return new NativeDOMException(1, 'DataCloneError').code !== 25;
23366});
23367
23368// Deno 1.6.3- DOMException constants just missed
23369var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR
23370  || NativeDOMException[DATA_CLONE_ERR] !== 25
23371  || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25;
23372
23373var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR;
23374
23375// `DOMException` constructor
23376// https://webidl.spec.whatwg.org/#idl-DOMException
23377$({ global: true, forced: FORCED_CONSTRUCTOR }, {
23378  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
23379});
23380
23381var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
23382var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
23383
23384if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {
23385  redefine(PolyfilledDOMExceptionPrototype, 'toString', errorToString);
23386}
23387
23388if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {
23389  defineProperty(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {
23390    return codeFor(anObject(this).name);
23391  }));
23392}
23393
23394for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
23395  var constant = DOMExceptionConstants[key];
23396  var constantName = constant.s;
23397  var descriptor = createPropertyDescriptor(6, constant.c);
23398  if (!hasOwn(PolyfilledDOMException, constantName)) {
23399    defineProperty(PolyfilledDOMException, constantName, descriptor);
23400  }
23401  if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) {
23402    defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor);
23403  }
23404}
23405
23406
23407/***/ }),
23408
23409/***/ 2801:
23410/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23411
23412"use strict";
23413
23414var $ = __webpack_require__(2109);
23415var getBuiltIn = __webpack_require__(5005);
23416var createPropertyDescriptor = __webpack_require__(9114);
23417var defineProperty = (__webpack_require__(3070).f);
23418var hasOwn = __webpack_require__(2597);
23419var anInstance = __webpack_require__(5787);
23420var inheritIfRequired = __webpack_require__(9587);
23421var normalizeStringArgument = __webpack_require__(6277);
23422var DOMExceptionConstants = __webpack_require__(3678);
23423var clearErrorStack = __webpack_require__(7741);
23424var IS_PURE = __webpack_require__(1913);
23425
23426var DOM_EXCEPTION = 'DOMException';
23427var Error = getBuiltIn('Error');
23428var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
23429
23430var $DOMException = function DOMException() {
23431  anInstance(this, DOMExceptionPrototype);
23432  var argumentsLength = arguments.length;
23433  var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
23434  var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
vendor: 33,419 bytes, lines 23435-24412
23435  var that = new NativeDOMException(message, name);
23436  var error = Error(message);
23437  error.name = DOM_EXCEPTION;
23438  defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
23439  inheritIfRequired(that, this, $DOMException);
23440  return that;
23441};
23442
23443var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
23444
23445var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
23446var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
23447var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK;
23448
23449// `DOMException` constructor patch for `.stack` where it's required
23450// https://webidl.spec.whatwg.org/#es-DOMException-specialness
23451$({ global: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
23452  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
23453});
23454
23455var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
23456var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
23457
23458if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
23459  if (!IS_PURE) {
23460    defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));
23461  }
23462
23463  for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
23464    var constant = DOMExceptionConstants[key];
23465    var constantName = constant.s;
23466    if (!hasOwn(PolyfilledDOMException, constantName)) {
23467      defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
23468    }
23469  }
23470}
23471
23472
23473/***/ }),
23474
23475/***/ 1174:
23476/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23477
23478var getBuiltIn = __webpack_require__(5005);
23479var setToStringTag = __webpack_require__(8003);
23480
23481var DOM_EXCEPTION = 'DOMException';
23482
23483setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION);
23484
23485
23486/***/ }),
23487
23488/***/ 4633:
23489/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23490
23491var $ = __webpack_require__(2109);
23492var global = __webpack_require__(7854);
23493var task = __webpack_require__(261);
23494
23495var FORCED = !global.setImmediate || !global.clearImmediate;
23496
23497// http://w3c.github.io/setImmediate/
23498$({ global: true, bind: true, enumerable: true, forced: FORCED }, {
23499  // `setImmediate` method
23500  // http://w3c.github.io/setImmediate/#si-setImmediate
23501  setImmediate: task.set,
23502  // `clearImmediate` method
23503  // http://w3c.github.io/setImmediate/#si-clearImmediate
23504  clearImmediate: task.clear
23505});
23506
23507
23508/***/ }),
23509
23510/***/ 5844:
23511/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23512
23513var $ = __webpack_require__(2109);
23514var global = __webpack_require__(7854);
23515var microtask = __webpack_require__(5948);
23516var aCallable = __webpack_require__(9662);
23517var validateArgumentsLength = __webpack_require__(8053);
23518var IS_NODE = __webpack_require__(5268);
23519
23520var process = global.process;
23521
23522// `queueMicrotask` method
23523// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
23524$({ global: true, enumerable: true, noTargetGet: true }, {
23525  queueMicrotask: function queueMicrotask(fn) {
23526    validateArgumentsLength(arguments.length, 1);
23527    aCallable(fn);
23528    var domain = IS_NODE && process.domain;
23529    microtask(domain ? domain.bind(fn) : fn);
23530  }
23531});
23532
23533
23534/***/ }),
23535
23536/***/ 1295:
23537/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
23538
23539var IS_PURE = __webpack_require__(1913);
23540var $ = __webpack_require__(2109);
23541var global = __webpack_require__(7854);
23542var getBuiltin = __webpack_require__(5005);
23543var uncurryThis = __webpack_require__(1702);
23544var fails = __webpack_require__(7293);
23545var uid = __webpack_require__(9711);
23546var isCallable = __webpack_require__(614);
23547var isConstructor = __webpack_require__(4411);
23548var isObject = __webpack_require__(111);
23549var isSymbol = __webpack_require__(2190);
23550var iterate = __webpack_require__(408);
23551var anObject = __webpack_require__(9670);
23552var classof = __webpack_require__(648);
23553var hasOwn = __webpack_require__(2597);
23554var createProperty = __webpack_require__(6135);
23555var createNonEnumerableProperty = __webpack_require__(8880);
23556var lengthOfArrayLike = __webpack_require__(6244);
23557var validateArgumentsLength = __webpack_require__(8053);
23558var regExpFlags = __webpack_require__(7066);
23559var ERROR_STACK_INSTALLABLE = __webpack_require__(2914);
23560
23561var Object = global.Object;
23562var Date = global.Date;
23563var Error = global.Error;
23564var EvalError = global.EvalError;
23565var RangeError = global.RangeError;
23566var ReferenceError = global.ReferenceError;
23567var SyntaxError = global.SyntaxError;
23568var TypeError = global.TypeError;
23569var URIError = global.URIError;
23570var PerformanceMark = global.PerformanceMark;
23571var WebAssembly = global.WebAssembly;
23572var CompileError = WebAssembly && WebAssembly.CompileError || Error;
23573var LinkError = WebAssembly && WebAssembly.LinkError || Error;
23574var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;
23575var DOMException = getBuiltin('DOMException');
23576var Set = getBuiltin('Set');
23577var Map = getBuiltin('Map');
23578var MapPrototype = Map.prototype;
23579var mapHas = uncurryThis(MapPrototype.has);
23580var mapGet = uncurryThis(MapPrototype.get);
23581var mapSet = uncurryThis(MapPrototype.set);
23582var setAdd = uncurryThis(Set.prototype.add);
23583var objectKeys = getBuiltin('Object', 'keys');
23584var push = uncurryThis([].push);
23585var booleanValueOf = uncurryThis(true.valueOf);
23586var numberValueOf = uncurryThis(1.0.valueOf);
23587var stringValueOf = uncurryThis(''.valueOf);
23588var getFlags = uncurryThis(regExpFlags);
23589var getTime = uncurryThis(Date.prototype.getTime);
23590var PERFORMANCE_MARK = uid('structuredClone');
23591var DATA_CLONE_ERROR = 'DataCloneError';
23592var TRANSFERRING = 'Transferring';
23593
23594var checkBasicSemantic = function (structuredCloneImplementation) {
23595  return !fails(function () {
23596    var set1 = new global.Set([7]);
23597    var set2 = structuredCloneImplementation(set1);
23598    var number = structuredCloneImplementation(Object(7));
23599    return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;
23600  }) && structuredCloneImplementation;
23601};
23602
23603// https://github.com/whatwg/html/pull/5749
23604var checkNewErrorsSemantic = function (structuredCloneImplementation) {
23605  return !fails(function () {
23606    var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));
23607    return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;
23608  }) && structuredCloneImplementation;
23609};
23610
23611// FF94+, Safari TP134+, Chrome Canary 98+, NodeJS 17.0+, Deno 1.13+
23612// current FF and Safari implementations can't clone errors
23613// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604
23614// no one of current implementations supports new (html/5749) error cloning semantic
23615var nativeStructuredClone = global.structuredClone;
23616
23617var FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone);
23618
23619// Chrome 82+, Safari 14.1+, Deno 1.11+
23620// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`
23621// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround
23622// current Safari implementation can't clone errors
23623// Deno 1.2-1.10 implementations too naive
23624// NodeJS 16.0+ does not have `PerformanceMark` constructor, structured cloning implementation
23625//   from `performance.mark` is too naive and can't clone, for example, `RegExp` or some boxed primitives
23626//   https://github.com/nodejs/node/issues/40840
23627// no one of current implementations supports new (html/5749) error cloning semantic
23628var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {
23629  return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;
23630});
23631
23632var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;
23633
23634var throwUncloneable = function (type) {
23635  throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);
23636};
23637
23638var throwUnpolyfillable = function (type, kind) {
23639  throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);
23640};
23641
23642var structuredCloneInternal = function (value, map) {
23643  if (isSymbol(value)) throwUncloneable('Symbol');
23644  if (!isObject(value)) return value;
23645  // effectively preserves circular references
23646  if (map) {
23647    if (mapHas(map, value)) return mapGet(map, value);
23648  } else map = new Map();
23649
23650  var type = classof(value);
23651  var deep = false;
23652  var C, name, cloned, dataTransfer, i, length, keys, key, source, target;
23653
23654  switch (type) {
23655    case 'Array':
23656      cloned = [];
23657      deep = true;
23658      break;
23659    case 'Object':
23660      cloned = {};
23661      deep = true;
23662      break;
23663    case 'Map':
23664      cloned = new Map();
23665      deep = true;
23666      break;
23667    case 'Set':
23668      cloned = new Set();
23669      deep = true;
23670      break;
23671    case 'RegExp':
23672      // in this block because of a Safari 14.1 bug
23673      // old FF does not clone regexes passed to the constructor, so get the source and flags directly
23674      cloned = new RegExp(value.source, 'flags' in value ? value.flags : getFlags(value));
23675      break;
23676    case 'Error':
23677      name = value.name;
23678      switch (name) {
23679        case 'AggregateError':
23680          cloned = getBuiltin('AggregateError')([]);
23681          break;
23682        case 'EvalError':
23683          cloned = EvalError();
23684          break;
23685        case 'RangeError':
23686          cloned = RangeError();
23687          break;
23688        case 'ReferenceError':
23689          cloned = ReferenceError();
23690          break;
23691        case 'SyntaxError':
23692          cloned = SyntaxError();
23693          break;
23694        case 'TypeError':
23695          cloned = TypeError();
23696          break;
23697        case 'URIError':
23698          cloned = URIError();
23699          break;
23700        case 'CompileError':
23701          cloned = CompileError();
23702          break;
23703        case 'LinkError':
23704          cloned = LinkError();
23705          break;
23706        case 'RuntimeError':
23707          cloned = RuntimeError();
23708          break;
23709        default:
23710          cloned = Error();
23711      }
23712      deep = true;
23713      break;
23714    case 'DOMException':
23715      cloned = new DOMException(value.message, value.name);
23716      deep = true;
23717      break;
23718    case 'DataView':
23719    case 'Int8Array':
23720    case 'Uint8Array':
23721    case 'Uint8ClampedArray':
23722    case 'Int16Array':
23723    case 'Uint16Array':
23724    case 'Int32Array':
23725    case 'Uint32Array':
23726    case 'Float32Array':
23727    case 'Float64Array':
23728    case 'BigInt64Array':
23729    case 'BigUint64Array':
23730      C = global[type];
23731      // in some old engines like Safari 9, typeof C is 'object'
23732      // on Uint8ClampedArray or some other constructors
23733      if (!isObject(C)) throwUnpolyfillable(type);
23734      cloned = new C(
23735        // this is safe, since arraybuffer cannot have circular references
23736        structuredCloneInternal(value.buffer, map),
23737        value.byteOffset,
23738        type === 'DataView' ? value.byteLength : value.length
23739      );
23740      break;
23741    case 'DOMQuad':
23742      try {
23743        cloned = new DOMQuad(
23744          structuredCloneInternal(value.p1, map),
23745          structuredCloneInternal(value.p2, map),
23746          structuredCloneInternal(value.p3, map),
23747          structuredCloneInternal(value.p4, map)
23748        );
23749      } catch (error) {
23750        if (nativeRestrictedStructuredClone) {
23751          cloned = nativeRestrictedStructuredClone(value);
23752        } else throwUnpolyfillable(type);
23753      }
23754      break;
23755    case 'FileList':
23756      C = global.DataTransfer;
23757      if (isConstructor(C)) {
23758        dataTransfer = new C();
23759        for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {
23760          dataTransfer.items.add(structuredCloneInternal(value[i], map));
23761        }
23762        cloned = dataTransfer.files;
23763      } else if (nativeRestrictedStructuredClone) {
23764        cloned = nativeRestrictedStructuredClone(value);
23765      } else throwUnpolyfillable(type);
23766      break;
23767    case 'ImageData':
23768      // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'
23769      try {
23770        cloned = new ImageData(
23771          structuredCloneInternal(value.data, map),
23772          value.width,
23773          value.height,
23774          { colorSpace: value.colorSpace }
23775        );
23776      } catch (error) {
23777        if (nativeRestrictedStructuredClone) {
23778          cloned = nativeRestrictedStructuredClone(value);
23779        } else throwUnpolyfillable(type);
23780      } break;
23781    default:
23782      if (nativeRestrictedStructuredClone) {
23783        cloned = nativeRestrictedStructuredClone(value);
23784      } else switch (type) {
23785        case 'BigInt':
23786          // can be a 3rd party polyfill
23787          cloned = Object(value.valueOf());
23788          break;
23789        case 'Boolean':
23790          cloned = Object(booleanValueOf(value));
23791          break;
23792        case 'Number':
23793          cloned = Object(numberValueOf(value));
23794          break;
23795        case 'String':
23796          cloned = Object(stringValueOf(value));
23797          break;
23798        case 'Date':
23799          cloned = new Date(getTime(value));
23800          break;
23801        case 'ArrayBuffer':
23802          C = global.DataView;
23803          // `ArrayBuffer#slice` is not available in IE10
23804          // `ArrayBuffer#slice` and `DataView` are not available in old FF
23805          if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);
23806          // detached buffers throws in `DataView` and `.slice`
23807          try {
23808            if (typeof value.slice == 'function') {
23809              cloned = value.slice(0);
23810            } else {
23811              length = value.byteLength;
23812              cloned = new ArrayBuffer(length);
23813              source = new C(value);
23814              target = new C(cloned);
23815              for (i = 0; i < length; i++) {
23816                target.setUint8(i, source.getUint8(i));
23817              }
23818            }
23819          } catch (error) {
23820            throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);
23821          } break;
23822        case 'SharedArrayBuffer':
23823          // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original
23824          cloned = value;
23825          break;
23826        case 'Blob':
23827          try {
23828            cloned = value.slice(0, value.size, value.type);
23829          } catch (error) {
23830            throwUnpolyfillable(type);
23831          } break;
23832        case 'DOMPoint':
23833        case 'DOMPointReadOnly':
23834          C = global[type];
23835          try {
23836            cloned = C.fromPoint
23837              ? C.fromPoint(value)
23838              : new C(value.x, value.y, value.z, value.w);
23839          } catch (error) {
23840            throwUnpolyfillable(type);
23841          } break;
23842        case 'DOMRect':
23843        case 'DOMRectReadOnly':
23844          C = global[type];
23845          try {
23846            cloned = C.fromRect
23847              ? C.fromRect(value)
23848              : new C(value.x, value.y, value.width, value.height);
23849          } catch (error) {
23850            throwUnpolyfillable(type);
23851          } break;
23852        case 'DOMMatrix':
23853        case 'DOMMatrixReadOnly':
23854          C = global[type];
23855          try {
23856            cloned = C.fromMatrix
23857              ? C.fromMatrix(value)
23858              : new C(value);
23859          } catch (error) {
23860            throwUnpolyfillable(type);
23861          } break;
23862        case 'AudioData':
23863        case 'VideoFrame':
23864          if (!isCallable(value.clone)) throwUnpolyfillable(type);
23865          try {
23866            cloned = value.clone();
23867          } catch (error) {
23868            throwUncloneable(type);
23869          } break;
23870        case 'File':
23871          try {
23872            cloned = new File([value], value.name, value);
23873          } catch (error) {
23874            throwUnpolyfillable(type);
23875          } break;
23876        case 'CryptoKey':
23877        case 'GPUCompilationMessage':
23878        case 'GPUCompilationInfo':
23879        case 'ImageBitmap':
23880        case 'RTCCertificate':
23881        case 'WebAssembly.Module':
23882          throwUnpolyfillable(type);
23883          // break omitted
23884        default:
23885          throwUncloneable(type);
23886      }
23887  }
23888
23889  mapSet(map, value, cloned);
23890
23891  if (deep) switch (type) {
23892    case 'Array':
23893    case 'Object':
23894      keys = objectKeys(value);
23895      for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {
23896        key = keys[i];
23897        createProperty(cloned, key, structuredCloneInternal(value[key], map));
23898      } break;
23899    case 'Map':
23900      value.forEach(function (v, k) {
23901        mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));
23902      });
23903      break;
23904    case 'Set':
23905      value.forEach(function (v) {
23906        setAdd(cloned, structuredCloneInternal(v, map));
23907      });
23908      break;
23909    case 'Error':
23910      createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));
23911      if (hasOwn(value, 'cause')) {
23912        createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));
23913      }
23914      if (name == 'AggregateError') {
23915        cloned.errors = structuredCloneInternal(value.errors, map);
23916      } // break omitted
23917    case 'DOMException':
23918      if (ERROR_STACK_INSTALLABLE) {
23919        createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));
23920      }
23921  }
23922
23923  return cloned;
23924};
23925
23926var PROPER_TRANSFER = nativeStructuredClone && !fails(function () {
23927  var buffer = new ArrayBuffer(8);
23928  var clone = nativeStructuredClone(buffer, { transfer: [buffer] });
23929  return buffer.byteLength != 0 || clone.byteLength != 8;
23930});
23931
23932var tryToTransfer = function (rawTransfer, map) {
23933  if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');
23934
23935  var transfer = [];
23936
23937  iterate(rawTransfer, function (value) {
23938    push(transfer, anObject(value));
23939  });
23940
23941  var i = 0;
23942  var length = lengthOfArrayLike(transfer);
23943  var value, type, C, transferredArray, transferred, canvas, context;
23944
23945  if (PROPER_TRANSFER) {
23946    transferredArray = nativeStructuredClone(transfer, { transfer: transfer });
23947    while (i < length) mapSet(map, transfer[i], transferredArray[i++]);
23948  } else while (i < length) {
23949    value = transfer[i++];
23950    if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);
23951
23952    type = classof(value);
23953
23954    switch (type) {
23955      case 'ImageBitmap':
23956        C = global.OffscreenCanvas;
23957        if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);
23958        try {
23959          canvas = new C(value.width, value.height);
23960          context = canvas.getContext('bitmaprenderer');
23961          context.transferFromImageBitmap(value);
23962          transferred = canvas.transferToImageBitmap();
23963        } catch (error) { /* empty */ }
23964        break;
23965      case 'AudioData':
23966      case 'VideoFrame':
23967        if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);
23968        try {
23969          transferred = value.clone();
23970          value.close();
23971        } catch (error) { /* empty */ }
23972        break;
23973      case 'ArrayBuffer':
23974      case 'MessagePort':
23975      case 'OffscreenCanvas':
23976      case 'ReadableStream':
23977      case 'TransformStream':
23978      case 'WritableStream':
23979        throwUnpolyfillable(type, TRANSFERRING);
23980    }
23981
23982    if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);
23983    mapSet(map, value, transferred);
23984  }
23985};
23986
23987$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {
23988  structuredClone: function structuredClone(value /* , { transfer } */) {
23989    var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined;
23990    var transfer = options ? options.transfer : undefined;
23991    var map;
23992
23993    if (transfer !== undefined) {
23994      map = new Map();
23995      tryToTransfer(transfer, map);
23996    }
23997
23998    return structuredCloneInternal(value, map);
23999  }
24000});
24001
24002
24003/***/ }),
24004
24005/***/ 2564:
24006/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
24007
24008var $ = __webpack_require__(2109);
24009var global = __webpack_require__(7854);
24010var apply = __webpack_require__(2104);
24011var isCallable = __webpack_require__(614);
24012var userAgent = __webpack_require__(8113);
24013var arraySlice = __webpack_require__(206);
24014var validateArgumentsLength = __webpack_require__(8053);
24015
24016var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
24017var Function = global.Function;
24018
24019var wrap = function (scheduler) {
24020  return function (handler, timeout /* , ...arguments */) {
24021    var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;
24022    var fn = isCallable(handler) ? handler : Function(handler);
24023    var args = boundArgs ? arraySlice(arguments, 2) : undefined;
24024    return scheduler(boundArgs ? function () {
24025      apply(fn, this, args);
24026    } : fn, timeout);
24027  };
24028};
24029
24030// ie9- setTimeout & setInterval additional parameters fix
24031// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
24032$({ global: true, bind: true, forced: MSIE }, {
24033  // `setTimeout` method
24034  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
24035  setTimeout: wrap(global.setTimeout),
24036  // `setInterval` method
24037  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
24038  setInterval: wrap(global.setInterval)
24039});
24040
24041
24042/***/ }),
24043
24044/***/ 1637:
24045/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
24046
24047"use strict";
24048
24049// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
24050__webpack_require__(6992);
24051var $ = __webpack_require__(2109);
24052var global = __webpack_require__(7854);
24053var getBuiltIn = __webpack_require__(5005);
24054var call = __webpack_require__(6916);
24055var uncurryThis = __webpack_require__(1702);
24056var USE_NATIVE_URL = __webpack_require__(590);
24057var redefine = __webpack_require__(1320);
24058var redefineAll = __webpack_require__(2248);
24059var setToStringTag = __webpack_require__(8003);
24060var createIteratorConstructor = __webpack_require__(4994);
24061var InternalStateModule = __webpack_require__(9909);
24062var anInstance = __webpack_require__(5787);
24063var isCallable = __webpack_require__(614);
24064var hasOwn = __webpack_require__(2597);
24065var bind = __webpack_require__(9974);
24066var classof = __webpack_require__(648);
24067var anObject = __webpack_require__(9670);
24068var isObject = __webpack_require__(111);
24069var $toString = __webpack_require__(1340);
24070var create = __webpack_require__(30);
24071var createPropertyDescriptor = __webpack_require__(9114);
24072var getIterator = __webpack_require__(8554);
24073var getIteratorMethod = __webpack_require__(1246);
24074var validateArgumentsLength = __webpack_require__(8053);
24075var wellKnownSymbol = __webpack_require__(5112);
24076var arraySort = __webpack_require__(4362);
24077
24078var ITERATOR = wellKnownSymbol('iterator');
24079var URL_SEARCH_PARAMS = 'URLSearchParams';
24080var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
24081var setInternalState = InternalStateModule.set;
24082var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
24083var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
24084
24085var n$Fetch = getBuiltIn('fetch');
24086var N$Request = getBuiltIn('Request');
24087var Headers = getBuiltIn('Headers');
24088var RequestPrototype = N$Request && N$Request.prototype;
24089var HeadersPrototype = Headers && Headers.prototype;
24090var RegExp = global.RegExp;
24091var TypeError = global.TypeError;
24092var decodeURIComponent = global.decodeURIComponent;
24093var encodeURIComponent = global.encodeURIComponent;
24094var charAt = uncurryThis(''.charAt);
24095var join = uncurryThis([].join);
24096var push = uncurryThis([].push);
24097var replace = uncurryThis(''.replace);
24098var shift = uncurryThis([].shift);
24099var splice = uncurryThis([].splice);
24100var split = uncurryThis(''.split);
24101var stringSlice = uncurryThis(''.slice);
24102
24103var plus = /\+/g;
24104var sequences = Array(4);
24105
24106var percentSequence = function (bytes) {
24107  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
24108};
24109
24110var percentDecode = function (sequence) {
24111  try {
24112    return decodeURIComponent(sequence);
24113  } catch (error) {
24114    return sequence;
24115  }
24116};
24117
24118var deserialize = function (it) {
24119  var result = replace(it, plus, ' ');
24120  var bytes = 4;
24121  try {
24122    return decodeURIComponent(result);
24123  } catch (error) {
24124    while (bytes) {
24125      result = replace(result, percentSequence(bytes--), percentDecode);
24126    }
24127    return result;
24128  }
24129};
24130
24131var find = /[!'()~]|%20/g;
24132
24133var replacements = {
24134  '!': '%21',
24135  "'": '%27',
24136  '(': '%28',
24137  ')': '%29',
24138  '~': '%7E',
24139  '%20': '+'
24140};
24141
24142var replacer = function (match) {
24143  return replacements[match];
24144};
24145
24146var serialize = function (it) {
24147  return replace(encodeURIComponent(it), find, replacer);
24148};
24149
24150var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
24151  setInternalState(this, {
24152    type: URL_SEARCH_PARAMS_ITERATOR,
24153    iterator: getIterator(getInternalParamsState(params).entries),
24154    kind: kind
24155  });
24156}, 'Iterator', function next() {
24157  var state = getInternalIteratorState(this);
24158  var kind = state.kind;
24159  var step = state.iterator.next();
24160  var entry = step.value;
24161  if (!step.done) {
24162    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
24163  } return step;
24164}, true);
24165
24166var URLSearchParamsState = function (init) {
24167  this.entries = [];
24168  this.url = null;
24169
24170  if (init !== undefined) {
24171    if (isObject(init)) this.parseObject(init);
24172    else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));
24173  }
24174};
24175
24176URLSearchParamsState.prototype = {
24177  type: URL_SEARCH_PARAMS,
24178  bindURL: function (url) {
24179    this.url = url;
24180    this.update();
24181  },
24182  parseObject: function (object) {
24183    var iteratorMethod = getIteratorMethod(object);
24184    var iterator, next, step, entryIterator, entryNext, first, second;
24185
24186    if (iteratorMethod) {
24187      iterator = getIterator(object, iteratorMethod);
24188      next = iterator.next;
24189      while (!(step = call(next, iterator)).done) {
24190        entryIterator = getIterator(anObject(step.value));
24191        entryNext = entryIterator.next;
24192        if (
24193          (first = call(entryNext, entryIterator)).done ||
24194          (second = call(entryNext, entryIterator)).done ||
24195          !call(entryNext, entryIterator).done
24196        ) throw TypeError('Expected sequence with length 2');
24197        push(this.entries, { key: $toString(first.value), value: $toString(second.value) });
24198      }
24199    } else for (var key in object) if (hasOwn(object, key)) {
24200      push(this.entries, { key: key, value: $toString(object[key]) });
24201    }
24202  },
24203  parseQuery: function (query) {
24204    if (query) {
24205      var attributes = split(query, '&');
24206      var index = 0;
24207      var attribute, entry;
24208      while (index < attributes.length) {
24209        attribute = attributes[index++];
24210        if (attribute.length) {
24211          entry = split(attribute, '=');
24212          push(this.entries, {
24213            key: deserialize(shift(entry)),
24214            value: deserialize(join(entry, '='))
24215          });
24216        }
24217      }
24218    }
24219  },
24220  serialize: function () {
24221    var entries = this.entries;
24222    var result = [];
24223    var index = 0;
24224    var entry;
24225    while (index < entries.length) {
24226      entry = entries[index++];
24227      push(result, serialize(entry.key) + '=' + serialize(entry.value));
24228    } return join(result, '&');
24229  },
24230  update: function () {
24231    this.entries.length = 0;
24232    this.parseQuery(this.url.query);
24233  },
24234  updateURL: function () {
24235    if (this.url) this.url.update();
24236  }
24237};
24238
24239// `URLSearchParams` constructor
24240// https://url.spec.whatwg.org/#interface-urlsearchparams
24241var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
24242  anInstance(this, URLSearchParamsPrototype);
24243  var init = arguments.length > 0 ? arguments[0] : undefined;
24244  setInternalState(this, new URLSearchParamsState(init));
24245};
24246
24247var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
24248
24249redefineAll(URLSearchParamsPrototype, {
24250  // `URLSearchParams.prototype.append` method
24251  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
24252  append: function append(name, value) {
24253    validateArgumentsLength(arguments.length, 2);
24254    var state = getInternalParamsState(this);
24255    push(state.entries, { key: $toString(name), value: $toString(value) });
24256    state.updateURL();
24257  },
24258  // `URLSearchParams.prototype.delete` method
24259  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
24260  'delete': function (name) {
24261    validateArgumentsLength(arguments.length, 1);
24262    var state = getInternalParamsState(this);
24263    var entries = state.entries;
24264    var key = $toString(name);
24265    var index = 0;
24266    while (index < entries.length) {
24267      if (entries[index].key === key) splice(entries, index, 1);
24268      else index++;
24269    }
24270    state.updateURL();
24271  },
24272  // `URLSearchParams.prototype.get` method
24273  // https://url.spec.whatwg.org/#dom-urlsearchparams-get
24274  get: function get(name) {
24275    validateArgumentsLength(arguments.length, 1);
24276    var entries = getInternalParamsState(this).entries;
24277    var key = $toString(name);
24278    var index = 0;
24279    for (; index < entries.length; index++) {
24280      if (entries[index].key === key) return entries[index].value;
24281    }
24282    return null;
24283  },
24284  // `URLSearchParams.prototype.getAll` method
24285  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
24286  getAll: function getAll(name) {
24287    validateArgumentsLength(arguments.length, 1);
24288    var entries = getInternalParamsState(this).entries;
24289    var key = $toString(name);
24290    var result = [];
24291    var index = 0;
24292    for (; index < entries.length; index++) {
24293      if (entries[index].key === key) push(result, entries[index].value);
24294    }
24295    return result;
24296  },
24297  // `URLSearchParams.prototype.has` method
24298  // https://url.spec.whatwg.org/#dom-urlsearchparams-has
24299  has: function has(name) {
24300    validateArgumentsLength(arguments.length, 1);
24301    var entries = getInternalParamsState(this).entries;
24302    var key = $toString(name);
24303    var index = 0;
24304    while (index < entries.length) {
24305      if (entries[index++].key === key) return true;
24306    }
24307    return false;
24308  },
24309  // `URLSearchParams.prototype.set` method
24310  // https://url.spec.whatwg.org/#dom-urlsearchparams-set
24311  set: function set(name, value) {
24312    validateArgumentsLength(arguments.length, 1);
24313    var state = getInternalParamsState(this);
24314    var entries = state.entries;
24315    var found = false;
24316    var key = $toString(name);
24317    var val = $toString(value);
24318    var index = 0;
24319    var entry;
24320    for (; index < entries.length; index++) {
24321      entry = entries[index];
24322      if (entry.key === key) {
24323        if (found) splice(entries, index--, 1);
24324        else {
24325          found = true;
24326          entry.value = val;
24327        }
24328      }
24329    }
24330    if (!found) push(entries, { key: key, value: val });
24331    state.updateURL();
24332  },
24333  // `URLSearchParams.prototype.sort` method
24334  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
24335  sort: function sort() {
24336    var state = getInternalParamsState(this);
24337    arraySort(state.entries, function (a, b) {
24338      return a.key > b.key ? 1 : -1;
24339    });
24340    state.updateURL();
24341  },
24342  // `URLSearchParams.prototype.forEach` method
24343  forEach: function forEach(callback /* , thisArg */) {
24344    var entries = getInternalParamsState(this).entries;
24345    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);
24346    var index = 0;
24347    var entry;
24348    while (index < entries.length) {
24349      entry = entries[index++];
24350      boundFunction(entry.value, entry.key, this);
24351    }
24352  },
24353  // `URLSearchParams.prototype.keys` method
24354  keys: function keys() {
24355    return new URLSearchParamsIterator(this, 'keys');
24356  },
24357  // `URLSearchParams.prototype.values` method
24358  values: function values() {
24359    return new URLSearchParamsIterator(this, 'values');
24360  },
24361  // `URLSearchParams.prototype.entries` method
24362  entries: function entries() {
24363    return new URLSearchParamsIterator(this, 'entries');
24364  }
24365}, { enumerable: true });
24366
24367// `URLSearchParams.prototype[@@iterator]` method
24368redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });
24369
24370// `URLSearchParams.prototype.toString` method
24371// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
24372redefine(URLSearchParamsPrototype, 'toString', function toString() {
24373  return getInternalParamsState(this).serialize();
24374}, { enumerable: true });
24375
24376setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
24377
24378$({ global: true, forced: !USE_NATIVE_URL }, {
24379  URLSearchParams: URLSearchParamsConstructor
24380});
24381
24382// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`
24383if (!USE_NATIVE_URL && isCallable(Headers)) {
24384  var headersHas = uncurryThis(HeadersPrototype.has);
24385  var headersSet = uncurryThis(HeadersPrototype.set);
24386
24387  var wrapRequestOptions = function (init) {
24388    if (isObject(init)) {
24389      var body = init.body;
24390      var headers;
24391      if (classof(body) === URL_SEARCH_PARAMS) {
24392        headers = init.headers ? new Headers(init.headers) : new Headers();
24393        if (!headersHas(headers, 'content-type')) {
24394          headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
24395        }
24396        return create(init, {
24397          body: createPropertyDescriptor(0, $toString(body)),
24398          headers: createPropertyDescriptor(0, headers)
24399        });
24400      }
24401    } return init;
24402  };
24403
24404  if (isCallable(n$Fetch)) {
24405    $({ global: true, enumerable: true, forced: true }, {
24406      fetch: function fetch(input /* , init */) {
24407        return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
24408      }
24409    });
24410  }
24411
24412  if (isCallable(N$Request)) {
vendor: 1,641 bytes, lines 24413-24460
24413    var RequestConstructor = function Request(input /* , init */) {
24414      anInstance(this, RequestPrototype);
24415      return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
24416    };
24417
24418    RequestPrototype.constructor = RequestConstructor;
24419    RequestConstructor.prototype = RequestPrototype;
24420
24421    $({ global: true, forced: true }, {
24422      Request: RequestConstructor
24423    });
24424  }
24425}
24426
24427module.exports = {
24428  URLSearchParams: URLSearchParamsConstructor,
24429  getState: getInternalParamsState
24430};
24431
24432
24433/***/ }),
24434
24435/***/ 285:
24436/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
24437
24438"use strict";
24439
24440// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
24441__webpack_require__(8783);
24442var $ = __webpack_require__(2109);
24443var DESCRIPTORS = __webpack_require__(9781);
24444var USE_NATIVE_URL = __webpack_require__(590);
24445var global = __webpack_require__(7854);
24446var bind = __webpack_require__(9974);
24447var uncurryThis = __webpack_require__(1702);
24448var defineProperties = (__webpack_require__(6048).f);
24449var redefine = __webpack_require__(1320);
24450var anInstance = __webpack_require__(5787);
24451var hasOwn = __webpack_require__(2597);
24452var assign = __webpack_require__(1574);
24453var arrayFrom = __webpack_require__(8457);
24454var arraySlice = __webpack_require__(1589);
24455var codeAt = (__webpack_require__(8710).codeAt);
24456var toASCII = __webpack_require__(3197);
24457var $toString = __webpack_require__(1340);
24458var setToStringTag = __webpack_require__(8003);
24459var validateArgumentsLength = __webpack_require__(8053);
24460var URLSearchParamsModule = __webpack_require__(1637
vendor: 30,810 bytes, lines 24460-25415
24460);
24461var InternalStateModule = __webpack_require__(9909);
24462
24463var setInternalState = InternalStateModule.set;
24464var getInternalURLState = InternalStateModule.getterFor('URL');
24465var URLSearchParams = URLSearchParamsModule.URLSearchParams;
24466var getInternalSearchParamsState = URLSearchParamsModule.getState;
24467
24468var NativeURL = global.URL;
24469var TypeError = global.TypeError;
24470var parseInt = global.parseInt;
24471var floor = Math.floor;
24472var pow = Math.pow;
24473var charAt = uncurryThis(''.charAt);
24474var exec = uncurryThis(/./.exec);
24475var join = uncurryThis([].join);
24476var numberToString = uncurryThis(1.0.toString);
24477var pop = uncurryThis([].pop);
24478var push = uncurryThis([].push);
24479var replace = uncurryThis(''.replace);
24480var shift = uncurryThis([].shift);
24481var split = uncurryThis(''.split);
24482var stringSlice = uncurryThis(''.slice);
24483var toLowerCase = uncurryThis(''.toLowerCase);
24484var unshift = uncurryThis([].unshift);
24485
24486var INVALID_AUTHORITY = 'Invalid authority';
24487var INVALID_SCHEME = 'Invalid scheme';
24488var INVALID_HOST = 'Invalid host';
24489var INVALID_PORT = 'Invalid port';
24490
24491var ALPHA = /[a-z]/i;
24492// eslint-disable-next-line regexp/no-obscure-range -- safe
24493var ALPHANUMERIC = /[\d+-.a-z]/i;
24494var DIGIT = /\d/;
24495var HEX_START = /^0x/i;
24496var OCT = /^[0-7]+$/;
24497var DEC = /^\d+$/;
24498var HEX = /^[\da-f]+$/i;
24499/* eslint-disable regexp/no-control-character -- safe */
24500var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
24501var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
24502var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
24503var TAB_AND_NEW_LINE = /[\t\n\r]/g;
24504/* eslint-enable regexp/no-control-character -- safe */
24505var EOF;
24506
24507// https://url.spec.whatwg.org/#ipv4-number-parser
24508var parseIPv4 = function (input) {
24509  var parts = split(input, '.');
24510  var partsLength, numbers, index, part, radix, number, ipv4;
24511  if (parts.length && parts[parts.length - 1] == '') {
24512    parts.length--;
24513  }
24514  partsLength = parts.length;
24515  if (partsLength > 4) return input;
24516  numbers = [];
24517  for (index = 0; index < partsLength; index++) {
24518    part = parts[index];
24519    if (part == '') return input;
24520    radix = 10;
24521    if (part.length > 1 && charAt(part, 0) == '0') {
24522      radix = exec(HEX_START, part) ? 16 : 8;
24523      part = stringSlice(part, radix == 8 ? 1 : 2);
24524    }
24525    if (part === '') {
24526      number = 0;
24527    } else {
24528      if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;
24529      number = parseInt(part, radix);
24530    }
24531    push(numbers, number);
24532  }
24533  for (index = 0; index < partsLength; index++) {
24534    number = numbers[index];
24535    if (index == partsLength - 1) {
24536      if (number >= pow(256, 5 - partsLength)) return null;
24537    } else if (number > 255) return null;
24538  }
24539  ipv4 = pop(numbers);
24540  for (index = 0; index < numbers.length; index++) {
24541    ipv4 += numbers[index] * pow(256, 3 - index);
24542  }
24543  return ipv4;
24544};
24545
24546// https://url.spec.whatwg.org/#concept-ipv6-parser
24547// eslint-disable-next-line max-statements -- TODO
24548var parseIPv6 = function (input) {
24549  var address = [0, 0, 0, 0, 0, 0, 0, 0];
24550  var pieceIndex = 0;
24551  var compress = null;
24552  var pointer = 0;
24553  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
24554
24555  var chr = function () {
24556    return charAt(input, pointer);
24557  };
24558
24559  if (chr() == ':') {
24560    if (charAt(input, 1) != ':') return;
24561    pointer += 2;
24562    pieceIndex++;
24563    compress = pieceIndex;
24564  }
24565  while (chr()) {
24566    if (pieceIndex == 8) return;
24567    if (chr() == ':') {
24568      if (compress !== null) return;
24569      pointer++;
24570      pieceIndex++;
24571      compress = pieceIndex;
24572      continue;
24573    }
24574    value = length = 0;
24575    while (length < 4 && exec(HEX, chr())) {
24576      value = value * 16 + parseInt(chr(), 16);
24577      pointer++;
24578      length++;
24579    }
24580    if (chr() == '.') {
24581      if (length == 0) return;
24582      pointer -= length;
24583      if (pieceIndex > 6) return;
24584      numbersSeen = 0;
24585      while (chr()) {
24586        ipv4Piece = null;
24587        if (numbersSeen > 0) {
24588          if (chr() == '.' && numbersSeen < 4) pointer++;
24589          else return;
24590        }
24591        if (!exec(DIGIT, chr())) return;
24592        while (exec(DIGIT, chr())) {
24593          number = parseInt(chr(), 10);
24594          if (ipv4Piece === null) ipv4Piece = number;
24595          else if (ipv4Piece == 0) return;
24596          else ipv4Piece = ipv4Piece * 10 + number;
24597          if (ipv4Piece > 255) return;
24598          pointer++;
24599        }
24600        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
24601        numbersSeen++;
24602        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
24603      }
24604      if (numbersSeen != 4) return;
24605      break;
24606    } else if (chr() == ':') {
24607      pointer++;
24608      if (!chr()) return;
24609    } else if (chr()) return;
24610    address[pieceIndex++] = value;
24611  }
24612  if (compress !== null) {
24613    swaps = pieceIndex - compress;
24614    pieceIndex = 7;
24615    while (pieceIndex != 0 && swaps > 0) {
24616      swap = address[pieceIndex];
24617      address[pieceIndex--] = address[compress + swaps - 1];
24618      address[compress + --swaps] = swap;
24619    }
24620  } else if (pieceIndex != 8) return;
24621  return address;
24622};
24623
24624var findLongestZeroSequence = function (ipv6) {
24625  var maxIndex = null;
24626  var maxLength = 1;
24627  var currStart = null;
24628  var currLength = 0;
24629  var index = 0;
24630  for (; index < 8; index++) {
24631    if (ipv6[index] !== 0) {
24632      if (currLength > maxLength) {
24633        maxIndex = currStart;
24634        maxLength = currLength;
24635      }
24636      currStart = null;
24637      currLength = 0;
24638    } else {
24639      if (currStart === null) currStart = index;
24640      ++currLength;
24641    }
24642  }
24643  if (currLength > maxLength) {
24644    maxIndex = currStart;
24645    maxLength = currLength;
24646  }
24647  return maxIndex;
24648};
24649
24650// https://url.spec.whatwg.org/#host-serializing
24651var serializeHost = function (host) {
24652  var result, index, compress, ignore0;
24653  // ipv4
24654  if (typeof host == 'number') {
24655    result = [];
24656    for (index = 0; index < 4; index++) {
24657      unshift(result, host % 256);
24658      host = floor(host / 256);
24659    } return join(result, '.');
24660  // ipv6
24661  } else if (typeof host == 'object') {
24662    result = '';
24663    compress = findLongestZeroSequence(host);
24664    for (index = 0; index < 8; index++) {
24665      if (ignore0 && host[index] === 0) continue;
24666      if (ignore0) ignore0 = false;
24667      if (compress === index) {
24668        result += index ? ':' : '::';
24669        ignore0 = true;
24670      } else {
24671        result += numberToString(host[index], 16);
24672        if (index < 7) result += ':';
24673      }
24674    }
24675    return '[' + result + ']';
24676  } return host;
24677};
24678
24679var C0ControlPercentEncodeSet = {};
24680var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
24681  ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
24682});
24683var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
24684  '#': 1, '?': 1, '{': 1, '}': 1
24685});
24686var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
24687  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
24688});
24689
24690var percentEncode = function (chr, set) {
24691  var code = codeAt(chr, 0);
24692  return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);
24693};
24694
24695// https://url.spec.whatwg.org/#special-scheme
24696var specialSchemes = {
24697  ftp: 21,
24698  file: null,
24699  http: 80,
24700  https: 443,
24701  ws: 80,
24702  wss: 443
24703};
24704
24705// https://url.spec.whatwg.org/#windows-drive-letter
24706var isWindowsDriveLetter = function (string, normalized) {
24707  var second;
24708  return string.length == 2 && exec(ALPHA, charAt(string, 0))
24709    && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));
24710};
24711
24712// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter
24713var startsWithWindowsDriveLetter = function (string) {
24714  var third;
24715  return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (
24716    string.length == 2 ||
24717    ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#')
24718  );
24719};
24720
24721// https://url.spec.whatwg.org/#single-dot-path-segment
24722var isSingleDot = function (segment) {
24723  return segment === '.' || toLowerCase(segment) === '%2e';
24724};
24725
24726// https://url.spec.whatwg.org/#double-dot-path-segment
24727var isDoubleDot = function (segment) {
24728  segment = toLowerCase(segment);
24729  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
24730};
24731
24732// States:
24733var SCHEME_START = {};
24734var SCHEME = {};
24735var NO_SCHEME = {};
24736var SPECIAL_RELATIVE_OR_AUTHORITY = {};
24737var PATH_OR_AUTHORITY = {};
24738var RELATIVE = {};
24739var RELATIVE_SLASH = {};
24740var SPECIAL_AUTHORITY_SLASHES = {};
24741var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
24742var AUTHORITY = {};
24743var HOST = {};
24744var HOSTNAME = {};
24745var PORT = {};
24746var FILE = {};
24747var FILE_SLASH = {};
24748var FILE_HOST = {};
24749var PATH_START = {};
24750var PATH = {};
24751var CANNOT_BE_A_BASE_URL_PATH = {};
24752var QUERY = {};
24753var FRAGMENT = {};
24754
24755var URLState = function (url, isBase, base) {
24756  var urlString = $toString(url);
24757  var baseState, failure, searchParams;
24758  if (isBase) {
24759    failure = this.parse(urlString);
24760    if (failure) throw TypeError(failure);
24761    this.searchParams = null;
24762  } else {
24763    if (base !== undefined) baseState = new URLState(base, true);
24764    failure = this.parse(urlString, null, baseState);
24765    if (failure) throw TypeError(failure);
24766    searchParams = getInternalSearchParamsState(new URLSearchParams());
24767    searchParams.bindURL(this);
24768    this.searchParams = searchParams;
24769  }
24770};
24771
24772URLState.prototype = {
24773  type: 'URL',
24774  // https://url.spec.whatwg.org/#url-parsing
24775  // eslint-disable-next-line max-statements -- TODO
24776  parse: function (input, stateOverride, base) {
24777    var url = this;
24778    var state = stateOverride || SCHEME_START;
24779    var pointer = 0;
24780    var buffer = '';
24781    var seenAt = false;
24782    var seenBracket = false;
24783    var seenPasswordToken = false;
24784    var codePoints, chr, bufferCodePoints, failure;
24785
24786    input = $toString(input);
24787
24788    if (!stateOverride) {
24789      url.scheme = '';
24790      url.username = '';
24791      url.password = '';
24792      url.host = null;
24793      url.port = null;
24794      url.path = [];
24795      url.query = null;
24796      url.fragment = null;
24797      url.cannotBeABaseURL = false;
24798      input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
24799    }
24800
24801    input = replace(input, TAB_AND_NEW_LINE, '');
24802
24803    codePoints = arrayFrom(input);
24804
24805    while (pointer <= codePoints.length) {
24806      chr = codePoints[pointer];
24807      switch (state) {
24808        case SCHEME_START:
24809          if (chr && exec(ALPHA, chr)) {
24810            buffer += toLowerCase(chr);
24811            state = SCHEME;
24812          } else if (!stateOverride) {
24813            state = NO_SCHEME;
24814            continue;
24815          } else return INVALID_SCHEME;
24816          break;
24817
24818        case SCHEME:
24819          if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {
24820            buffer += toLowerCase(chr);
24821          } else if (chr == ':') {
24822            if (stateOverride && (
24823              (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||
24824              (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||
24825              (url.scheme == 'file' && !url.host)
24826            )) return;
24827            url.scheme = buffer;
24828            if (stateOverride) {
24829              if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;
24830              return;
24831            }
24832            buffer = '';
24833            if (url.scheme == 'file') {
24834              state = FILE;
24835            } else if (url.isSpecial() && base && base.scheme == url.scheme) {
24836              state = SPECIAL_RELATIVE_OR_AUTHORITY;
24837            } else if (url.isSpecial()) {
24838              state = SPECIAL_AUTHORITY_SLASHES;
24839            } else if (codePoints[pointer + 1] == '/') {
24840              state = PATH_OR_AUTHORITY;
24841              pointer++;
24842            } else {
24843              url.cannotBeABaseURL = true;
24844              push(url.path, '');
24845              state = CANNOT_BE_A_BASE_URL_PATH;
24846            }
24847          } else if (!stateOverride) {
24848            buffer = '';
24849            state = NO_SCHEME;
24850            pointer = 0;
24851            continue;
24852          } else return INVALID_SCHEME;
24853          break;
24854
24855        case NO_SCHEME:
24856          if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;
24857          if (base.cannotBeABaseURL && chr == '#') {
24858            url.scheme = base.scheme;
24859            url.path = arraySlice(base.path);
24860            url.query = base.query;
24861            url.fragment = '';
24862            url.cannotBeABaseURL = true;
24863            state = FRAGMENT;
24864            break;
24865          }
24866          state = base.scheme == 'file' ? FILE : RELATIVE;
24867          continue;
24868
24869        case SPECIAL_RELATIVE_OR_AUTHORITY:
24870          if (chr == '/' && codePoints[pointer + 1] == '/') {
24871            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
24872            pointer++;
24873          } else {
24874            state = RELATIVE;
24875            continue;
24876          } break;
24877
24878        case PATH_OR_AUTHORITY:
24879          if (chr == '/') {
24880            state = AUTHORITY;
24881            break;
24882          } else {
24883            state = PATH;
24884            continue;
24885          }
24886
24887        case RELATIVE:
24888          url.scheme = base.scheme;
24889          if (chr == EOF) {
24890            url.username = base.username;
24891            url.password = base.password;
24892            url.host = base.host;
24893            url.port = base.port;
24894            url.path = arraySlice(base.path);
24895            url.query = base.query;
24896          } else if (chr == '/' || (chr == '\\' && url.isSpecial())) {
24897            state = RELATIVE_SLASH;
24898          } else if (chr == '?') {
24899            url.username = base.username;
24900            url.password = base.password;
24901            url.host = base.host;
24902            url.port = base.port;
24903            url.path = arraySlice(base.path);
24904            url.query = '';
24905            state = QUERY;
24906          } else if (chr == '#') {
24907            url.username = base.username;
24908            url.password = base.password;
24909            url.host = base.host;
24910            url.port = base.port;
24911            url.path = arraySlice(base.path);
24912            url.query = base.query;
24913            url.fragment = '';
24914            state = FRAGMENT;
24915          } else {
24916            url.username = base.username;
24917            url.password = base.password;
24918            url.host = base.host;
24919            url.port = base.port;
24920            url.path = arraySlice(base.path);
24921            url.path.length--;
24922            state = PATH;
24923            continue;
24924          } break;
24925
24926        case RELATIVE_SLASH:
24927          if (url.isSpecial() && (chr == '/' || chr == '\\')) {
24928            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
24929          } else if (chr == '/') {
24930            state = AUTHORITY;
24931          } else {
24932            url.username = base.username;
24933            url.password = base.password;
24934            url.host = base.host;
24935            url.port = base.port;
24936            state = PATH;
24937            continue;
24938          } break;
24939
24940        case SPECIAL_AUTHORITY_SLASHES:
24941          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
24942          if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;
24943          pointer++;
24944          break;
24945
24946        case SPECIAL_AUTHORITY_IGNORE_SLASHES:
24947          if (chr != '/' && chr != '\\') {
24948            state = AUTHORITY;
24949            continue;
24950          } break;
24951
24952        case AUTHORITY:
24953          if (chr == '@') {
24954            if (seenAt) buffer = '%40' + buffer;
24955            seenAt = true;
24956            bufferCodePoints = arrayFrom(buffer);
24957            for (var i = 0; i < bufferCodePoints.length; i++) {
24958              var codePoint = bufferCodePoints[i];
24959              if (codePoint == ':' && !seenPasswordToken) {
24960                seenPasswordToken = true;
24961                continue;
24962              }
24963              var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
24964              if (seenPasswordToken) url.password += encodedCodePoints;
24965              else url.username += encodedCodePoints;
24966            }
24967            buffer = '';
24968          } else if (
24969            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
24970            (chr == '\\' && url.isSpecial())
24971          ) {
24972            if (seenAt && buffer == '') return INVALID_AUTHORITY;
24973            pointer -= arrayFrom(buffer).length + 1;
24974            buffer = '';
24975            state = HOST;
24976          } else buffer += chr;
24977          break;
24978
24979        case HOST:
24980        case HOSTNAME:
24981          if (stateOverride && url.scheme == 'file') {
24982            state = FILE_HOST;
24983            continue;
24984          } else if (chr == ':' && !seenBracket) {
24985            if (buffer == '') return INVALID_HOST;
24986            failure = url.parseHost(buffer);
24987            if (failure) return failure;
24988            buffer = '';
24989            state = PORT;
24990            if (stateOverride == HOSTNAME) return;
24991          } else if (
24992            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
24993            (chr == '\\' && url.isSpecial())
24994          ) {
24995            if (url.isSpecial() && buffer == '') return INVALID_HOST;
24996            if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;
24997            failure = url.parseHost(buffer);
24998            if (failure) return failure;
24999            buffer = '';
25000            state = PATH_START;
25001            if (stateOverride) return;
25002            continue;
25003          } else {
25004            if (chr == '[') seenBracket = true;
25005            else if (chr == ']') seenBracket = false;
25006            buffer += chr;
25007          } break;
25008
25009        case PORT:
25010          if (exec(DIGIT, chr)) {
25011            buffer += chr;
25012          } else if (
25013            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
25014            (chr == '\\' && url.isSpecial()) ||
25015            stateOverride
25016          ) {
25017            if (buffer != '') {
25018              var port = parseInt(buffer, 10);
25019              if (port > 0xFFFF) return INVALID_PORT;
25020              url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;
25021              buffer = '';
25022            }
25023            if (stateOverride) return;
25024            state = PATH_START;
25025            continue;
25026          } else return INVALID_PORT;
25027          break;
25028
25029        case FILE:
25030          url.scheme = 'file';
25031          if (chr == '/' || chr == '\\') state = FILE_SLASH;
25032          else if (base && base.scheme == 'file') {
25033            if (chr == EOF) {
25034              url.host = base.host;
25035              url.path = arraySlice(base.path);
25036              url.query = base.query;
25037            } else if (chr == '?') {
25038              url.host = base.host;
25039              url.path = arraySlice(base.path);
25040              url.query = '';
25041              state = QUERY;
25042            } else if (chr == '#') {
25043              url.host = base.host;
25044              url.path = arraySlice(base.path);
25045              url.query = base.query;
25046              url.fragment = '';
25047              state = FRAGMENT;
25048            } else {
25049              if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
25050                url.host = base.host;
25051                url.path = arraySlice(base.path);
25052                url.shortenPath();
25053              }
25054              state = PATH;
25055              continue;
25056            }
25057          } else {
25058            state = PATH;
25059            continue;
25060          } break;
25061
25062        case FILE_SLASH:
25063          if (chr == '/' || chr == '\\') {
25064            state = FILE_HOST;
25065            break;
25066          }
25067          if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
25068            if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);
25069            else url.host = base.host;
25070          }
25071          state = PATH;
25072          continue;
25073
25074        case FILE_HOST:
25075          if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') {
25076            if (!stateOverride && isWindowsDriveLetter(buffer)) {
25077              state = PATH;
25078            } else if (buffer == '') {
25079              url.host = '';
25080              if (stateOverride) return;
25081              state = PATH_START;
25082            } else {
25083              failure = url.parseHost(buffer);
25084              if (failure) return failure;
25085              if (url.host == 'localhost') url.host = '';
25086              if (stateOverride) return;
25087              buffer = '';
25088              state = PATH_START;
25089            } continue;
25090          } else buffer += chr;
25091          break;
25092
25093        case PATH_START:
25094          if (url.isSpecial()) {
25095            state = PATH;
25096            if (chr != '/' && chr != '\\') continue;
25097          } else if (!stateOverride && chr == '?') {
25098            url.query = '';
25099            state = QUERY;
25100          } else if (!stateOverride && chr == '#') {
25101            url.fragment = '';
25102            state = FRAGMENT;
25103          } else if (chr != EOF) {
25104            state = PATH;
25105            if (chr != '/') continue;
25106          } break;
25107
25108        case PATH:
25109          if (
25110            chr == EOF || chr == '/' ||
25111            (chr == '\\' && url.isSpecial()) ||
25112            (!stateOverride && (chr == '?' || chr == '#'))
25113          ) {
25114            if (isDoubleDot(buffer)) {
25115              url.shortenPath();
25116              if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
25117                push(url.path, '');
25118              }
25119            } else if (isSingleDot(buffer)) {
25120              if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
25121                push(url.path, '');
25122              }
25123            } else {
25124              if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
25125                if (url.host) url.host = '';
25126                buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter
25127              }
25128              push(url.path, buffer);
25129            }
25130            buffer = '';
25131            if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {
25132              while (url.path.length > 1 && url.path[0] === '') {
25133                shift(url.path);
25134              }
25135            }
25136            if (chr == '?') {
25137              url.query = '';
25138              state = QUERY;
25139            } else if (chr == '#') {
25140              url.fragment = '';
25141              state = FRAGMENT;
25142            }
25143          } else {
25144            buffer += percentEncode(chr, pathPercentEncodeSet);
25145          } break;
25146
25147        case CANNOT_BE_A_BASE_URL_PATH:
25148          if (chr == '?') {
25149            url.query = '';
25150            state = QUERY;
25151          } else if (chr == '#') {
25152            url.fragment = '';
25153            state = FRAGMENT;
25154          } else if (chr != EOF) {
25155            url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);
25156          } break;
25157
25158        case QUERY:
25159          if (!stateOverride && chr == '#') {
25160            url.fragment = '';
25161            state = FRAGMENT;
25162          } else if (chr != EOF) {
25163            if (chr == "'" && url.isSpecial()) url.query += '%27';
25164            else if (chr == '#') url.query += '%23';
25165            else url.query += percentEncode(chr, C0ControlPercentEncodeSet);
25166          } break;
25167
25168        case FRAGMENT:
25169          if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);
25170          break;
25171      }
25172
25173      pointer++;
25174    }
25175  },
25176  // https://url.spec.whatwg.org/#host-parsing
25177  parseHost: function (input) {
25178    var result, codePoints, index;
25179    if (charAt(input, 0) == '[') {
25180      if (charAt(input, input.length - 1) != ']') return INVALID_HOST;
25181      result = parseIPv6(stringSlice(input, 1, -1));
25182      if (!result) return INVALID_HOST;
25183      this.host = result;
25184    // opaque host
25185    } else if (!this.isSpecial()) {
25186      if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;
25187      result = '';
25188      codePoints = arrayFrom(input);
25189      for (index = 0; index < codePoints.length; index++) {
25190        result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
25191      }
25192      this.host = result;
25193    } else {
25194      input = toASCII(input);
25195      if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;
25196      result = parseIPv4(input);
25197      if (result === null) return INVALID_HOST;
25198      this.host = result;
25199    }
25200  },
25201  // https://url.spec.whatwg.org/#cannot-have-a-username-password-port
25202  cannotHaveUsernamePasswordPort: function () {
25203    return !this.host || this.cannotBeABaseURL || this.scheme == 'file';
25204  },
25205  // https://url.spec.whatwg.org/#include-credentials
25206  includesCredentials: function () {
25207    return this.username != '' || this.password != '';
25208  },
25209  // https://url.spec.whatwg.org/#is-special
25210  isSpecial: function () {
25211    return hasOwn(specialSchemes, this.scheme);
25212  },
25213  // https://url.spec.whatwg.org/#shorten-a-urls-path
25214  shortenPath: function () {
25215    var path = this.path;
25216    var pathSize = path.length;
25217    if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
25218      path.length--;
25219    }
25220  },
25221  // https://url.spec.whatwg.org/#concept-url-serializer
25222  serialize: function () {
25223    var url = this;
25224    var scheme = url.scheme;
25225    var username = url.username;
25226    var password = url.password;
25227    var host = url.host;
25228    var port = url.port;
25229    var path = url.path;
25230    var query = url.query;
25231    var fragment = url.fragment;
25232    var output = scheme + ':';
25233    if (host !== null) {
25234      output += '//';
25235      if (url.includesCredentials()) {
25236        output += username + (password ? ':' + password : '') + '@';
25237      }
25238      output += serializeHost(host);
25239      if (port !== null) output += ':' + port;
25240    } else if (scheme == 'file') output += '//';
25241    output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
25242    if (query !== null) output += '?' + query;
25243    if (fragment !== null) output += '#' + fragment;
25244    return output;
25245  },
25246  // https://url.spec.whatwg.org/#dom-url-href
25247  setHref: function (href) {
25248    var failure = this.parse(href);
25249    if (failure) throw TypeError(failure);
25250    this.searchParams.update();
25251  },
25252  // https://url.spec.whatwg.org/#dom-url-origin
25253  getOrigin: function () {
25254    var scheme = this.scheme;
25255    var port = this.port;
25256    if (scheme == 'blob') try {
25257      return new URLConstructor(scheme.path[0]).origin;
25258    } catch (error) {
25259      return 'null';
25260    }
25261    if (scheme == 'file' || !this.isSpecial()) return 'null';
25262    return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');
25263  },
25264  // https://url.spec.whatwg.org/#dom-url-protocol
25265  getProtocol: function () {
25266    return this.scheme + ':';
25267  },
25268  setProtocol: function (protocol) {
25269    this.parse($toString(protocol) + ':', SCHEME_START);
25270  },
25271  // https://url.spec.whatwg.org/#dom-url-username
25272  getUsername: function () {
25273    return this.username;
25274  },
25275  setUsername: function (username) {
25276    var codePoints = arrayFrom($toString(username));
25277    if (this.cannotHaveUsernamePasswordPort()) return;
25278    this.username = '';
25279    for (var i = 0; i < codePoints.length; i++) {
25280      this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
25281    }
25282  },
25283  // https://url.spec.whatwg.org/#dom-url-password
25284  getPassword: function () {
25285    return this.password;
25286  },
25287  setPassword: function (password) {
25288    var codePoints = arrayFrom($toString(password));
25289    if (this.cannotHaveUsernamePasswordPort()) return;
25290    this.password = '';
25291    for (var i = 0; i < codePoints.length; i++) {
25292      this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
25293    }
25294  },
25295  // https://url.spec.whatwg.org/#dom-url-host
25296  getHost: function () {
25297    var host = this.host;
25298    var port = this.port;
25299    return host === null ? ''
25300      : port === null ? serializeHost(host)
25301      : serializeHost(host) + ':' + port;
25302  },
25303  setHost: function (host) {
25304    if (this.cannotBeABaseURL) return;
25305    this.parse(host, HOST);
25306  },
25307  // https://url.spec.whatwg.org/#dom-url-hostname
25308  getHostname: function () {
25309    var host = this.host;
25310    return host === null ? '' : serializeHost(host);
25311  },
25312  setHostname: function (hostname) {
25313    if (this.cannotBeABaseURL) return;
25314    this.parse(hostname, HOSTNAME);
25315  },
25316  // https://url.spec.whatwg.org/#dom-url-port
25317  getPort: function () {
25318    var port = this.port;
25319    return port === null ? '' : $toString(port);
25320  },
25321  setPort: function (port) {
25322    if (this.cannotHaveUsernamePasswordPort()) return;
25323    port = $toString(port);
25324    if (port == '') this.port = null;
25325    else this.parse(port, PORT);
25326  },
25327  // https://url.spec.whatwg.org/#dom-url-pathname
25328  getPathname: function () {
25329    var path = this.path;
25330    return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
25331  },
25332  setPathname: function (pathname) {
25333    if (this.cannotBeABaseURL) return;
25334    this.path = [];
25335    this.parse(pathname, PATH_START);
25336  },
25337  // https://url.spec.whatwg.org/#dom-url-search
25338  getSearch: function () {
25339    var query = this.query;
25340    return query ? '?' + query : '';
25341  },
25342  setSearch: function (search) {
25343    search = $toString(search);
25344    if (search == '') {
25345      this.query = null;
25346    } else {
25347      if ('?' == charAt(search, 0)) search = stringSlice(search, 1);
25348      this.query = '';
25349      this.parse(search, QUERY);
25350    }
25351    this.searchParams.update();
25352  },
25353  // https://url.spec.whatwg.org/#dom-url-searchparams
25354  getSearchParams: function () {
25355    return this.searchParams.facade;
25356  },
25357  // https://url.spec.whatwg.org/#dom-url-hash
25358  getHash: function () {
25359    var fragment = this.fragment;
25360    return fragment ? '#' + fragment : '';
25361  },
25362  setHash: function (hash) {
25363    hash = $toString(hash);
25364    if (hash == '') {
25365      this.fragment = null;
25366      return;
25367    }
25368    if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);
25369    this.fragment = '';
25370    this.parse(hash, FRAGMENT);
25371  },
25372  update: function () {
25373    this.query = this.searchParams.serialize() || null;
25374  }
25375};
25376
25377// `URL` constructor
25378// https://url.spec.whatwg.org/#url-class
25379var URLConstructor = function URL(url /* , base */) {
25380  var that = anInstance(this, URLPrototype);
25381  var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;
25382  var state = setInternalState(that, new URLState(url, false, base));
25383  if (!DESCRIPTORS) {
25384    that.href = state.serialize();
25385    that.origin = state.getOrigin();
25386    that.protocol = state.getProtocol();
25387    that.username = state.getUsername();
25388    that.password = state.getPassword();
25389    that.host = state.getHost();
25390    that.hostname = state.getHostname();
25391    that.port = state.getPort();
25392    that.pathname = state.getPathname();
25393    that.search = state.getSearch();
25394    that.searchParams = state.getSearchParams();
25395    that.hash = state.getHash();
25396  }
25397};
25398
25399var URLPrototype = URLConstructor.prototype;
25400
25401var accessorDescriptor = function (getter, setter) {
25402  return {
25403    get: function () {
25404      return getInternalURLState(this)[getter]();
25405    },
25406    set: setter && function (value) {
25407      return getInternalURLState(this)[setter](value);
25408    },
25409    configurable: true,
25410    enumerable: true
25411  };
25412};
25413
25414if (DESCRIPTORS) {
25415  
vendor: 3,369 bytes, lines 25415-25497
25415defineProperties(URLPrototype, {
25416    // `URL.prototype.href` accessors pair
25417    // https://url.spec.whatwg.org/#dom-url-href
25418    href: accessorDescriptor('serialize', 'setHref'),
25419    // `URL.prototype.origin` getter
25420    // https://url.spec.whatwg.org/#dom-url-origin
25421    origin: accessorDescriptor('getOrigin'),
25422    // `URL.prototype.protocol` accessors pair
25423    // https://url.spec.whatwg.org/#dom-url-protocol
25424    protocol: accessorDescriptor('getProtocol', 'setProtocol'),
25425    // `URL.prototype.username` accessors pair
25426    // https://url.spec.whatwg.org/#dom-url-username
25427    username: accessorDescriptor('getUsername', 'setUsername'),
25428    // `URL.prototype.password` accessors pair
25429    // https://url.spec.whatwg.org/#dom-url-password
25430    password: accessorDescriptor('getPassword', 'setPassword'),
25431    // `URL.prototype.host` accessors pair
25432    // https://url.spec.whatwg.org/#dom-url-host
25433    host: accessorDescriptor('getHost', 'setHost'),
25434    // `URL.prototype.hostname` accessors pair
25435    // https://url.spec.whatwg.org/#dom-url-hostname
25436    hostname: accessorDescriptor('getHostname', 'setHostname'),
25437    // `URL.prototype.port` accessors pair
25438    // https://url.spec.whatwg.org/#dom-url-port
25439    port: accessorDescriptor('getPort', 'setPort'),
25440    // `URL.prototype.pathname` accessors pair
25441    // https://url.spec.whatwg.org/#dom-url-pathname
25442    pathname: accessorDescriptor('getPathname', 'setPathname'),
25443    // `URL.prototype.search` accessors pair
25444    // https://url.spec.whatwg.org/#dom-url-search
25445    search: accessorDescriptor('getSearch', 'setSearch'),
25446    // `URL.prototype.searchParams` getter
25447    // https://url.spec.whatwg.org/#dom-url-searchparams
25448    searchParams: accessorDescriptor('getSearchParams'),
25449    // `URL.prototype.hash` accessors pair
25450    // https://url.spec.whatwg.org/#dom-url-hash
25451    hash: accessorDescriptor('getHash', 'setHash')
25452  });
25453}
25454
25455// `URL.prototype.toJSON` method
25456// https://url.spec.whatwg.org/#dom-url-tojson
25457redefine(URLPrototype, 'toJSON', function toJSON() {
25458  return getInternalURLState(this).serialize();
25459}, { enumerable: true });
25460
25461// `URL.prototype.toString` method
25462// https://url.spec.whatwg.org/#URL-stringification-behavior
25463redefine(URLPrototype, 'toString', function toString() {
25464  return getInternalURLState(this).serialize();
25465}, { enumerable: true });
25466
25467if (NativeURL) {
25468  var nativeCreateObjectURL = NativeURL.createObjectURL;
25469  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
25470  // `URL.createObjectURL` method
25471  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
25472  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));
25473  // `URL.revokeObjectURL` method
25474  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
25475  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));
25476}
25477
25478setToStringTag(URLConstructor, 'URL');
25479
25480$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
25481  URL: URLConstructor
25482});
25483
25484
25485/***/ }),
25486
25487/***/ 3753:
25488/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
25489
25490"use strict";
25491
25492var $ = __webpack_require__(2109);
25493var call = __webpack_require__(6916);
25494
25495// `URL.prototype.toJSON` method
25496// https://url.spec.whatwg.org/#dom-url-tojson
25497$({ target: 'URL', proto: true, enumerable: true }, {
25498  toJSON: function toJSON() {
25499    return call(URL.prototype.toString, this);
25500  }
25501});
25502
25503
25504/***/ }),
25505
25506/***/ 1150:
25507/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25508
25509var parent = __webpack_require__(7633);
25510__webpack_require__(3948);
25511
25512module.exports = parent;
25513
25514
25515/***/ }),
25516
25517/***/ 6337:
25518/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25519
25520__webpack_require__(5505);
25521__webpack_require__(7479);
25522__webpack_require__(4747);
25523__webpack_require__(3948);
25524__webpack_require__(7714);
25525__webpack_require__(2801);
25526__webpack_require__(1174);
25527__webpack_require__(4633);
25528__webpack_require__(5844);
25529__webpack_require__(1295);
25530__webpack_require__(2564);
25531__webpack_require__(285);
25532__webpack_require__(3753);
25533__webpack_require__(1637);
25534var path = __webpack_require__(857);
25535
25536module.exports = path;
25537
25538
25539/***/ }),
25540
25541/***/ 6834:
25542/***/ (function(module, exports, __webpack_require__) {
25543
25544"use strict";
25545
25546
25547exports.__esModule = true;
25548// istanbul ignore next
25549
25550function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
25551
25552// istanbul ignore next
25553
25554function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
25555
25556var _handlebarsBase = __webpack_require__(2067);
25557
25558var base = _interopRequireWildcard(_handlebarsBase);
25559
25560// Each of these augment the Handlebars object. No need to setup here.
25561// (This is done to easily share code between commonjs and browse envs)
25562
25563var _handlebarsSafeString = __webpack_require__(5558);
25564
25565var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
25566
25567var _handlebarsException = __webpack_require__(8728);
25568
25569var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
25570
25571var _handlebarsUtils = __webpack_require__(2392);
25572
25573var Utils = _interopRequireWildcard(_handlebarsUtils);
25574
25575var _handlebarsRuntime = __webpack_require__(1628);
25576
25577var runtime = _interopRequireWildcard(_handlebarsRuntime);
25578
25579var _handlebarsNoConflict = __webpack_require__(3982);
25580
25581var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
25582
25583// For compatibility and usage outside of module systems, make the Handlebars object a namespace
25584function create() {
25585  var hb = new base.HandlebarsEnvironment();
25586
25587  Utils.extend(hb, base);
25588  hb.SafeString = _handlebarsSafeString2['default'];
25589  hb.Exception = _handlebarsException2['default'];
25590  hb.Utils = Utils;
25591  hb.escapeExpression = Utils.escapeExpression;
25592
25593  hb.VM = runtime;
25594  hb.template = function (spec) {
25595    return runtime.template(spec, hb);
25596  };
25597
25598  return hb;
25599}
25600
25601var inst = create();
25602inst.create = create;
25603
25604_handlebarsNoConflict2['default'](inst);
25605
25606inst['default'] = inst;
25607
25608exports["default"] = inst;
25609module.exports = exports['default'];
25610//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQU
vendor: 5,505 bytes, lines 25610-25734
25610FHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=
25611
25612
25613/***/ }),
25614
25615/***/ 2067:
25616/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
25617
25618"use strict";
25619
25620
25621exports.__esModule = true;
25622exports.HandlebarsEnvironment = HandlebarsEnvironment;
25623// istanbul ignore next
25624
25625function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
25626
25627var _utils = __webpack_require__(2392);
25628
25629var _exception = __webpack_require__(8728);
25630
25631var _exception2 = _interopRequireDefault(_exception);
25632
25633var _helpers = __webpack_require__(2638);
25634
25635var _decorators = __webpack_require__(881);
25636
25637var _logger = __webpack_require__(8037);
25638
25639var _logger2 = _interopRequireDefault(_logger);
25640
25641var _internalProtoAccess = __webpack_require__(6293);
25642
25643var VERSION = '4.7.7';
25644exports.VERSION = VERSION;
25645var COMPILER_REVISION = 8;
25646exports.COMPILER_REVISION = COMPILER_REVISION;
25647var LAST_COMPATIBLE_COMPILER_REVISION = 7;
25648
25649exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
25650var REVISION_CHANGES = {
25651  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
25652  2: '== 1.0.0-rc.3',
25653  3: '== 1.0.0-rc.4',
25654  4: '== 1.x.x',
25655  5: '== 2.0.0-alpha.x',
25656  6: '>= 2.0.0-beta.1',
25657  7: '>= 4.0.0 <4.3.0',
25658  8: '>= 4.3.0'
25659};
25660
25661exports.REVISION_CHANGES = REVISION_CHANGES;
25662var objectType = '[object Object]';
25663
25664function HandlebarsEnvironment(helpers, partials, decorators) {
25665  this.helpers = helpers || {};
25666  this.partials = partials || {};
25667  this.decorators = decorators || {};
25668
25669  _helpers.registerDefaultHelpers(this);
25670  _decorators.registerDefaultDecorators(this);
25671}
25672
25673HandlebarsEnvironment.prototype = {
25674  constructor: HandlebarsEnvironment,
25675
25676  logger: _logger2['default'],
25677  log: _logger2['default'].log,
25678
25679  registerHelper: function registerHelper(name, fn) {
25680    if (_utils.toString.call(name) === objectType) {
25681      if (fn) {
25682        throw new _exception2['default']('Arg not supported with multiple helpers');
25683      }
25684      _utils.extend(this.helpers, name);
25685    } else {
25686      this.helpers[name] = fn;
25687    }
25688  },
25689  unregisterHelper: function unregisterHelper(name) {
25690    delete this.helpers[name];
25691  },
25692
25693  registerPartial: function registerPartial(name, partial) {
25694    if (_utils.toString.call(name) === objectType) {
25695      _utils.extend(this.partials, name);
25696    } else {
25697      if (typeof partial === 'undefined') {
25698        throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
25699      }
25700      this.partials[name] = partial;
25701    }
25702  },
25703  unregisterPartial: function unregisterPartial(name) {
25704    delete this.partials[name];
25705  },
25706
25707  registerDecorator: function registerDecorator(name, fn) {
25708    if (_utils.toString.call(name) === objectType) {
25709      if (fn) {
25710        throw new _exception2['default']('Arg not supported with multiple decorators');
25711      }
25712      _utils.extend(this.decorators, name);
25713    } else {
25714      this.decorators[name] = fn;
25715    }
25716  },
25717  unregisterDecorator: function unregisterDecorator(name) {
25718    delete this.decorators[name];
25719  },
25720  /**
25721   * Reset the memory of illegal property accesses that have already been logged.
25722   * @deprecated should only be used in handlebars test-cases
25723   */
25724  resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {
25725    _internalProtoAccess.resetLoggedProperties();
25726  }
25727};
25728
25729var log = _logger2['default'].log;
25730
25731exports.log = log;
25732exports.createFrame = _utils.createFrame;
25733exports.logger = _logger2['default'];
25734//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQU
25734F5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy43JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbW
25734UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19
25735
25736
25737/***/ }),
25738
25739/***/ 881:
25740/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
25741
25742"use strict";
25743
25744
25745exports.__esModule = true;
25746exports.registerDefaultDecorators = registerDefaultDecorators;
25747// istanbul ignore next
25748
25749function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
25750
25751var _decoratorsInline = __webpack_require__(5670);
25752
25753var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
25754
25755function registerDefaultDecorators(instance) {
25756  _decoratorsInline2['default'](instance);
25757}
25758//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=
25759
25760
25761/***/ }),
25762
25763/***/ 5670:
25764/***/ (function(module, exports, __webpack_require__) {
25765
25766"use strict";
25767
25768
25769exports.__esModule = true;
25770
25771var _utils = __webpack_require__(2392);
25772
25773exports["default"] = function (instance) {
25774  instance.registerDecorator('inline', function (fn, props, container, options) {
25775    var ret = fn;
25776    if (!props.partials) {
25777      props.partials = {};
25778      ret = function (context, options) {
25779        // Create a new partials stack frame prior to exec.
25780        var original = container.partials;
25781        container.partials = _utils.extend({}, original, props.partials);
25782        var ret = fn(context, options);
25783        container.partials = original;
25784        return ret;
25785      };
25786    }
25787
25788    props.partials[options.args[0]] = options.fn;
25789
25790    return ret;
25791  });
25792};
25793
25794module.exports = exports['default'];
25795//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0F
vendor: 4,191 bytes, lines 25795-25867
25795BRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
25796
25797
25798/***/ }),
25799
25800/***/ 8728:
25801/***/ (function(module, exports) {
25802
25803"use strict";
25804
25805
25806exports.__esModule = true;
25807var errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];
25808
25809function Exception(message, node) {
25810  var loc = node && node.loc,
25811      line = undefined,
25812      endLineNumber = undefined,
25813      column = undefined,
25814      endColumn = undefined;
25815
25816  if (loc) {
25817    line = loc.start.line;
25818    endLineNumber = loc.end.line;
25819    column = loc.start.column;
25820    endColumn = loc.end.column;
25821
25822    message += ' - ' + line + ':' + column;
25823  }
25824
25825  var tmp = Error.prototype.constructor.call(this, message);
25826
25827  // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
25828  for (var idx = 0; idx < errorProps.length; idx++) {
25829    this[errorProps[idx]] = tmp[errorProps[idx]];
25830  }
25831
25832  /* istanbul ignore else */
25833  if (Error.captureStackTrace) {
25834    Error.captureStackTrace(this, Exception);
25835  }
25836
25837  try {
25838    if (loc) {
25839      this.lineNumber = line;
25840      this.endLineNumber = endLineNumber;
25841
25842      // Work around issue under safari where we can't directly set the column value
25843      /* istanbul ignore next */
25844      if (Object.defineProperty) {
25845        Object.defineProperty(this, 'column', {
25846          value: column,
25847          enumerable: true
25848        });
25849        Object.defineProperty(this, 'endColumn', {
25850          value: endColumn,
25851          enumerable: true
25852        });
25853      } else {
25854        this.column = column;
25855        this.endColumn = endColumn;
25856      }
25857    }
25858  } catch (nop) {
25859    /* Ignore if the browser is very particular */
25860  }
25861}
25862
25863Exception.prototype = new Error();
25864
25865exports["default"] = Exception;
25866module.exports = exports['default'];
25867//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQU
25867FHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=
25868
25869
25870/***/ }),
25871
25872/***/ 2638:
25873/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
25874
25875"use strict";
25876
25877
25878exports.__esModule = true;
25879exports.registerDefaultHelpers = registerDefaultHelpers;
25880exports.moveHelperToHooks = moveHelperToHooks;
25881// istanbul ignore next
25882
25883function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
25884
25885var _helpersBlockHelperMissing = __webpack_require__(7342);
25886
25887var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
25888
25889var _helpersEach = __webpack_require__(6822);
25890
25891var _helpersEach2 = _interopRequireDefault(_helpersEach);
25892
25893var _helpersHelperMissing = __webpack_require__(4905);
25894
25895var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
25896
25897var _helpersIf = __webpack_require__(7405);
25898
25899var _helpersIf2 = _interopRequireDefault(_helpersIf);
25900
25901var _helpersLog = __webpack_require__(5702);
25902
25903var _helpersLog2 = _interopRequireDefault(_helpersLog);
25904
25905var _helpersLookup = __webpack_require__(9709);
25906
25907var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
25908
25909var _helpersWith = __webpack_require__(3978);
25910
25911var _helpersWith2 = _interopRequireDefault(_helpersWith);
25912
25913function registerDefaultHelpers(instance) {
25914  _helpersBlockHelperMissing2['default'](instance);
25915  _helpersEach2['default'](instance);
25916  _helpersHelperMissing2['default'](instance);
25917  _helpersIf2['default'](instance);
25918  _helpersLog2['default'](instance);
25919  _helpersLookup2['default'](instance);
25920  _helpersWith2['default'](instance);
25921}
25922
25923function moveHelperToHooks(instance, helperName, keepHelper) {
25924  if (instance.helpers[helperName]) {
25925    instance.hooks[helperName] = instance.helpers[helperName];
25926    if (!keepHelper) {
25927      delete instance.helpers[helperName];
25928    }
25929  }
25930}
25931//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19
25932
25933
vendor: 6,471 bytes, lines 25934-26067
25934/***/ }),
25935
25936/***/ 7342:
25937/***/ (function(module, exports, __webpack_require__) {
25938
25939"use strict";
25940
25941
25942exports.__esModule = true;
25943
25944var _utils = __webpack_require__(2392);
25945
25946exports["default"] = function (instance) {
25947  instance.registerHelper('blockHelperMissing', function (context, options) {
25948    var inverse = options.inverse,
25949        fn = options.fn;
25950
25951    if (context === true) {
25952      return fn(this);
25953    } else if (context === false || context == null) {
25954      return inverse(this);
25955    } else if (_utils.isArray(context)) {
25956      if (context.length > 0) {
25957        if (options.ids) {
25958          options.ids = [options.name];
25959        }
25960
25961        return instance.helpers.each(context, options);
25962      } else {
25963        return inverse(this);
25964      }
25965    } else {
25966      if (options.data && options.ids) {
25967        var data = _utils.createFrame(options.data);
25968        data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);
25969        options = { data: data };
25970      }
25971
25972      return fn(context, options);
25973    }
25974  });
25975};
25976
25977module.exports = exports['default'];
25978//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
25979
25980
25981/***/ }),
25982
25983/***/ 6822:
25984/***/ (function(module, exports, __webpack_require__) {
25985
25986"use strict";
25987
25988
25989exports.__esModule = true;
25990// istanbul ignore next
25991
25992function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
25993
25994var _utils = __webpack_require__(2392);
25995
25996var _exception = __webpack_require__(8728);
25997
25998var _exception2 = _interopRequireDefault(_exception);
25999
26000exports["default"] = function (instance) {
26001  instance.registerHelper('each', function (context, options) {
26002    if (!options) {
26003      throw new _exception2['default']('Must pass iterator to #each');
26004    }
26005
26006    var fn = options.fn,
26007        inverse = options.inverse,
26008        i = 0,
26009        ret = '',
26010        data = undefined,
26011        contextPath = undefined;
26012
26013    if (options.data && options.ids) {
26014      contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
26015    }
26016
26017    if (_utils.isFunction(context)) {
26018      context = context.call(this);
26019    }
26020
26021    if (options.data) {
26022      data = _utils.createFrame(options.data);
26023    }
26024
26025    function execIteration(field, index, last) {
26026      if (data) {
26027        data.key = field;
26028        data.index = index;
26029        data.first = index === 0;
26030        data.last = !!last;
26031
26032        if (contextPath) {
26033          data.contextPath = contextPath + field;
26034        }
26035      }
26036
26037      ret = ret + fn(context[field], {
26038        data: data,
26039        blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])
26040      });
26041    }
26042
26043    if (context && typeof context === 'object') {
26044      if (_utils.isArray(context)) {
26045        for (var j = context.length; i < j; i++) {
26046          if (i in context) {
26047            execIteration(i, i, i === context.length - 1);
26048          }
26049        }
26050      } else if (__webpack_require__.g.Symbol && context[__webpack_require__.g.Symbol.iterator]) {
26051        var newContext = [];
26052        var iterator = context[__webpack_require__.g.Symbol.iterator]();
26053        for (var it = iterator.next(); !it.done; it = iterator.next()) {
26054          newContext.push(it.value);
26055        }
26056        context = newContext;
26057        for (var j = context.length; i < j; i++) {
26058          execIteration(i, i, i === context.length - 1);
26059        }
26060      } else {
26061        (function () {
26062          var priorKey = undefined;
26063
26064          Object.keys(context).forEach(function (key) {
26065            // We're running the iterations one step out of sync so we can detect
26066            // the last iteration without have to scan the object twice and create
26067            // an itermediate keys array.
26068            if (priorKey !== undefined) {
26069              execIteration(priorKey, i - 1);
26070            }
26071            priorKey = key;
26072            i++;
26073          });
26074          if (priorKey !== undefined) {
26075            execIteration(priorKey, i - 1, true);
26076          }
26077        })();
26078      }
26079    }
26080
26081    if (i === 0) {
26082      ret = inverse(this);
26083    }
26084
26085    return ret;
26086  });
26087};
26088
26089module.exports = exports['default'];
26090//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUMzRCxZQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsWUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUNuRCxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRh
26090dGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZ2xvYmFsLlN5bWJvbCAmJiBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRleHQgPSBbXTtcbiAgICAgICAgY29uc3QgaXRlcmF0b3IgPSBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICAgIGZvciAobGV0IGl0ID0gaXRlcmF0b3IubmV4dCgpOyAhaXQuZG9uZTsgaXQgPSBpdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICBuZXdDb250ZXh0LnB1c2goaXQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQgPSBuZXdDb250ZXh0O1xuICAgICAgICBmb3IgKGxldCBqID0gY29udGV4dC5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKGksIGksIGkgPT09IGNvbnRleHQubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcmlvcktleTtcblxuICAgICAgICBPYmplY3Qua2V5cyhjb250ZXh0KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgLy8gV2UncmUgcnVubmluZyB0aGUgaXRlcmF0aW9ucyBvbmUgc3RlcCBvdXQgb2Ygc3luYyBzbyB3ZSBjYW4gZGV0ZWN0XG4gICAgICAgICAgLy8gdGhlIGxhc3QgaXRlcmF0aW9uIHdpdGhvdXQgaGF2ZSB0byBzY2FuIHRoZSBvYmplY3QgdHdpY2UgYW5kIGNyZWF0ZVxuICAgICAgICAgIC8vIGFuIGl0ZXJtZWRpYXRlIGtleXMgYXJyYXkuXG4gICAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24ocHJpb3JLZXksIGkgLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJpb3JLZXkgPSBrZXk7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgcmV0ID0gaW52ZXJzZSh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
26091
26092
26093/***/ }),
26094
26095/***/ 4905:
26096/***/ (function(module, exports, __webpack_require__) {
26097
26098"use strict";
26099
26100
26101exports.__esModule = true;
26102// istanbul ignore next
26103
26104function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
26105
26106var _exception = __webpack_require__(8728);
26107
26108var _exception2 = _interopRequireDefault(_exception);
26109
26110exports["default"] = function (instance) {
26111  instance.registerHelper('helperMissing', function () /* [args, ]options */{
26112    if (arguments.length === 1) {
26113      // A missing field in a {{foo}} construct.
26114      return undefined;
26115    } else {
26116      // Someone is actually trying to call something, blow up.
26117      throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"');
26118    }
26119  });
26120};
26121
26122module.exports = exports['default'];
26123//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gI
vendor: 8,337 bytes, lines 26123-26235
26123H0pO1xufVxuIl19
26124
26125
26126/***/ }),
26127
26128/***/ 7405:
26129/***/ (function(module, exports, __webpack_require__) {
26130
26131"use strict";
26132
26133
26134exports.__esModule = true;
26135// istanbul ignore next
26136
26137function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
26138
26139var _utils = __webpack_require__(2392);
26140
26141var _exception = __webpack_require__(8728);
26142
26143var _exception2 = _interopRequireDefault(_exception);
26144
26145exports["default"] = function (instance) {
26146  instance.registerHelper('if', function (conditional, options) {
26147    if (arguments.length != 2) {
26148      throw new _exception2['default']('#if requires exactly one argument');
26149    }
26150    if (_utils.isFunction(conditional)) {
26151      conditional = conditional.call(this);
26152    }
26153
26154    // Default behavior is to render the positive path if the value is truthy and not empty.
26155    // The `includeZero` option may be set to treat the condtional as purely not empty based on the
26156    // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
26157    if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
26158      return options.inverse(this);
26159    } else {
26160      return options.fn(this);
26161    }
26162  });
26163
26164  instance.registerHelper('unless', function (conditional, options) {
26165    if (arguments.length != 2) {
26166      throw new _exception2['default']('#unless requires exactly one argument');
26167    }
26168    return instance.helpers['if'].call(this, conditional, {
26169      fn: options.inverse,
26170      inverse: options.fn,
26171      hash: options.hash
26172    });
26173  });
26174};
26175
26176module.exports = exports['default'];
26177//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19
26178
26179
26180/***/ }),
26181
26182/***/ 5702:
26183/***/ (function(module, exports) {
26184
26185"use strict";
26186
26187
26188exports.__esModule = true;
26189
26190exports["default"] = function (instance) {
26191  instance.registerHelper('log', function () /* message, options */{
26192    var args = [undefined],
26193        options = arguments[arguments.length - 1];
26194    for (var i = 0; i < arguments.length - 1; i++) {
26195      args.push(arguments[i]);
26196    }
26197
26198    var level = 1;
26199    if (options.hash.level != null) {
26200      level = options.hash.level;
26201    } else if (options.data && options.data.level != null) {
26202      level = options.data.level;
26203    }
26204    args[0] = level;
26205
26206    instance.log.apply(instance, args);
26207  });
26208};
26209
26210module.exports = exports['default'];
26211//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19
26212
26213
26214/***/ }),
26215
26216/***/ 9709:
26217/***/ (function(module, exports) {
26218
26219"use strict";
26220
26221
26222exports.__esModule = true;
26223
26224exports["default"] = function (instance) {
26225  instance.registerHelper('lookup', function (obj, field, options) {
26226    if (!obj) {
26227      // Note for 5.0: Change to "obj == null" in 5.0
26228      return obj;
26229    }
26230    return options.lookupProperty(obj, field);
26231  });
26232};
26233
26234module.exports = exports['default'];
26235//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybi
26235BvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==
26236
26237
26238/***/ }),
26239
26240/***/ 3978:
26241/***/ (function(module, exports, __webpack_require__) {
26242
26243"use strict";
26244
26245
26246exports.__esModule = true;
26247// istanbul ignore next
26248
26249function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
26250
26251var _utils = __webpack_require__(2392);
26252
26253var _exception = __webpack_require__(8728);
26254
26255var _exception2 = _interopRequireDefault(_exception);
26256
26257exports["default"] = function (instance) {
26258  instance.registerHelper('with', function (context, options) {
26259    if (arguments.length != 2) {
26260      throw new _exception2['default']('#with requires exactly one argument');
26261    }
26262    if (_utils.isFunction(context)) {
26263      context = context.call(this);
26264    }
26265
26266    var fn = options.fn;
26267
26268    if (!_utils.isEmpty(context)) {
26269      var data = options.data;
26270      if (options.data && options.ids) {
26271        data = _utils.createFrame(options.data);
26272        data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);
26273      }
26274
26275      return fn(context, {
26276        data: data,
26277        blockParams: _utils.blockParams([context], [data && data.contextPath])
26278      });
26279    } else {
26280      return options.inverse(this);
26281    }
26282  });
26283};
26284
26285module.exports = exports['default'];
26286//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
26287
26288
26289/***/ }),
26290
26291/***/ 589:
26292/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
26293
26294"use strict";
26295
26296
26297exports.__esModule = true;
26298exports.createNewLookupObject = createNewLookupObject;
26299
26300var _utils = __webpack_require__(2392);
26301
26302/**
26303 * Create a new object with "null"-prototype to avoid truthy results on prototype properties.
26304 * The resulting object can be used with "object[property]" to check if a property exists
26305 * @param {...object} sources a varargs parameter of source objects that will be merged
26306 * @returns {object}
26307 */
26308
26309function createNewLookupObject() {
26310  for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {
26311    sources[_key] = arguments[_key];
26312  }
26313
26314  return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));
26315}
26316//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJv
26316cGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19
26317
26318
26319/***/ }),
26320
26321/***/ 6293:
26322/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
26323
26324"use strict";
26325
26326
26327exports.__esModule = true;
26328exports.createProtoAccessControl = createProtoAccessControl;
26329exports.resultIsAllowed = resultIsAllowed;
26330exports.resetLoggedProperties = resetLoggedProperties;
26331// istanbul ignore next
26332
26333function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
26334
26335var _createNewLookupObject = __webpack_require__(589);
26336
26337var _logger = __webpack_require__(8037);
26338
26339var logger = _interopRequireWildcard(_logger);
26340
26341var loggedProperties = Object.create(null);
26342
26343function createProtoAccessControl(runtimeOptions) {
26344  var defaultMethodWhiteList = Object.create(null);
26345  defaultMethodWhiteList['constructor'] = false;
26346  defaultMethodWhiteList['__defineGetter__'] = false;
26347  defaultMethodWhiteList['__defineSetter__'] = false;
26348  defaultMethodWhiteList['__lookupGetter__'] = false;
26349
26350  var defaultPropertyWhiteList = Object.create(null);
26351  // eslint-disable-next-line no-proto
26352  defaultPropertyWhiteList['__proto__'] = false;
26353
26354  return {
26355    properties: {
26356      whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),
26357      defaultValue: runtimeOptions.allowProtoPropertiesByDefault
26358    },
26359    methods: {
26360      whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),
26361      defaultValue: runtimeOptions.allowProtoMethodsByDefault
26362    }
26363  };
26364}
26365
26366function resultIsAllowed(result, protoAccessControl, propertyName) {
26367  if (typeof result === 'function') {
26368    return checkWhiteList(protoAccessControl.methods, propertyName);
26369  } else {
26370    return checkWhiteList(protoAccessControl.properties, propertyName);
26371  }
26372}
26373
26374function checkWhiteList(protoAccessControlForType, propertyName) {
26375  if (protoAccessControlForType.whitelist[propertyName] !== undefined) {
26376    return protoAccessControlForType.whitelist[propertyName] === true;
26377  }
26378  if (protoAccessControlForType.defaultValue !== undefined) {
26379    return protoAccessControlForType.defaultValue;
26380  }
26381  logUnexpecedPropertyAccessOnce(propertyName);
26382  return false;
26383}
26384
26385function logUnexpecedPropertyAccessOnce(propertyName) {
26386  if (loggedProperties[propertyName] !== true) {
26387    loggedProperties[propertyName] = true;
26388    logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');
26389  }
26390}
26391
26392function resetLoggedProperties() {
26393  Object.keys(loggedProperties).forEach(function (propertyName) {
26394    delete loggedProperties[propertyName];
26395  });
26396}
26397//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMxQyxXQUFXOztJQUF2QixNQUFNOztBQUVsQixJQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXRDLFNBQVMsd0JBQXdCLENBQUMsY0FBYyxFQUFFO0FBQ3ZELE1BQUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRCx3QkFBc0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDOUMsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRW5ELE1BQUksd0JBQXdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QU
26397FFbkQsMEJBQXdCLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUU5QyxTQUFPO0FBQ0wsY0FBVSxFQUFFO0FBQ1YsZUFBUyxFQUFFLDZDQUNULHdCQUF3QixFQUN4QixjQUFjLENBQUMsc0JBQXNCLENBQ3RDO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLDZDQUNULHNCQUFzQixFQUN0QixjQUFjLENBQUMsbUJBQW1CLENBQ25DO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLFVBQU0sQ0FBQyxHQUFHLENBQ1IsT0FBTyxFQUNQLGlFQUErRCxZQUFZLG9JQUNILG9IQUMyQyxDQUNwSCxDQUFDO0dBQ0g7Q0FDRjs7QUFFTSxTQUFTLHFCQUFxQixHQUFHO0FBQ3RDLFFBQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxZQUFZLEVBQUk7QUFDcEQsV0FBTyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztHQUN2QyxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJwcm90by1hY2Nlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVOZXdMb29rdXBPYmplY3QgfSBmcm9tICcuL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdCc7XG5pbXBvcnQgKiBhcyBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgbGV0IGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lR2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2RlZmluZVNldHRlcl9fJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG5cbiAgbGV0IGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0LFxuICAgICAgICBydW50aW1lT3B0aW9ucy5hbGxvd2VkUHJvdG9Qcm9wZXJ0aWVzXG4gICAgICApLFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvUHJvcGVydGllc0J5RGVmYXVsdFxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgd2hpdGVsaXN0OiBjcmVhdGVOZXdMb29rdXBPYmplY3QoXG4gICAgICAgIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9NZXRob2RzQnlEZWZhdWx0XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgcHJvdG9BY2Nlc3NDb250cm9sLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLm1ldGhvZHMsIHByb3BlcnR5TmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5wcm9wZXJ0aWVzLCBwcm9wZXJ0eU5hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUsIHByb3BlcnR5TmFtZSkge1xuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gPT09IHRydWU7XG4gIH1cbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWU7XG4gIH1cbiAgbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSkge1xuICBpZiAobG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdID0gdHJ1ZTtcbiAgICBsb2dnZXIubG9nKFxuICAgICAgJ2Vycm9yJyxcbiAgICAgIGBIYW5kbGViYXJzOiBBY2Nlc3MgaGFzIGJlZW4gZGVuaWVkIHRvIHJlc29sdmUgdGhlIHByb3BlcnR5IFwiJHtwcm9wZXJ0eU5hbWV9XCIgYmVjYXVzZSBpdCBpcyBub3QgYW4gXCJvd24gcHJvcGVydHlcIiBvZiBpdHMgcGFyZW50LlxcbmAgK1xuICAgICAgICBgWW91IGNhbiBhZGQgYSBydW50aW1lIG9wdGlvbiB0byBkaXNhYmxlIHRoZSBjaGVjayBvciB0aGlzIHdhcm5pbmc6XFxuYCArXG4gICAgICAgIGBTZWUgaHR0cHM6Ly9oYW5kbGViYXJzanMuY29tL2FwaS1yZWZlcmVuY2UvcnVudGltZS1vcHRpb25zLmh0bWwjb3B0aW9ucy10by1jb250cm9sLXByb3RvdHlwZS1hY2Nlc3MgZm9yIGRldGFpbHNgXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCkge1xuICBPYmplY3Qua2V5cyhsb2dnZWRQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG4gICAgZGVsZXRlIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgfSk7XG59XG4iXX0=
26398
26399
26400/***/ }),
26401
26402/***/ 7253:
26403/***/ (function(__unused_webpack_module, exports) {
26404
26405"use strict";
26406
26407
26408exports.__esModule = true;
26409exports.wrapHelper = wrapHelper;
26410
26411function wrapHelper(helper, transformOptionsFn) {
26412  if (typeof helper !== 'function') {
26413    // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639
26414    // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.
26415    return helper;
26416  }
26417  var wrapper = function wrapper() /* dynamic arguments */{
26418    var options = arguments[arguments.length - 1];
26419    arguments[arguments.length - 1] = transformOptionsFn(options);
26420    return helper.apply(this, arguments);
26421  };
26422  return wrapper;
26423}
26424//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUF
vendor: 5,938 bytes, lines 26424-26506
26424BSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=
26425
26426
26427/***/ }),
26428
26429/***/ 8037:
26430/***/ (function(module, exports, __webpack_require__) {
26431
26432"use strict";
26433
26434
26435exports.__esModule = true;
26436
26437var _utils = __webpack_require__(2392);
26438
26439var logger = {
26440  methodMap: ['debug', 'info', 'warn', 'error'],
26441  level: 'info',
26442
26443  // Maps a given level value to the `methodMap` indexes above.
26444  lookupLevel: function lookupLevel(level) {
26445    if (typeof level === 'string') {
26446      var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
26447      if (levelMap >= 0) {
26448        level = levelMap;
26449      } else {
26450        level = parseInt(level, 10);
26451      }
26452    }
26453
26454    return level;
26455  },
26456
26457  // Can be overridden in the host environment
26458  log: function log(level) {
26459    level = logger.lookupLevel(level);
26460
26461    if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
26462      var method = logger.methodMap[level];
26463      // eslint-disable-next-line no-console
26464      if (!console[method]) {
26465        method = 'log';
26466      }
26467
26468      for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
26469        message[_key - 1] = arguments[_key];
26470      }
26471
26472      console[method].apply(console, message); // eslint-disable-line no-console
26473    }
26474  }
26475};
26476
26477exports["default"] = logger;
26478module.exports = exports['default'];
26479//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=
26480
26481
26482/***/ }),
26483
26484/***/ 3982:
26485/***/ (function(module, exports, __webpack_require__) {
26486
26487"use strict";
26488
26489
26490exports.__esModule = true;
26491
26492exports["default"] = function (Handlebars) {
26493  /* istanbul ignore next */
26494  var root = typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : window,
26495      $Handlebars = root.Handlebars;
26496  /* istanbul ignore next */
26497  Handlebars.noConflict = function () {
26498    if (root.Handlebars === Handlebars) {
26499      root.Handlebars = $Handlebars;
26500    }
26501    return Handlebars;
26502  };
26503};
26504
26505module.exports = exports['default'];
26506//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxVQUFVLEVBQUU7O0F
vendor: 4,159 bytes, lines 26506-26592
26506BRWxDLE1BQUksSUFBSSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsR0FBRyxNQUFNLEdBQUcsTUFBTTtNQUN4RCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzs7QUFFaEMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDbEMsVUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7S0FDL0I7QUFDRCxXQUFPLFVBQVUsQ0FBQztHQUNuQixDQUFDO0NBQ0giLCJmaWxlIjoibm8tY29uZmxpY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihIYW5kbGViYXJzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCByb290ID0gdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB3aW5kb3csXG4gICAgJEhhbmRsZWJhcnMgPSByb290LkhhbmRsZWJhcnM7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEhhbmRsZWJhcnMubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkge1xuICAgIGlmIChyb290LkhhbmRsZWJhcnMgPT09IEhhbmRsZWJhcnMpIHtcbiAgICAgIHJvb3QuSGFuZGxlYmFycyA9ICRIYW5kbGViYXJzO1xuICAgIH1cbiAgICByZXR1cm4gSGFuZGxlYmFycztcbiAgfTtcbn1cbiJdfQ==
26507
26508
26509/***/ }),
26510
26511/***/ 1628:
26512/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
26513
26514"use strict";
26515
26516
26517exports.__esModule = true;
26518exports.checkRevision = checkRevision;
26519exports.template = template;
26520exports.wrapProgram = wrapProgram;
26521exports.resolvePartial = resolvePartial;
26522exports.invokePartial = invokePartial;
26523exports.noop = noop;
26524// istanbul ignore next
26525
26526function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
26527
26528// istanbul ignore next
26529
26530function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
26531
26532var _utils = __webpack_require__(2392);
26533
26534var Utils = _interopRequireWildcard(_utils);
26535
26536var _exception = __webpack_require__(8728);
26537
26538var _exception2 = _interopRequireDefault(_exception);
26539
26540var _base = __webpack_require__(2067);
26541
26542var _helpers = __webpack_require__(2638);
26543
26544var _internalWrapHelper = __webpack_require__(7253);
26545
26546var _internalProtoAccess = __webpack_require__(6293);
26547
26548function checkRevision(compilerInfo) {
26549  var compilerRevision = compilerInfo && compilerInfo[0] || 1,
26550      currentRevision = _base.COMPILER_REVISION;
26551
26552  if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
26553    return;
26554  }
26555
26556  if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
26557    var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
26558        compilerVersions = _base.REVISION_CHANGES[compilerRevision];
26559    throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
26560  } else {
26561    // Use the embedded version info since the runtime doesn't know about this revision yet
26562    throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
26563  }
26564}
26565
26566function template(templateSpec, env) {
26567  /* istanbul ignore next */
26568  if (!env) {
26569    throw new _exception2['default']('No environment passed to template');
26570  }
26571  if (!templateSpec || !templateSpec.main) {
26572    throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
26573  }
26574
26575  templateSpec.main.decorator = templateSpec.main_d;
26576
26577  // Note: Using env.VM references rather than local var references throughout this section to allow
26578  // for external users to override these as pseudo-supported APIs.
26579  env.VM.checkRevision(templateSpec.compiler);
26580
26581  // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
26582  var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
26583
26584  function invokePartialWrapper(partial, context, options) {
26585    if (options.hash) {
26586      context = Utils.extend({}, context, options.hash);
26587      if (options.ids) {
26588        options.ids[0] = true;
26589      }
26590    }
26591    partial = env.VM.resolvePartial.call(this, partial, context, options);
26592
vendor: 4,876 bytes, lines 26593-26744
26593    var extendedOptions = Utils.extend({}, options, {
26594      hooks: this.hooks,
26595      protoAccessControl: this.protoAccessControl
26596    });
26597
26598    var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);
26599
26600    if (result == null && env.compile) {
26601      options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
26602      result = options.partials[options.name](context, extendedOptions);
26603    }
26604    if (result != null) {
26605      if (options.indent) {
26606        var lines = result.split('\n');
26607        for (var i = 0, l = lines.length; i < l; i++) {
26608          if (!lines[i] && i + 1 === l) {
26609            break;
26610          }
26611
26612          lines[i] = options.indent + lines[i];
26613        }
26614        result = lines.join('\n');
26615      }
26616      return result;
26617    } else {
26618      throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
26619    }
26620  }
26621
26622  // Just add water
26623  var container = {
26624    strict: function strict(obj, name, loc) {
26625      if (!obj || !(name in obj)) {
26626        throw new _exception2['default']('"' + name + '" not defined in ' + obj, {
26627          loc: loc
26628        });
26629      }
26630      return container.lookupProperty(obj, name);
26631    },
26632    lookupProperty: function lookupProperty(parent, propertyName) {
26633      var result = parent[propertyName];
26634      if (result == null) {
26635        return result;
26636      }
26637      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
26638        return result;
26639      }
26640
26641      if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {
26642        return result;
26643      }
26644      return undefined;
26645    },
26646    lookup: function lookup(depths, name) {
26647      var len = depths.length;
26648      for (var i = 0; i < len; i++) {
26649        var result = depths[i] && container.lookupProperty(depths[i], name);
26650        if (result != null) {
26651          return depths[i][name];
26652        }
26653      }
26654    },
26655    lambda: function lambda(current, context) {
26656      return typeof current === 'function' ? current.call(context) : current;
26657    },
26658
26659    escapeExpression: Utils.escapeExpression,
26660    invokePartial: invokePartialWrapper,
26661
26662    fn: function fn(i) {
26663      var ret = templateSpec[i];
26664      ret.decorator = templateSpec[i + '_d'];
26665      return ret;
26666    },
26667
26668    programs: [],
26669    program: function program(i, data, declaredBlockParams, blockParams, depths) {
26670      var programWrapper = this.programs[i],
26671          fn = this.fn(i);
26672      if (data || depths || blockParams || declaredBlockParams) {
26673        programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
26674      } else if (!programWrapper) {
26675        programWrapper = this.programs[i] = wrapProgram(this, i, fn);
26676      }
26677      return programWrapper;
26678    },
26679
26680    data: function data(value, depth) {
26681      while (value && depth--) {
26682        value = value._parent;
26683      }
26684      return value;
26685    },
26686    mergeIfNeeded: function mergeIfNeeded(param, common) {
26687      var obj = param || common;
26688
26689      if (param && common && param !== common) {
26690        obj = Utils.extend({}, common, param);
26691      }
26692
26693      return obj;
26694    },
26695    // An empty object to use as replacement for null-contexts
26696    nullContext: Object.seal({}),
26697
26698    noop: env.VM.noop,
26699    compilerInfo: templateSpec.compiler
26700  };
26701
26702  function ret(context) {
26703    var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
26704
26705    var data = options.data;
26706
26707    ret._setup(options);
26708    if (!options.partial && templateSpec.useData) {
26709      data = initData(context, data);
26710    }
26711    var depths = undefined,
26712        blockParams = templateSpec.useBlockParams ? [] : undefined;
26713    if (templateSpec.useDepths) {
26714      if (options.depths) {
26715        depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
26716      } else {
26717        depths = [context];
26718      }
26719    }
26720
26721    function main(context /*, options*/) {
26722      return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
26723    }
26724
26725    main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
26726    return main(context, options);
26727  }
26728
26729  ret.isTop = true;
26730
26731  ret._setup = function (options) {
26732    if (!options.partial) {
26733      var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);
26734      wrapHelpersToPassLookupProperty(mergedHelpers, container);
26735      container.helpers = mergedHelpers;
26736
26737      if (templateSpec.usePartial) {
26738        // Use mergeIfNeeded here to prevent compiling global partials multiple times
26739        container.partials = container.mergeIfNeeded(options.partials, env.partials);
26740      }
26741      if (templateSpec.usePartial || templateSpec.useDecorators) {
26742        container.decorators = Utils.extend({}, env.decorators, options.decorators);
26743      }
26744
vendor: 4,455 bytes, lines 26745-26873
26745      container.hooks = {};
26746      container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);
26747
26748      var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
26749      _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
26750      _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
26751    } else {
26752      container.protoAccessControl = options.protoAccessControl; // internal option
26753      container.helpers = options.helpers;
26754      container.partials = options.partials;
26755      container.decorators = options.decorators;
26756      container.hooks = options.hooks;
26757    }
26758  };
26759
26760  ret._child = function (i, data, blockParams, depths) {
26761    if (templateSpec.useBlockParams && !blockParams) {
26762      throw new _exception2['default']('must pass block params');
26763    }
26764    if (templateSpec.useDepths && !depths) {
26765      throw new _exception2['default']('must pass parent depths');
26766    }
26767
26768    return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
26769  };
26770  return ret;
26771}
26772
26773function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
26774  function prog(context) {
26775    var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
26776
26777    var currentDepths = depths;
26778    if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {
26779      currentDepths = [context].concat(depths);
26780    }
26781
26782    return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
26783  }
26784
26785  prog = executeDecorators(fn, prog, container, depths, data, blockParams);
26786
26787  prog.program = i;
26788  prog.depth = depths ? depths.length : 0;
26789  prog.blockParams = declaredBlockParams || 0;
26790  return prog;
26791}
26792
26793/**
26794 * This is currently part of the official API, therefore implementation details should not be changed.
26795 */
26796
26797function resolvePartial(partial, context, options) {
26798  if (!partial) {
26799    if (options.name === '@partial-block') {
26800      partial = options.data['partial-block'];
26801    } else {
26802      partial = options.partials[options.name];
26803    }
26804  } else if (!partial.call && !options.name) {
26805    // This is a dynamic partial that returned a string
26806    options.name = partial;
26807    partial = options.partials[partial];
26808  }
26809  return partial;
26810}
26811
26812function invokePartial(partial, context, options) {
26813  // Use the current closure context to save the partial-block if this partial
26814  var currentPartialBlock = options.data && options.data['partial-block'];
26815  options.partial = true;
26816  if (options.ids) {
26817    options.data.contextPath = options.ids[0] || options.data.contextPath;
26818  }
26819
26820  var partialBlock = undefined;
26821  if (options.fn && options.fn !== noop) {
26822    (function () {
26823      options.data = _base.createFrame(options.data);
26824      // Wrapper function to get access to currentPartialBlock from the closure
26825      var fn = options.fn;
26826      partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {
26827        var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
26828
26829        // Restore the partial-block from the closure for the execution of the block
26830        // i.e. the part inside the block of the partial call.
26831        options.data = _base.createFrame(options.data);
26832        options.data['partial-block'] = currentPartialBlock;
26833        return fn(context, options);
26834      };
26835      if (fn.partials) {
26836        options.partials = Utils.extend({}, options.partials, fn.partials);
26837      }
26838    })();
26839  }
26840
26841  if (partial === undefined && partialBlock) {
26842    partial = partialBlock;
26843  }
26844
26845  if (partial === undefined) {
26846    throw new _exception2['default']('The partial ' + options.name + ' could not be found');
26847  } else if (partial instanceof Function) {
26848    return partial(context, options);
26849  }
26850}
26851
26852function noop() {
26853  return '';
26854}
26855
26856function initData(context, data) {
26857  if (!data || !('root' in data)) {
26858    data = data ? _base.createFrame(data) : {};
26859    data.root = context;
26860  }
26861  return data;
26862}
26863
26864function executeDecorators(fn, prog, container, depths, data, blockParams) {
26865  if (fn.decorator) {
26866    var props = {};
26867    prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
26868    Utils.extend(prog, props);
26869  }
26870  return prog;
26871}
26872
26873function wrapHelpersToPassLookupProperty(mergedHelpers, container) {
26874  Object.keys(mergedHelpers).forEach(function (helperName) {
26875    var helper = mergedHelpers[helperName];
26876    mergedHelpers[helperName] = passLookupPropertyOption(helper, container);
26877  });
26878}
26879
26880function passLookupPropertyOption(helper, container) {
26881  var lookupProperty = container.lookupProperty;
26882  return _internalWrapHelper.wrapHelper(helper, function (options) {
26883    return Utils.extend({ lookupProperty: lookupProperty }, options);
26884  });
26885}
26886//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztHQUN4RTs7QUFFRCxjQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O0FBSWxELEtBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O0FBRzVDLE1BQU0sb0NBQW9DLEdBQ3hDLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRTFELFdBQVMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDdkQsUUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELFVBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGVBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0tBQ0Y7QUFDRCxXQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUV0RSxRQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDOUMsV0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0FBQ2pCLHdCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7S0FDNUMsQ0FBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDOztBQUVGLFFBQUksTUFBTSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzFDLE9BQU8sRUFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixHQUFHLENBQ0osQ0FBQztBQUNGLFlBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDbkU7QUFDRCxRQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsVUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ2xCLFlBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsYUFBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLGtCQUFNO1dBQ1A7O0FBRUQsZUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0FBQ0QsY0FBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7QUFDRCxhQUFPLE1BQU0sQ0FBQztLQUNmLE1BQU07QUFDTCxZQUFNLDJCQUNKLGNBQWMsR0FDWixPQUFPLENBQUMsSUFBSSxHQUNaLDBEQUEwRCxDQUM3RCxDQUFDO0tBQ0g7R0FDRjs7O0FBR0QsTUFBSSxTQUFTLEdBQUc7QUFDZCxVQUFNLEVBQUUsZ0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDL0IsVUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxHQUFHLENBQUEsQUFBQyxFQUFFO0FBQzFCLGNBQU0sMkJBQWMsR0FBRyxHQU
26886FHLElBQUksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7QUFDMUQsYUFBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7T0FDSjtBQUNELGFBQU8sU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7QUFDRCxrQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxZQUFZLEVBQUU7QUFDN0MsVUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xDLFVBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsVUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFO0FBQzlELGVBQU8sTUFBTSxDQUFDO09BQ2Y7O0FBRUQsVUFBSSxxQ0FBZ0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsRUFBRTtBQUN2RSxlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsYUFBTyxTQUFTLENBQUM7S0FDbEI7QUFDRCxVQUFNLEVBQUUsZ0JBQVMsTUFBTSxFQUFFLElBQUksRUFBRTtBQUM3QixVQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQzFCLFdBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDNUIsWUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BFLFlBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixpQkFBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7T0FDRjtLQUNGO0FBQ0QsVUFBTSxFQUFFLGdCQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDakMsYUFBTyxPQUFPLE9BQU8sS0FBSyxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7S0FDeEU7O0FBRUQsb0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtBQUN4QyxpQkFBYSxFQUFFLG9CQUFvQjs7QUFFbkMsTUFBRSxFQUFFLFlBQVMsQ0FBQyxFQUFFO0FBQ2QsVUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLFNBQUcsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2QyxhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELFlBQVEsRUFBRSxFQUFFO0FBQ1osV0FBTyxFQUFFLGlCQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNuRSxVQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztVQUNuQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixVQUFJLElBQUksSUFBSSxNQUFNLElBQUksV0FBVyxJQUFJLG1CQUFtQixFQUFFO0FBQ3hELHNCQUFjLEdBQUcsV0FBVyxDQUMxQixJQUFJLEVBQ0osQ0FBQyxFQUNELEVBQUUsRUFDRixJQUFJLEVBQ0osbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztPQUNILE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUMxQixzQkFBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7T0FDOUQ7QUFDRCxhQUFPLGNBQWMsQ0FBQztLQUN2Qjs7QUFFRCxRQUFJLEVBQUUsY0FBUyxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQzNCLGFBQU8sS0FBSyxJQUFJLEtBQUssRUFBRSxFQUFFO0FBQ3ZCLGFBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO09BQ3ZCO0FBQ0QsYUFBTyxLQUFLLENBQUM7S0FDZDtBQUNELGlCQUFhLEVBQUUsdUJBQVMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUNyQyxVQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDOztBQUUxQixVQUFJLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtBQUN2QyxXQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO09BQ3ZDOztBQUVELGFBQU8sR0FBRyxDQUFDO0tBQ1o7O0FBRUQsZUFBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOztBQUU1QixRQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0FBQ2pCLGdCQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVE7R0FDcEMsQ0FBQzs7QUFFRixXQUFTLEdBQUcsQ0FBQyxPQUFPLEVBQWdCO1FBQWQsT0FBTyx5REFBRyxFQUFFOztBQUNoQyxRQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDOztBQUV4QixPQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDNUMsVUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDaEM7QUFDRCxRQUFJLE1BQU0sWUFBQTtRQUNSLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7QUFDN0QsUUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO0FBQzFCLFVBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtBQUNsQixjQUFNLEdBQ0osT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQ3hCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQztPQUN0QixNQUFNO0FBQ0wsY0FBTSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7T0FDcEI7S0FDRjs7QUFFRCxhQUFTLElBQUksQ0FBQyxPQUFPLGdCQUFnQjtBQUNuQyxhQUNFLEVBQUUsR0FDRixZQUFZLENBQUMsSUFBSSxDQUNmLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxDQUFDLE9BQU8sRUFDakIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FDRDtLQUNIOztBQUVELFFBQUksR0FBRyxpQkFBaUIsQ0FDdEIsWUFBWSxDQUFDLElBQUksRUFDakIsSUFBSSxFQUNKLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFDcEIsSUFBSSxFQUNKLFdBQVcsQ0FDWixDQUFDO0FBQ0YsV0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQy9COztBQUVELEtBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztBQUVqQixLQUFHLENBQUMsTUFBTSxHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQzdCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO0FBQ3BCLFVBQUksY
26886UFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25FLHFDQUErQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxRCxlQUFTLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQzs7QUFFbEMsVUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFOztBQUUzQixpQkFBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUMxQyxPQUFPLENBQUMsUUFBUSxFQUNoQixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7T0FDSDtBQUNELFVBQUksWUFBWSxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFO0FBQ3pELGlCQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2pDLEVBQUUsRUFDRixHQUFHLENBQUMsVUFBVSxFQUNkLE9BQU8sQ0FBQyxVQUFVLENBQ25CLENBQUM7T0FDSDs7QUFFRCxlQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNyQixlQUFTLENBQUMsa0JBQWtCLEdBQUcsOENBQXlCLE9BQU8sQ0FBQyxDQUFDOztBQUVqRSxVQUFJLG1CQUFtQixHQUNyQixPQUFPLENBQUMseUJBQXlCLElBQ2pDLG9DQUFvQyxDQUFDO0FBQ3ZDLGlDQUFrQixTQUFTLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDbkUsaUNBQWtCLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0tBQ3pFLE1BQU07QUFDTCxlQUFTLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQzFELGVBQVMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNwQyxlQUFTLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDdEMsZUFBUyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQzFDLGVBQVMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUNqQztHQUNGLENBQUM7O0FBRUYsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNsRCxRQUFJLFlBQVksQ0FBQyxjQUFjLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDL0MsWUFBTSwyQkFBYyx3QkFBd0IsQ0FBQyxDQUFDO0tBQy9DO0FBQ0QsUUFBSSxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ3JDLFlBQU0sMkJBQWMseUJBQXlCLENBQUMsQ0FBQztLQUNoRDs7QUFFRCxXQUFPLFdBQVcsQ0FDaEIsU0FBUyxFQUNULENBQUMsRUFDRCxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsSUFBSSxFQUNKLENBQUMsRUFDRCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7R0FDSCxDQUFDO0FBQ0YsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLFdBQVcsQ0FDekIsU0FBUyxFQUNULENBQUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsTUFBTSxFQUNOO0FBQ0EsV0FBUyxJQUFJLENBQUMsT0FBTyxFQUFnQjtRQUFkLE9BQU8seURBQUcsRUFBRTs7QUFDakMsUUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBQzNCLFFBQ0UsTUFBTSxJQUNOLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQ3BCLEVBQUUsT0FBTyxLQUFLLFNBQVMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQSxBQUFDLEVBQzFEO0FBQ0EsbUJBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQzs7QUFFRCxXQUFPLEVBQUUsQ0FDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxFQUNwQixXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUN4RCxhQUFhLENBQ2QsQ0FBQztHQUNIOztBQUVELE1BQUksR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDOztBQUV6RSxNQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN4QyxNQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixJQUFJLENBQUMsQ0FBQztBQUM1QyxTQUFPLElBQUksQ0FBQztDQUNiOzs7Ozs7QUFLTSxTQUFTLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN4RCxNQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osUUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO0FBQ3JDLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3pDLE1BQU07QUFDTCxhQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUM7R0FDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTs7QUFFekMsV0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7QUFDdkIsV0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7R0FDckM7QUFDRCxTQUFPLE9BQU8sQ0FBQztDQUNoQjs7QUFFTSxTQUFTLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTs7QUFFdkQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDMUUsU0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDdkIsTUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO0FBQ2YsV0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztHQUN2RTs7QUFFRCxNQUFJLFlBQVksWUFBQSxDQUFDO0FBQ2pCLE1BQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTs7QUFDckMsYUFBTyxDQUFDLElBQUksR0FBRyxrQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXpDLFVBQUksRUFBRSxHQU
26886FHLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDcEIsa0JBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFNBQVMsbUJBQW1CLENBQ3pFLE9BQU8sRUFFUDtZQURBLE9BQU8seURBQUcsRUFBRTs7OztBQUlaLGVBQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLGVBQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsbUJBQW1CLENBQUM7QUFDcEQsZUFBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQzdCLENBQUM7QUFDRixVQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7QUFDZixlQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO09BQ3BFOztHQUNGOztBQUVELE1BQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxZQUFZLEVBQUU7QUFDekMsV0FBTyxHQUFHLFlBQVksQ0FBQztHQUN4Qjs7QUFFRCxNQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7QUFDekIsVUFBTSwyQkFBYyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0dBQzVFLE1BQU0sSUFBSSxPQUFPLFlBQVksUUFBUSxFQUFFO0FBQ3RDLFdBQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNsQztDQUNGOztBQUVNLFNBQVMsSUFBSSxHQUFHO0FBQ3JCLFNBQU8sRUFBRSxDQUFDO0NBQ1g7O0FBRUQsU0FBUyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUMvQixNQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQSxBQUFDLEVBQUU7QUFDOUIsUUFBSSxHQUFHLElBQUksR0FBRyxrQkFBWSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDckMsUUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7R0FDckI7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7QUFDekUsTUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFO0FBQ2hCLFFBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNmLFFBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0FBQ0YsU0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7R0FDM0I7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsK0JBQStCLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRTtBQUNqRSxRQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFVBQVUsRUFBSTtBQUMvQyxRQUFJLE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkMsaUJBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7R0FDekUsQ0FBQyxDQUFDO0NBQ0o7O0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO0FBQ25ELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7QUFDaEQsU0FBTywrQkFBVyxNQUFNLEVBQUUsVUFBQSxPQUFPLEVBQUk7QUFDbkMsV0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxFQUFkLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ2xELENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgbGV0IGV4dGVuZGVkT3B0aW9ucyA9IFV0aWxzLmV4dGVuZCh7fSwgb3B0aW9ucywge1xuICAgICAgaG9va3M6IHR
26886oaXMuaG9va3MsXG4gICAgICBwcm90b0FjY2Vzc0NvbnRyb2w6IHRoaXMucHJvdG9BY2Nlc3NDb250cm9sXG4gICAgfSk7XG5cbiAgICBsZXQgcmVzdWx0ID0gZW52LlZNLmludm9rZVBhcnRpYWwuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICBwYXJ0aWFsLFxuICAgICAgY29udGV4dCxcbiAgICAgIGV4dGVuZGVkT3B0aW9uc1xuICAgICk7XG5cbiAgICBpZiAocmVzdWx0ID09IG51bGwgJiYgZW52LmNvbXBpbGUpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHNbb3B0aW9ucy5uYW1lXSA9IGVudi5jb21waWxlKFxuICAgICAgICBwYXJ0aWFsLFxuICAgICAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICBlbnZcbiAgICAgICk7XG4gICAgICByZXN1bHQgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0oY29udGV4dCwgZXh0ZW5kZWRPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICBpZiAob3B0aW9ucy5pbmRlbnQpIHtcbiAgICAgICAgbGV0IGxpbmVzID0gcmVzdWx0LnNwbGl0KCdcXG4nKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaW5lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICBpZiAoIWxpbmVzW2ldICYmIGkgKyAxID09PSBsKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lc1tpXSA9IG9wdGlvbnMuaW5kZW50ICsgbGluZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gbGluZXMuam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVGhlIHBhcnRpYWwgJyArXG4gICAgICAgICAgb3B0aW9ucy5uYW1lICtcbiAgICAgICAgICAnIGNvdWxkIG5vdCBiZSBjb21waWxlZCB3aGVuIHJ1bm5pbmcgaW4gcnVudGltZS1vbmx5IG1vZGUnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEp1c3QgYWRkIHdhdGVyXG4gIGxldCBjb250YWluZXIgPSB7XG4gICAgc3RyaWN0OiBmdW5jdGlvbihvYmosIG5hbWUsIGxvYykge1xuICAgICAgaWYgKCFvYmogfHwgIShuYW1lIGluIG9iaikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignXCInICsgbmFtZSArICdcIiBub3QgZGVmaW5lZCBpbiAnICsgb2JqLCB7XG4gICAgICAgICAgbG9jOiBsb2NcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5KG9iaiwgbmFtZSk7XG4gICAgfSxcbiAgICBsb29rdXBQcm9wZXJ0eTogZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGxldCByZXN1bHQgPSBwYXJlbnRbcHJvcGVydHlOYW1lXTtcbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBsb29rdXA6IGZ1bmN0aW9uKGRlcHRocywgbmFtZSkge1xuICAgICAgY29uc3QgbGVuID0gZGVwdGhzLmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGRlcHRoc1tpXSAmJiBjb250YWluZXIubG9va3VwUHJvcGVydHkoZGVwdGhzW2ldLCBuYW1lKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGRlcHRoc1tpXVtuYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgbGFtYmRhOiBmdW5jdGlvbihjdXJyZW50LCBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGN1cnJlbnQgPT09ICdmdW5jdGlvbicgPyBjdXJyZW50LmNhbGwoY29udGV4dCkgOiBjdXJyZW50O1xuICAgIH0sXG5cbiAgICBlc2NhcGVFeHByZXNzaW9uOiBVdGlscy5lc2NhcGVFeHByZXNzaW9uLFxuICAgIGludm9rZVBhcnRpYWw6IGludm9rZVBhcnRpYWxXcmFwcGVyLFxuXG4gICAgZm46IGZ1bmN0aW9uKGkpIHtcbiAgICAgIGxldCByZXQgPSB0ZW1wbGF0ZVNwZWNbaV07XG4gICAgICByZXQuZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjW2kgKyAnX2QnXTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSxcblxuICAgIHByb2dyYW1zOiBbXSxcbiAgICBwcm9ncmFtOiBmdW5jdGlvbihpLCBkYXRhLCBkZWNsYXJlZEJsb2NrUGFyYW1zLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgICBsZXQgcHJvZ3JhbVdyYXBwZXIgPSB0aGlzLnByb2dyYW1zW2ldLFxuICAgICAgICBmbiA9IHRoaXMuZm4oaSk7XG4gICAgICBpZiAoZGF0YSB8fCBkZXB0aHMgfHwgYmxvY2tQYXJhbXMgfHwgZGVjbGFyZWRCbG9ja1BhcmFtcykge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHdyYXBQcm9ncmFtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgaSxcbiAgICAgICAgICBmbixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRlY2xhcmVkQmxvY2tQYXJhbXMsXG4gICAgICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICAgICAgZGVwdGhzXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKCFwcm9ncmFtV3JhcHBlcikge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0gPSB3cmFwUHJvZ3JhbSh0aGlzLCBpLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvZ3JhbVdyYXBwZXI7XG4gICAgfSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uKHZhbHVlLCBkZXB0aCkge1xuICAgICAgd2hpbGUgKHZhbHVlICYmIGRlcHRoLS0pIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5fcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgbWVyZ2VJZk5lZWRlZDogZnVuY3Rpb24ocGFyYW0sIGNvbW1vbikge1xuICAgICAgbGV0IG9iaiA9IHBhcmFtIHx8IGNvbW1vbjtcblxuICAgICAgaWYgKHBhcmFtICYmIGNvbW1vbiAmJiBwYXJhbSAhPT0gY29tbW9uKSB7XG4gICAgICAgIG9iaiA9IFV0aWxzLmV4dGVuZCh7fSwgY29tbW9uLCBwYXJhbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybi
26886BvYmo7XG4gICAgfSxcbiAgICAvLyBBbiBlbXB0eSBvYmplY3QgdG8gdXNlIGFzIHJlcGxhY2VtZW50IGZvciBudWxsLWNvbnRleHRzXG4gICAgbnVsbENvbnRleHQ6IE9iamVjdC5zZWFsKHt9KSxcblxuICAgIG5vb3A6IGVudi5WTS5ub29wLFxuICAgIGNvbXBpbGVySW5mbzogdGVtcGxhdGVTcGVjLmNvbXBpbGVyXG4gIH07XG5cbiAgZnVuY3Rpb24gcmV0KGNvbnRleHQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuXG4gICAgcmV0Ll9zZXR1cChvcHRpb25zKTtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCAmJiB0ZW1wbGF0ZVNwZWMudXNlRGF0YSkge1xuICAgICAgZGF0YSA9IGluaXREYXRhKGNvbnRleHQsIGRhdGEpO1xuICAgIH1cbiAgICBsZXQgZGVwdGhzLFxuICAgICAgYmxvY2tQYXJhbXMgPSB0ZW1wbGF0ZVNwZWMudXNlQmxvY2tQYXJhbXMgPyBbXSA6IHVuZGVmaW5lZDtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocykge1xuICAgICAgaWYgKG9wdGlvbnMuZGVwdGhzKSB7XG4gICAgICAgIGRlcHRocyA9XG4gICAgICAgICAgY29udGV4dCAhPSBvcHRpb25zLmRlcHRoc1swXVxuICAgICAgICAgICAgPyBbY29udGV4dF0uY29uY2F0KG9wdGlvbnMuZGVwdGhzKVxuICAgICAgICAgICAgOiBvcHRpb25zLmRlcHRocztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlcHRocyA9IFtjb250ZXh0XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWluKGNvbnRleHQgLyosIG9wdGlvbnMqLykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgJycgK1xuICAgICAgICB0ZW1wbGF0ZVNwZWMubWFpbihcbiAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtYWluID0gZXhlY3V0ZURlY29yYXRvcnMoXG4gICAgICB0ZW1wbGF0ZVNwZWMubWFpbixcbiAgICAgIG1haW4sXG4gICAgICBjb250YWluZXIsXG4gICAgICBvcHRpb25zLmRlcHRocyB8fCBbXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtc1xuICAgICk7XG4gICAgcmV0dXJuIG1haW4oY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cblxuICByZXQuaXNUb3AgPSB0cnVlO1xuXG4gIHJldC5fc2V0dXAgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhcnRpYWwpIHtcbiAgICAgIGxldCBtZXJnZWRIZWxwZXJzID0gVXRpbHMuZXh0ZW5kKHt9LCBlbnYuaGVscGVycywgb3B0aW9ucy5oZWxwZXJzKTtcbiAgICAgIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybi
26886ByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdO1xuICAgIH1cbiAgfSBlbHNlIGlmICghcGFydGlhbC5jYWxsICYmICFvcHRpb25zLm5hbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZHluYW1pYyBwYXJ0aWFsIHRoYXQgcmV0dXJuZWQgYSBzdHJpbmdcbiAgICBvcHRpb25zLm5hbWUgPSBwYXJ0aWFsO1xuICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW3BhcnRpYWxdO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhKGNvbnRleHQsIGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8ICEoJ3Jvb3QnIGluIGRhdGEpKSB7XG4gICAgZGF0YSA9IGRhdGEgPyBjcmVhdGVGcmFtZShkYXRhKSA6IHt9O1xuICAgIGRhdGEucm9vdCA9IGNvbnRleHQ7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEZWNvcmF0b3JzKGZuLCBwcm9nLCBjb250YWluZXIsIGRlcHRocywgZGF0YSwgYmxvY2tQYXJhbXMpIHtcbiAgaWYgKGZuLmRlY29yYXRvcikge1xuICAgIGxldCBwcm9wcyA9IHt9O1xuICAgIHByb2cgPSBmbi5kZWNvcmF0b3IoXG4gICAgICBwcm9nLFxuICAgICAgcHJvcHMsXG4gICAgICBjb250YWluZXIsXG4gICAgICBkZXB0aHMgJiYgZGVwdGhzWzBdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgICBVdGlscy5leHRlbmQocHJvZywgcHJvcHMpO1xuICB9XG4gI
vendor: 4,653 bytes, lines 26886-27023
26886HJldHVybiBwcm9nO1xufVxuXG5mdW5jdGlvbiB3cmFwSGVscGVyc1RvUGFzc0xvb2t1cFByb3BlcnR5KG1lcmdlZEhlbHBlcnMsIGNvbnRhaW5lcikge1xuICBPYmplY3Qua2V5cyhtZXJnZWRIZWxwZXJzKS5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgIGxldCBoZWxwZXIgPSBtZXJnZWRIZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV0gPSBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFzc0xvb2t1cFByb3BlcnR5T3B0aW9uKGhlbHBlciwgY29udGFpbmVyKSB7XG4gIGNvbnN0IGxvb2t1cFByb3BlcnR5ID0gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5O1xuICByZXR1cm4gd3JhcEhlbHBlcihoZWxwZXIsIG9wdGlvbnMgPT4ge1xuICAgIHJldHVybiBVdGlscy5leHRlbmQoeyBsb29rdXBQcm9wZXJ0eSB9LCBvcHRpb25zKTtcbiAgfSk7XG59XG4iXX0=
26887
26888
26889/***/ }),
26890
26891/***/ 5558:
26892/***/ (function(module, exports) {
26893
26894"use strict";
26895// Build out our basic SafeString type
26896
26897
26898exports.__esModule = true;
26899function SafeString(string) {
26900  this.string = string;
26901}
26902
26903SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
26904  return '' + this.string;
26905};
26906
26907exports["default"] = SafeString;
26908module.exports = exports['default'];
26909//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==
26910
26911
26912/***/ }),
26913
26914/***/ 2392:
26915/***/ (function(__unused_webpack_module, exports) {
26916
26917"use strict";
26918
26919
26920exports.__esModule = true;
26921exports.extend = extend;
26922exports.indexOf = indexOf;
26923exports.escapeExpression = escapeExpression;
26924exports.isEmpty = isEmpty;
26925exports.createFrame = createFrame;
26926exports.blockParams = blockParams;
26927exports.appendContextPath = appendContextPath;
26928var escape = {
26929  '&': '&amp;',
26930  '<': '&lt;',
26931  '>': '&gt;',
26932  '"': '&quot;',
26933  "'": '&#x27;',
26934  '`': '&#x60;',
26935  '=': '&#x3D;'
26936};
26937
26938var badChars = /[&<>"'`=]/g,
26939    possible = /[&<>"'`=]/;
26940
26941function escapeChar(chr) {
26942  return escape[chr];
26943}
26944
26945function extend(obj /* , ...source */) {
26946  for (var i = 1; i < arguments.length; i++) {
26947    for (var key in arguments[i]) {
26948      if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {
26949        obj[key] = arguments[i][key];
26950      }
26951    }
26952  }
26953
26954  return obj;
26955}
26956
26957var toString = Object.prototype.toString;
26958
26959exports.toString = toString;
26960// Sourced from lodash
26961// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
26962/* eslint-disable func-style */
26963var isFunction = function isFunction(value) {
26964  return typeof value === 'function';
26965};
26966// fallback for older versions of Chrome and Safari
26967/* istanbul ignore next */
26968if (isFunction(/x/)) {
26969  exports.isFunction = isFunction = function (value) {
26970    return typeof value === 'function' && toString.call(value) === '[object Function]';
26971  };
26972}
26973exports.isFunction = isFunction;
26974
26975/* eslint-enable func-style */
26976
26977/* istanbul ignore next */
26978var isArray = Array.isArray || function (value) {
26979  return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;
26980};
26981
26982exports.isArray = isArray;
26983// Older IE versions do not directly support indexOf so we must implement our own, sadly.
26984
26985function indexOf(array, value) {
26986  for (var i = 0, len = array.length; i < len; i++) {
26987    if (array[i] === value) {
26988      return i;
26989    }
26990  }
26991  return -1;
26992}
26993
26994function escapeExpression(string) {
26995  if (typeof string !== 'string') {
26996    // don't escape SafeStrings, since they're already safe
26997    if (string && string.toHTML) {
26998      return string.toHTML();
26999    } else if (string == null) {
27000      return '';
27001    } else if (!string) {
27002      return string + '';
27003    }
27004
27005    // Force a string conversion as this will be done by the append regardless and
27006    // the regex test will do this transparently behind the scenes, causing issues if
27007    // an object's to string has escaped characters in it.
27008    string = '' + string;
27009  }
27010
27011  if (!possible.test(string)) {
27012    return string;
27013  }
27014  return string.replace(badChars, escapeChar);
27015}
27016
27017function isEmpty(value) {
27018  if (!value && value !== 0) {
27019    return true;
27020  } else if (isArray(value) && value.length === 0) {
27021    return true;
27022  } else {
27023    return false;
27024  }
27025}
27026
27027function createFrame(object) {
27028  var frame = extend({}, object);
27029  frame._parent = object;
27030  return frame;
27031}
27032
27033function blockParams(params, ids) {
27034  params.path = ids;
27035  return params;
27036}
27037
27038function appendContextPath(contextPath, id) {
27039  return (contextPath ? contextPath + '.' : '') + id;
27040}
27041//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gI
27041H1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=
27042
27043
27044/***/ }),
27045
27046/***/ 5666:
27047/***/ (function(module
vendor: 17,270 bytes, lines 27047-27546
27047) {
27048
27049/**
27050 * Copyright (c) 2014-present, Facebook, Inc.
27051 *
27052 * This source code is licensed under the MIT license found in the
27053 * LICENSE file in the root directory of this source tree.
27054 */
27055
27056var runtime = (function (exports) {
27057  "use strict";
27058
27059  var Op = Object.prototype;
27060  var hasOwn = Op.hasOwnProperty;
27061  var undefined; // More compressible than void 0.
27062  var $Symbol = typeof Symbol === "function" ? Symbol : {};
27063  var iteratorSymbol = $Symbol.iterator || "@@iterator";
27064  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
27065  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
27066
27067  function define(obj, key, value) {
27068    Object.defineProperty(obj, key, {
27069      value: value,
27070      enumerable: true,
27071      configurable: true,
27072      writable: true
27073    });
27074    return obj[key];
27075  }
27076  try {
27077    // IE 8 has a broken Object.defineProperty that only works on DOM objects.
27078    define({}, "");
27079  } catch (err) {
27080    define = function(obj, key, value) {
27081      return obj[key] = value;
27082    };
27083  }
27084
27085  function wrap(innerFn, outerFn, self, tryLocsList) {
27086    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
27087    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
27088    var generator = Object.create(protoGenerator.prototype);
27089    var context = new Context(tryLocsList || []);
27090
27091    // The ._invoke method unifies the implementations of the .next,
27092    // .throw, and .return methods.
27093    generator._invoke = makeInvokeMethod(innerFn, self, context);
27094
27095    return generator;
27096  }
27097  exports.wrap = wrap;
27098
27099  // Try/catch helper to minimize deoptimizations. Returns a completion
27100  // record like context.tryEntries[i].completion. This interface could
27101  // have been (and was previously) designed to take a closure to be
27102  // invoked without arguments, but in all the cases we care about we
27103  // already have an existing method we want to call, so there's no need
27104  // to create a new function object. We can even get away with assuming
27105  // the method takes exactly one argument, since that happens to be true
27106  // in every case, so we don't have to touch the arguments object. The
27107  // only additional allocation required is the completion record, which
27108  // has a stable shape and so hopefully should be cheap to allocate.
27109  function tryCatch(fn, obj, arg) {
27110    try {
27111      return { type: "normal", arg: fn.call(obj, arg) };
27112    } catch (err) {
27113      return { type: "throw", arg: err };
27114    }
27115  }
27116
27117  var GenStateSuspendedStart = "suspendedStart";
27118  var GenStateSuspendedYield = "suspendedYield";
27119  var GenStateExecuting = "executing";
27120  var GenStateCompleted = "completed";
27121
27122  // Returning this object from the innerFn has the same effect as
27123  // breaking out of the dispatch switch statement.
27124  var ContinueSentinel = {};
27125
27126  // Dummy constructor functions that we use as the .constructor and
27127  // .constructor.prototype properties for functions that return Generator
27128  // objects. For full spec compliance, you may wish to configure your
27129  // minifier not to mangle the names of these two functions.
27130  function Generator() {}
27131  function GeneratorFunction() {}
27132  function GeneratorFunctionPrototype() {}
27133
27134  // This is a polyfill for %IteratorPrototype% for environments that
27135  // don't natively support it.
27136  var IteratorPrototype = {};
27137  define(IteratorPrototype, iteratorSymbol, function () {
27138    return this;
27139  });
27140
27141  var getProto = Object.getPrototypeOf;
27142  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
27143  if (NativeIteratorPrototype &&
27144      NativeIteratorPrototype !== Op &&
27145      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
27146    // This environment has a native %IteratorPrototype%; use it instead
27147    // of the polyfill.
27148    IteratorPrototype = NativeIteratorPrototype;
27149  }
27150
27151  var Gp = GeneratorFunctionPrototype.prototype =
27152    Generator.prototype = Object.create(IteratorPrototype);
27153  GeneratorFunction.prototype = GeneratorFunctionPrototype;
27154  define(Gp, "constructor", GeneratorFunctionPrototype);
27155  define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
27156  GeneratorFunction.displayName = define(
27157    GeneratorFunctionPrototype,
27158    toStringTagSymbol,
27159    "GeneratorFunction"
27160  );
27161
27162  // Helper for defining the .next, .throw, and .return methods of the
27163  // Iterator interface in terms of a single ._invoke method.
27164  function defineIteratorMethods(prototype) {
27165    ["next", "throw", "return"].forEach(function(method) {
27166      define(prototype, method, function(arg) {
27167        return this._invoke(method, arg);
27168      });
27169    });
27170  }
27171
27172  exports.isGeneratorFunction = function(genFun) {
27173    var ctor = typeof genFun === "function" && genFun.constructor;
27174    return ctor
27175      ? ctor === GeneratorFunction ||
27176        // For the native GeneratorFunction constructor, the best we can
27177        // do is to check its .name property.
27178        (ctor.displayName || ctor.name) === "GeneratorFunction"
27179      : false;
27180  };
27181
27182  exports.mark = function(genFun) {
27183    if (Object.setPrototypeOf) {
27184      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
27185    } else {
27186      genFun.__proto__ = GeneratorFunctionPrototype;
27187      define(genFun, toStringTagSymbol, "GeneratorFunction");
27188    }
27189    genFun.prototype = Object.create(Gp);
27190    return genFun;
27191  };
27192
27193  // Within the body of any async function, `await x` is transformed to
27194  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
27195  // `hasOwn.call(value, "__await")` to determine if the yielded value is
27196  // meant to be awaited.
27197  exports.awrap = function(arg) {
27198    return { __await: arg };
27199  };
27200
27201  function AsyncIterator(generator, PromiseImpl) {
27202    function invoke(method, arg, resolve, reject) {
27203      var record = tryCatch(generator[method], generator, arg);
27204      if (record.type === "throw") {
27205        reject(record.arg);
27206      } else {
27207        var result = record.arg;
27208        var value = result.value;
27209        if (value &&
27210            typeof value === "object" &&
27211            hasOwn.call(value, "__await")) {
27212          return PromiseImpl.resolve(value.__await).then(function(value) {
27213            invoke("next", value, resolve, reject);
27214          }, function(err) {
27215            invoke("throw", err, resolve, reject);
27216          });
27217        }
27218
27219        return PromiseImpl.resolve(value).then(function(unwrapped) {
27220          // When a yielded Promise is resolved, its final value becomes
27221          // the .value of the Promise<{value,done}> result for the
27222          // current iteration.
27223          result.value = unwrapped;
27224          resolve(result);
27225        }, function(error) {
27226          // If a rejected Promise was yielded, throw the rejection back
27227          // into the async generator function so it can be handled there.
27228          return invoke("throw", error, resolve, reject);
27229        });
27230      }
27231    }
27232
27233    var previousPromise;
27234
27235    function enqueue(method, arg) {
27236      function callInvokeWithMethodAndArg() {
27237        return new PromiseImpl(function(resolve, reject) {
27238          invoke(method, arg, resolve, reject);
27239        });
27240      }
27241
27242      return previousPromise =
27243        // If enqueue has been called before, then we want to wait until
27244        // all previous Promises have been resolved before calling invoke,
27245        // so that results are always delivered in the correct order. If
27246        // enqueue has not been called before, then it is important to
27247        // call invoke immediately, without waiting on a callback to fire,
27248        // so that the async generator function has the opportunity to do
27249        // any necessary setup in a predictable way. This predictability
27250        // is why the Promise constructor synchronously invokes its
27251        // executor callback, and why async functions synchronously
27252        // execute code before the first await. Since we implement simple
27253        // async functions in terms of async generators, it is especially
27254        // important to get this right, even though it requires care.
27255        previousPromise ? previousPromise.then(
27256          callInvokeWithMethodAndArg,
27257          // Avoid propagating failures to Promises returned by later
27258          // invocations of the iterator.
27259          callInvokeWithMethodAndArg
27260        ) : callInvokeWithMethodAndArg();
27261    }
27262
27263    // Define the unified helper method that is used to implement .next,
27264    // .throw, and .return (see defineIteratorMethods).
27265    this._invoke = enqueue;
27266  }
27267
27268  defineIteratorMethods(AsyncIterator.prototype);
27269  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
27270    return this;
27271  });
27272  exports.AsyncIterator = AsyncIterator;
27273
27274  // Note that simple async functions are implemented on top of
27275  // AsyncIterator objects; they just return a Promise for the value of
27276  // the final result produced by the iterator.
27277  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
27278    if (PromiseImpl === void 0) PromiseImpl = Promise;
27279
27280    var iter = new AsyncIterator(
27281      wrap(innerFn, outerFn, self, tryLocsList),
27282      PromiseImpl
27283    );
27284
27285    return exports.isGeneratorFunction(outerFn)
27286      ? iter // If outerFn is a generator, return the full iterator.
27287      : iter.next().then(function(result) {
27288          return result.done ? result.value : iter.next();
27289        });
27290  };
27291
27292  function makeInvokeMethod(innerFn, self, context) {
27293    var state = GenStateSuspendedStart;
27294
27295    return function invoke(method, arg) {
27296      if (state === GenStateExecuting) {
27297        throw new Error("Generator is already running");
27298      }
27299
27300      if (state === GenStateCompleted) {
27301        if (method === "throw") {
27302          throw arg;
27303        }
27304
27305        // Be forgiving, per 25.3.3.3.3 of the spec:
27306        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
27307        return doneResult();
27308      }
27309
27310      context.method = method;
27311      context.arg = arg;
27312
27313      while (true) {
27314        var delegate = context.delegate;
27315        if (delegate) {
27316          var delegateResult = maybeInvokeDelegate(delegate, context);
27317          if (delegateResult) {
27318            if (delegateResult === ContinueSentinel) continue;
27319            return delegateResult;
27320          }
27321        }
27322
27323        if (context.method === "next") {
27324          // Setting context._sent for legacy support of Babel's
27325          // function.sent implementation.
27326          context.sent = context._sent = context.arg;
27327
27328        } else if (context.method === "throw") {
27329          if (state === GenStateSuspendedStart) {
27330            state = GenStateCompleted;
27331            throw context.arg;
27332          }
27333
27334          context.dispatchException(context.arg);
27335
27336        } else if (context.method === "return") {
27337          context.abrupt("return", context.arg);
27338        }
27339
27340        state = GenStateExecuting;
27341
27342        var record = tryCatch(innerFn, self, context);
27343        if (record.type === "normal") {
27344          // If an exception is thrown from innerFn, we leave state ===
27345          // GenStateExecuting and loop back for another invocation.
27346          state = context.done
27347            ? GenStateCompleted
27348            : GenStateSuspendedYield;
27349
27350          if (record.arg === ContinueSentinel) {
27351            continue;
27352          }
27353
27354          return {
27355            value: record.arg,
27356            done: context.done
27357          };
27358
27359        } else if (record.type === "throw") {
27360          state = GenStateCompleted;
27361          // Dispatch the exception by looping back around to the
27362          // context.dispatchException(context.arg) call above.
27363          context.method = "throw";
27364          context.arg = record.arg;
27365        }
27366      }
27367    };
27368  }
27369
27370  // Call delegate.iterator[context.method](context.arg) and handle the
27371  // result, either by returning a { value, done } result from the
27372  // delegate iterator, or by modifying context.method and context.arg,
27373  // setting context.delegate to null, and returning the ContinueSentinel.
27374  function maybeInvokeDelegate(delegate, context) {
27375    var method = delegate.iterator[context.method];
27376    if (method === undefined) {
27377      // A .throw or .return when the delegate iterator has no .throw
27378      // method always terminates the yield* loop.
27379      context.delegate = null;
27380
27381      if (context.method === "throw") {
27382        // Note: ["return"] must be used for ES3 parsing compatibility.
27383        if (delegate.iterator["return"]) {
27384          // If the delegate iterator has a return method, give it a
27385          // chance to clean up.
27386          context.method = "return";
27387          context.arg = undefined;
27388          maybeInvokeDelegate(delegate, context);
27389
27390          if (context.method === "throw") {
27391            // If maybeInvokeDelegate(context) changed context.method from
27392            // "return" to "throw", let that override the TypeError below.
27393            return ContinueSentinel;
27394          }
27395        }
27396
27397        context.method = "throw";
27398        context.arg = new TypeError(
27399          "The iterator does not provide a 'throw' method");
27400      }
27401
27402      return ContinueSentinel;
27403    }
27404
27405    var record = tryCatch(method, delegate.iterator, context.arg);
27406
27407    if (record.type === "throw") {
27408      context.method = "throw";
27409      context.arg = record.arg;
27410      context.delegate = null;
27411      return ContinueSentinel;
27412    }
27413
27414    var info = record.arg;
27415
27416    if (! info) {
27417      context.method = "throw";
27418      context.arg = new TypeError("iterator result is not an object");
27419      context.delegate = null;
27420      return ContinueSentinel;
27421    }
27422
27423    if (info.done) {
27424      // Assign the result of the finished delegate to the temporary
27425      // variable specified by delegate.resultName (see delegateYield).
27426      context[delegate.resultName] = info.value;
27427
27428      // Resume execution at the desired location (see delegateYield).
27429      context.next = delegate.nextLoc;
27430
27431      // If context.method was "throw" but the delegate handled the
27432      // exception, let the outer generator proceed normally. If
27433      // context.method was "next", forget context.arg since it has been
27434      // "consumed" by the delegate iterator. If context.method was
27435      // "return", allow the original .return call to continue in the
27436      // outer generator.
27437      if (context.method !== "return") {
27438        context.method = "next";
27439        context.arg = undefined;
27440      }
27441
27442    } else {
27443      // Re-yield the result returned by the delegate method.
27444      return info;
27445    }
27446
27447    // The delegate iterator is finished, so forget it and continue with
27448    // the outer generator.
27449    context.delegate = null;
27450    return ContinueSentinel;
27451  }
27452
27453  // Define Generator.prototype.{next,throw,return} in terms of the
27454  // unified ._invoke helper method.
27455  defineIteratorMethods(Gp);
27456
27457  define(Gp, toStringTagSymbol, "Generator");
27458
27459  // A Generator should always return itself as the iterator object when the
27460  // @@iterator function is called on it. Some browsers' implementations of the
27461  // iterator prototype chain incorrectly implement this, causing the Generator
27462  // object to not be returned from this call. This ensures that doesn't happen.
27463  // See https://github.com/facebook/regenerator/issues/274 for more details.
27464  define(Gp, iteratorSymbol, function() {
27465    return this;
27466  });
27467
27468  define(Gp, "toString", function() {
27469    return "[object Generator]";
27470  });
27471
27472  function pushTryEntry(locs) {
27473    var entry = { tryLoc: locs[0] };
27474
27475    if (1 in locs) {
27476      entry.catchLoc = locs[1];
27477    }
27478
27479    if (2 in locs) {
27480      entry.finallyLoc = locs[2];
27481      entry.afterLoc = locs[3];
27482    }
27483
27484    this.tryEntries.push(entry);
27485  }
27486
27487  function resetTryEntry(entry) {
27488    var record = entry.completion || {};
27489    record.type = "normal";
27490    delete record.arg;
27491    entry.completion = record;
27492  }
27493
27494  function Context(tryLocsList) {
27495    // The root entry object (effectively a try statement without a catch
27496    // or a finally block) gives us a place to store values thrown from
27497    // locations where there is no enclosing try statement.
27498    this.tryEntries = [{ tryLoc: "root" }];
27499    tryLocsList.forEach(pushTryEntry, this);
27500    this.reset(true);
27501  }
27502
27503  exports.keys = function(object) {
27504    var keys = [];
27505    for (var key in object) {
27506      keys.push(key);
27507    }
27508    keys.reverse();
27509
27510    // Rather than returning an object with a next method, we keep
27511    // things simple and return the next function itself.
27512    return function next() {
27513      while (keys.length) {
27514        var key = keys.pop();
27515        if (key in object) {
27516          next.value = key;
27517          next.done = false;
27518          return next;
27519        }
27520      }
27521
27522      // To avoid creating an additional object, we just hang the .value
27523      // and .done properties off the next function object itself. This
27524      // also ensures that the minifier will not anonymize the function.
27525      next.done = true;
27526      return next;
27527    };
27528  };
27529
27530  function values(iterable) {
27531    if (iterable) {
27532      var iteratorMethod = iterable[iteratorSymbol];
27533      if (iteratorMethod) {
27534        return iteratorMethod.call(iterable);
27535      }
27536
27537      if (typeof iterable.next === "function") {
27538        return iterable;
27539      }
27540
27541      if (!isNaN(iterable.length)) {
27542        var i = -1, next = function next() {
27543          while (++i < iterable.length) {
27544            if (hasOwn.call(iterable, i)) {
27545              next.value = iterable[i];
27546              next.done = false;
vendor: 6,560 bytes, lines 27547-27781
27547              return next;
27548            }
27549          }
27550
27551          next.value = undefined;
27552          next.done = true;
27553
27554          return next;
27555        };
27556
27557        return next.next = next;
27558      }
27559    }
27560
27561    // Return an iterator with no values.
27562    return { next: doneResult };
27563  }
27564  exports.values = values;
27565
27566  function doneResult() {
27567    return { value: undefined, done: true };
27568  }
27569
27570  Context.prototype = {
27571    constructor: Context,
27572
27573    reset: function(skipTempReset) {
27574      this.prev = 0;
27575      this.next = 0;
27576      // Resetting context._sent for legacy support of Babel's
27577      // function.sent implementation.
27578      this.sent = this._sent = undefined;
27579      this.done = false;
27580      this.delegate = null;
27581
27582      this.method = "next";
27583      this.arg = undefined;
27584
27585      this.tryEntries.forEach(resetTryEntry);
27586
27587      if (!skipTempReset) {
27588        for (var name in this) {
27589          // Not sure about the optimal order of these conditions:
27590          if (name.charAt(0) === "t" &&
27591              hasOwn.call(this, name) &&
27592              !isNaN(+name.slice(1))) {
27593            this[name] = undefined;
27594          }
27595        }
27596      }
27597    },
27598
27599    stop: function() {
27600      this.done = true;
27601
27602      var rootEntry = this.tryEntries[0];
27603      var rootRecord = rootEntry.completion;
27604      if (rootRecord.type === "throw") {
27605        throw rootRecord.arg;
27606      }
27607
27608      return this.rval;
27609    },
27610
27611    dispatchException: function(exception) {
27612      if (this.done) {
27613        throw exception;
27614      }
27615
27616      var context = this;
27617      function handle(loc, caught) {
27618        record.type = "throw";
27619        record.arg = exception;
27620        context.next = loc;
27621
27622        if (caught) {
27623          // If the dispatched exception was caught by a catch block,
27624          // then let that catch block handle the exception normally.
27625          context.method = "next";
27626          context.arg = undefined;
27627        }
27628
27629        return !! caught;
27630      }
27631
27632      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
27633        var entry = this.tryEntries[i];
27634        var record = entry.completion;
27635
27636        if (entry.tryLoc === "root") {
27637          // Exception thrown outside of any try block that could handle
27638          // it, so set the completion value of the entire function to
27639          // throw the exception.
27640          return handle("end");
27641        }
27642
27643        if (entry.tryLoc <= this.prev) {
27644          var hasCatch = hasOwn.call(entry, "catchLoc");
27645          var hasFinally = hasOwn.call(entry, "finallyLoc");
27646
27647          if (hasCatch && hasFinally) {
27648            if (this.prev < entry.catchLoc) {
27649              return handle(entry.catchLoc, true);
27650            } else if (this.prev < entry.finallyLoc) {
27651              return handle(entry.finallyLoc);
27652            }
27653
27654          } else if (hasCatch) {
27655            if (this.prev < entry.catchLoc) {
27656              return handle(entry.catchLoc, true);
27657            }
27658
27659          } else if (hasFinally) {
27660            if (this.prev < entry.finallyLoc) {
27661              return handle(entry.finallyLoc);
27662            }
27663
27664          } else {
27665            throw new Error("try statement without catch or finally");
27666          }
27667        }
27668      }
27669    },
27670
27671    abrupt: function(type, arg) {
27672      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
27673        var entry = this.tryEntries[i];
27674        if (entry.tryLoc <= this.prev &&
27675            hasOwn.call(entry, "finallyLoc") &&
27676            this.prev < entry.finallyLoc) {
27677          var finallyEntry = entry;
27678          break;
27679        }
27680      }
27681
27682      if (finallyEntry &&
27683          (type === "break" ||
27684           type === "continue") &&
27685          finallyEntry.tryLoc <= arg &&
27686          arg <= finallyEntry.finallyLoc) {
27687        // Ignore the finally entry if control is not jumping to a
27688        // location outside the try/catch block.
27689        finallyEntry = null;
27690      }
27691
27692      var record = finallyEntry ? finallyEntry.completion : {};
27693      record.type = type;
27694      record.arg = arg;
27695
27696      if (finallyEntry) {
27697        this.method = "next";
27698        this.next = finallyEntry.finallyLoc;
27699        return ContinueSentinel;
27700      }
27701
27702      return this.complete(record);
27703    },
27704
27705    complete: function(record, afterLoc) {
27706      if (record.type === "throw") {
27707        throw record.arg;
27708      }
27709
27710      if (record.type === "break" ||
27711          record.type === "continue") {
27712        this.next = record.arg;
27713      } else if (record.type === "return") {
27714        this.rval = this.arg = record.arg;
27715        this.method = "return";
27716        this.next = "end";
27717      } else if (record.type === "normal" && afterLoc) {
27718        this.next = afterLoc;
27719      }
27720
27721      return ContinueSentinel;
27722    },
27723
27724    finish: function(finallyLoc) {
27725      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
27726        var entry = this.tryEntries[i];
27727        if (entry.finallyLoc === finallyLoc) {
27728          this.complete(entry.completion, entry.afterLoc);
27729          resetTryEntry(entry);
27730          return ContinueSentinel;
27731        }
27732      }
27733    },
27734
27735    "catch": function(tryLoc) {
27736      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
27737        var entry = this.tryEntries[i];
27738        if (entry.tryLoc === tryLoc) {
27739          var record = entry.completion;
27740          if (record.type === "throw") {
27741            var thrown = record.arg;
27742            resetTryEntry(entry);
27743          }
27744          return thrown;
27745        }
27746      }
27747
27748      // The context.catch method must only be called with a location
27749      // argument that corresponds to a known catch block.
27750      throw new Error("illegal catch attempt");
27751    },
27752
27753    delegateYield: function(iterable, resultName, nextLoc) {
27754      this.delegate = {
27755        iterator: values(iterable),
27756        resultName: resultName,
27757        nextLoc: nextLoc
27758      };
27759
27760      if (this.method === "next") {
27761        // Deliberately forget the last sent value so that we don't
27762        // accidentally pass it on to the delegate.
27763        this.arg = undefined;
27764      }
27765
27766      return ContinueSentinel;
27767    }
27768  };
27769
27770  // Regardless of whether this script is executing as a CommonJS module
27771  // or not, return the runtime object so that we can declare the variable
27772  // regeneratorRuntime in the outer scope, which allows this module to be
27773  // injected easily by `bin/regenerator --include-runtime script.js`.
27774  return exports;
27775
27776}(
27777  // If this script is executing as a CommonJS module, use module.exports
27778  // as the regeneratorRuntime namespace. Otherwise create a new empty
27779  // object. Either way, the resulting object will be used to initialize
27780  // the regeneratorRuntime variable at the top of this file.
27781  
27781 true ? module.exports : 0
27782));
27783
27784try {
27785  regeneratorRuntime = runtime;
27786} catch (accidentalStrictMode) {
27787  // This module should not be running in strict mode, so the above
27788  // assignment should always work unless something is misconfigured. Just
27789  // in case runtime.js accidentally runs in strict mode, in modern engines
27790  // we can explicitly access globalThis. In older engines we can escape
27791  // strict mode using a global Function call. This could conceivably fail
27792  // if a Content Security Policy forbids using Function, but in that case
27793  // the proper solution is to fix the accidental strict mode problem. If
27794  // you've misconfigured your bundler to force strict mode and applied a
27795  // CSP to forbid Function, and you're not willing to fix either of those
27796  // problems, please detail your unique predicament in a GitHub issue.
27797  if (typeof globalThis === "object") {
27798    globalThis.regeneratorRuntime = runtime;
27799  } else {
27800    Function("r", "regeneratorRuntime = r")(runtime);
27801  }
27802}
27803
27804
27805/***/ })
27806
27807/******/ 	});
27808/************************************************************************/
27809/******/ 	// The module cache
27810/******/ 	var __webpack_module_cache__ = {};
27811/******/
27812/******/ 	// The require function
27813/******/ 	function __webpack_require__(moduleId) {
27814/******/ 		// Check if module is in cache
27815/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
27816/******/ 		if (cachedModule !== undefined) {
27817/******/ 			return cachedModule.exports;
27818/******/ 		}
27819/******/ 		// Create a new module (and put it into the cache)
27820/******/ 		var module = __webpack_module_cache__[moduleId] = {
27821/******/ 			// no module.id needed
27822/******/ 			// no module.loaded needed
27823/******/ 			exports: {}
27824/******/ 		};
27825/******/
27826/******/ 		// Execute the module function
27827/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
27828/******/
27829/******/ 		// Return the exports of the module
27830/******/ 		return module.exports;
27831/******/ 	}
27832/******/
27833/************************************************************************/
27834/******/ 	/* webpack/runtime/global */
27835/******/ 	!function() {
27836/******/ 		__webpack_require__.g = (function() {
27837/******/ 			if (typeof globalThis === 'object') return globalThis;
27838/******/ 			try {
27839/******/ 				return this || new Function('return this')();
27840/******/ 			} catch (e) {
27841/******/ 				if (typeof window === 'object') return window;
27842/******/ 			}
27843/******/ 		})();
27844/******/ 	}();
27845/******/
27846/************************************************************************/
27847/******/
27848/******/ 	// startup
27849/******/ 	// Load entry module and return exports
27850/******/ 	// This entry module is referenced by other modules so it can't be inlined
27851/******/ 	__webpack_require__(6337);
27852/******/ 	__webpack_require__(3867);
27853/******/ 	__webpack_require__(5666);
27854/******/ 	var __webpack_exports__ = __webpack_require__(5579);
27855/******/
27856/******/ 	return __webpack_exports__;
27857/******/ })()
27858;
27859});
27860//# sourceMappingURL=mura.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.