UNPKG

survey-jquery

Version:

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.

260 lines (236 loc) 4.16 MB
/*! * surveyjs - Survey JavaScript library v1.12.62 * Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("jquery")); else if(typeof define === 'function' && define.amd) define("survey-jquery", ["jquery"], factory); else if(typeof exports === 'object') exports["survey-jquery"] = factory(require("jquery")); else root["Survey"] = factory(root["jQuery"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_jquery__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/entries/jquery.ts"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/components/panel/panel.html": /*!*******************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/components/panel/panel.html ***! \*******************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<!-- ko template: { name: 'survey-panel', data: question, as: 'question', afterRender: question.koPanelAfterRender } --><!-- /ko -->"; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/components/popup/popup.html": /*!*******************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/components/popup/popup.html ***! \*******************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<div>\n <!-- ko with: popupViewModel -->\n <div class=\"sv-popup\" tabindex=\"-1\"\n data-bind=\"visible: isVisible, click: function(data, event) { clickOutside(event); return true; }, class: styleClass, event: { keydown: function(data, event) { onKeyDown(event); return true; } }\">\n <div class=\"sv-popup__container\"\n data-bind=\"style: { left: left, top: top, height: height, minWidth: minWidth, width: width }, click: function() { return true; }, clickBubble: false\">\n <!-- ko if: $data.showHeader -->\n <!-- ko template: { name: $data.popupHeaderTemplate, data: $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <div class=\"sv-popup__body-content\">\n <!-- ko if: !!title -->\n <div class=\"sv-popup__body-header\" data-bind=\"text: title\"></div>\n <!-- /ko -->\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\"\n data-bind=\"component: { name: contentComponentName, params: contentComponentData }\"></div>\n </div>\n <!-- ko if: showFooter -->\n <div class=\"sv-popup__body-footer\">\n <!-- ko component: { name: \"sv-action-bar\", params: { model: $data.footerToolbar } } -->\n <!-- /ko -->\n </div>\n <!-- /ko -->\n </div>\n </div>\n </div>\n <!-- /ko -->\n</div>\n"; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/components/progress/buttons.html": /*!************************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/components/progress/buttons.html ***! \************************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<div data-bind=\"css: model.getRootCss(container), style: { maxWidth: model.progressWidth }\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <!-- ko if: canShowHeader -->\n <div data-bind=\"css: survey.css.progressButtonsHeader\">\n <div data-bind=\"css: survey.css.progressButtonsPageTitle, text: model.headerText, attr: { title: model.headerText }\"></div>\n </div>\n <!-- /ko -->\n <div data-bind=\"css: survey.css.progressButtonsContainer\">\n <div data-bind=\"css: getScrollButtonCss(true), click: clickScrollButton.bind($data, $element.nextElementSibling, true)\" role=\"button\"></div>\n <div data-bind=\"css: survey.css.progressButtonsListContainer\">\n <ul data-bind=\"foreach: survey.visiblePages, css: survey.css.progressButtonsList\">\n <li data-bind=\"css: $parent.model.getListElementCss($index()), click: $parent.model.isListElementClickable($index()) ? $parent.model.clickListElement : null, attr: { 'data-page-number' : $parent.model.getItemNumber($data) }\">\n <div data-bind=\"css: css.progressButtonsConnector\"></div>\n <!-- ko if: $parent.canShowItemTitles -->\n <div data-bind=\"css: css.progressButtonsPageTitle, attr: { title: renderedNavigationTitle }\"><!-- ko template: { name: 'survey-string', data: locNavigationTitle } --><!-- /ko --></div>\n <div data-bind=\"css: css.progressButtonsPageDescription, text: locNavigationDescription.koRenderedHtml(), attr: { title: locNavigationDescription.koRenderedHtml() }\"></div>\n <!-- /ko -->\n <div data-bind=\"css: css.progressButtonsButton\"><div data-bind=\"css: css.progressButtonsButtonBackground\"></div><div data-bind=\"css: css.progressButtonsButtonContent\"></div><span data-bind=\"text: $parent.model.getItemNumber($data)\"></span></div>\n </li>\n </ul>\n </div>\n <div data-bind=\"css: getScrollButtonCss(false), click: clickScrollButton.bind($data, $element.previousElementSibling, false)\" role=\"button\"></div>\n </div>\n <!-- ko if: canShowFooter -->\n <div data-bind=\"css: survey.css.progressButtonsFooter\">\n <div data-bind=\"css: survey.css.progressButtonsPageTitle, text: model.footerText, attr: { title: model.footerText }\"></div>\n </div>\n <!-- /ko -->\n</div>"; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/components/progress/progress.html": /*!*************************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/components/progress/progress.html ***! \*************************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<div data-bind=\"css: getProgressCssClasses()\">\n <div data-bind=\"css: model.css.progressBar, style: { width: model.progressValue + '%' }\"\n role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <span data-bind=\"text: model.progressText, css: getProgressTextInBarCss(model.css)\"></span>\n </div>\n <span data-bind=\"text: model.progressText, css: getProgressTextUnderBarCss(model.css)\"></span>\n</div>"; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/components/progress/toc.html": /*!********************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/components/progress/toc.html ***! \********************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<!-- ko with: tocModel -->\n<div data-bind=\"css: containerCss\">\n <!-- ko ifnot: isMobile -->\n <sv-list params=\"model: listModel\"></sv-list>\n <!-- /ko -->\n <!-- ko if: isMobile -->\n <div class=\"\" data-bind=\"click: togglePopup, key2click\">\n <sv-svg-icon class=\"\" params=\"iconName: icon, size: 24\"></sv-svg-icon>\n <sv-popup params=\"model: popupModel\"></sv-popup>\n </div>\n <!-- /ko -->\n</div>\n<!-- /ko -->"; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/templates/entry.html": /*!************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/templates/entry.html ***! \************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports, __webpack_require__) { module.exports = "" + __webpack_require__(/*! ./comment.html */ "./src/knockout/templates/comment.html") + "\n" + __webpack_require__(/*! ./flowpanel.html */ "./src/knockout/templates/flowpanel.html") + "\n" + __webpack_require__(/*! ./header.html */ "./src/knockout/templates/header.html") + "\n" + __webpack_require__(/*! ./index.html */ "./src/knockout/templates/index.html") + "\n" + __webpack_require__(/*! ./page.html */ "./src/knockout/templates/page.html") + "\n" + __webpack_require__(/*! ./panel.html */ "./src/knockout/templates/panel.html") + "\n" + __webpack_require__(/*! ./rows.html */ "./src/knockout/templates/rows.html") + "\n" + __webpack_require__(/*! ./row.html */ "./src/knockout/templates/row.html") + "\n" + __webpack_require__(/*! ./string.html */ "./src/knockout/templates/string.html") + "\n" + __webpack_require__(/*! ./timerpanel.html */ "./src/knockout/templates/timerpanel.html") + "\n" + __webpack_require__(/*! ./question.html */ "./src/knockout/templates/question.html") + "\n" + __webpack_require__(/*! ./questioncontent.html */ "./src/knockout/templates/questioncontent.html") + "\n" + __webpack_require__(/*! ./questiontitle.html */ "./src/knockout/templates/questiontitle.html") + "\n" + __webpack_require__(/*! ./question-boolean.html */ "./src/knockout/templates/question-boolean.html") + "\n" + __webpack_require__(/*! ./question-checkbox.html */ "./src/knockout/templates/question-checkbox.html") + "\n" + __webpack_require__(/*! ./question-tagbox.html */ "./src/knockout/templates/question-tagbox.html") + "\n" + __webpack_require__(/*! ./question-ranking.html */ "./src/knockout/templates/question-ranking.html") + "\n" + __webpack_require__(/*! ./question-comment.html */ "./src/knockout/templates/question-comment.html") + "\n" + __webpack_require__(/*! ./question-composite.html */ "./src/knockout/templates/question-composite.html") + "\n" + __webpack_require__(/*! ./question-custom.html */ "./src/knockout/templates/question-custom.html") + "\n" + __webpack_require__(/*! ./question-dropdown.html */ "./src/knockout/templates/question-dropdown.html") + "\n" + __webpack_require__(/*! ./question-empty.html */ "./src/knockout/templates/question-empty.html") + "\n" + __webpack_require__(/*! ./question-errors.html */ "./src/knockout/templates/question-errors.html") + "\n" + __webpack_require__(/*! ./question-expression.html */ "./src/knockout/templates/question-expression.html") + "\n" + __webpack_require__(/*! ./question-file.html */ "./src/knockout/templates/question-file.html") + "\n" + __webpack_require__(/*! ./question-html.html */ "./src/knockout/templates/question-html.html") + "\n" + __webpack_require__(/*! ./question-image.html */ "./src/knockout/templates/question-image.html") + "\n" + __webpack_require__(/*! ./question-imagepicker.html */ "./src/knockout/templates/question-imagepicker.html") + "\n" + __webpack_require__(/*! ./question-matrix.html */ "./src/knockout/templates/question-matrix.html") + "\n" + __webpack_require__(/*! ./question-matrixdynamic.html */ "./src/knockout/templates/question-matrixdynamic.html") + "\n" + __webpack_require__(/*! ./question-matrixdropdown.html */ "./src/knockout/templates/question-matrixdropdown.html") + "\n" + __webpack_require__(/*! ./question-multipletext.html */ "./src/knockout/templates/question-multipletext.html") + "\n" + __webpack_require__(/*! ./question-paneldynamic.html */ "./src/knockout/templates/question-paneldynamic.html") + "\n" + __webpack_require__(/*! ./question-paneldynamic-navigator.html */ "./src/knockout/templates/question-paneldynamic-navigator.html") + "\n" + __webpack_require__(/*! ./question-radiogroup.html */ "./src/knockout/templates/question-radiogroup.html") + "\n" + __webpack_require__(/*! ./question-rating.html */ "./src/knockout/templates/question-rating.html") + "\n" + __webpack_require__(/*! ./question-signaturepad.html */ "./src/knockout/templates/question-signaturepad.html") + "\n" + __webpack_require__(/*! ./question-text.html */ "./src/knockout/templates/question-text.html") + "\n" + __webpack_require__(/*! ./question-buttongroup.html */ "./src/knockout/templates/question-buttongroup.html") + "\n" + __webpack_require__(/*! ./popup-pointer.html */ "./src/knockout/templates/popup-pointer.html") + ""; /***/ }), /***/ "./node_modules/html-loader/index.js?interpolate!./node_modules/val-loader/index.js!./src/knockout/templates/window.html": /*!*************************************************************************************************************!*\ !*** ./node_modules/html-loader?interpolate!./node_modules/val-loader!./src/knockout/templates/window.html ***! \*************************************************************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports) { module.exports = "<div data-bind=\"css: cssRoot, style:{width: renderedWidth, maxWidth: renderedWidth}, event: { scroll: $data.onScroll }\">\n <div data-bind=\"css: cssRootContent\">\n <div data-bind=\"css: cssHeaderRoot, {cssRootCollapsedMod: isCollapsed}\">\n\n <!-- ko if: isCollapsed && !!locTitle --> \n <div data-bind=\"css: cssHeaderTitleCollapsed, text: locTitle.koRenderedHtml\"></div>\n <!-- /ko -->\n \n <div data-bind=\"css: cssHeaderButtonsContainer\">\n <!-- ko if: allowFullScreen --> \n <div data-bind=\"click:doToggleFullScreen, css: cssHeaderFullScreenButton\">\n <!-- ko if: isFullScreen--> \n <!-- ko component: { name: 'sv-svg-icon', params: { iconName: 'icon-back-to-panel_16x16', size: '16' } } --><!-- /ko -->\n <!-- /ko -->\n \n <!-- ko if: !isFullScreen--> \n <!-- ko component: { name: 'sv-svg-icon', params: { iconName: 'icon-full-screen_16x16', size: '16' } } --><!-- /ko -->\n <!-- /ko -->\n </div>\n <!-- /ko -->\n <div data-bind=\"click:doExpand, css: cssHeaderCollapseButton\">\n <!-- ko if: isExpanded--> \n <!-- ko component: { name: 'sv-svg-icon', params: { iconName: 'icon-minimize_16x16', size: '16' } } --><!-- /ko -->\n <!-- /ko -->\n \n <!-- ko if: isCollapsed--> \n <!-- ko component: { name: 'sv-svg-icon', params: { iconName: 'icon-restore_16x16', size: '16' } } --><!-- /ko -->\n <!-- /ko -->\n </div>\n <!-- ko if: allowClose --> \n <div data-bind=\"click:doHide, css: cssHeaderCloseButton\">\n <!-- ko component: { name: 'sv-svg-icon', params: { iconName: 'icon-close_16x16', size: '16' } } --><!-- /ko -->\n </div>\n <!-- /ko -->\n </div>\n </div>\n <div data-bind=\"visible:isExpanded, css: cssBody\">\n <survey params=\"survey: survey\"></survey>\n </div>\n </div>\n</div>"; /***/ }), /***/ "./node_modules/knockout/build/output/knockout-latest.js": /*!***************************************************************!*\ !*** ./node_modules/knockout/build/output/knockout-latest.js ***! \***************************************************************/ /*! no static exports found */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! * Knockout JavaScript library v3.5.2 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */ (function() {(function(p){var z=this||(0,eval)("this"),v=z.document,R=z.navigator,w=z.jQuery,G=z.JSON;w||"undefined"===typeof jQuery||(w=jQuery);(function(p){ true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports,__webpack_require__], __WEBPACK_AMD_DEFINE_FACTORY__ = (p), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):undefined})(function(S,T){function K(a,c){return null===a||typeof a in X?a===c:!1}function Y(b,c){var d;return function(){d||(d=a.a.setTimeout(function(){d=p;b()},c))}}function Z(b,c){var d;return function(){clearTimeout(d); d=a.a.setTimeout(b,c)}}function aa(a,c){c&&"change"!==c?"beforeChange"===c?this.pc(a):this.ib(a,c):this.qc(a)}function ba(a,c){null!==c&&c.s&&c.s()}function ca(a,c){var d=this.qd,e=d[t];e.ta||(this.Rb&&this.ob[c]?(d.uc(c,a,this.ob[c]),this.ob[c]=null,--this.Rb):e.I[c]||d.uc(c,a,e.K?{da:a}:d.$c(a)),a.La&&a.gd())}var a="undefined"!==typeof S?S:{};a.b=function(b,c){for(var d=b.split("."),e=a,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=c};a.L=function(a,c,d){a[c]=d};a.version="3.5.2";a.b("version", a.version);a.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1};var H;if("undefined"!==typeof trustedTypes)try{H=trustedTypes.createPolicy("knockout",{createHTML:function(a){return a},createScript:function(a){return a}})}catch(fa){}a.a=function(){function b(a,b){for(var c in a)f.call(a,c)&&b(c,a[c])}function c(a,b){if(b)for(var c in b)f.call(b,c)&&(a[c]=b[c]);return a}function d(a,b){a.__proto__=b;return a}function e(b,c,e,d){var l=b[c].match(n)||[];a.a.D(e.match(n),function(b){a.a.Pa(l, b,d)});b[c]=l.join(" ")}var f=Object.prototype.hasOwnProperty,g={__proto__:[]}instanceof Array,h="function"===typeof Symbol,m={},k={};m[R&&/Firefox\/2/i.test(R.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];m.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");b(m,function(a,b){if(b.length)for(var c=0,e=b.length;c<e;c++)k[b[c]]=a});var l={propertychange:!0},q;H||(q=v&&function(){for(var a=3,b=v.createElement("div"),c= b.getElementsByTagName("i");b.innerHTML="\x3c!--[if gt IE "+ ++a+"]><i></i><![endif]--\x3e",c[0];);return 4<a?a:p}());var n=/\S+/g,r;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(a,b,c){for(var e=0,d=a.length;e<d;e++)b.call(c,a[e],e,a)},A:"function"==typeof Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b)}:function(a,b){for(var c=0,e=a.length;c<e;c++)if(a[c]===b)return c;return-1},Mb:function(a,b,c){for(var e=0,d=a.length;e<d;e++)if(b.call(c, a[e],e,a))return a[e];return p},Ra:function(b,c){var e=a.a.A(b,c);0<e?b.splice(e,1):0===e&&b.shift()},wc:function(b){var c=[];b&&a.a.D(b,function(b){0>a.a.A(c,b)&&c.push(b)});return c},Nb:function(a,b,c){var e=[];if(a)for(var d=0,l=a.length;d<l;d++)e.push(b.call(c,a[d],d));return e},lb:function(a,b,c){var e=[];if(a)for(var d=0,l=a.length;d<l;d++)b.call(c,a[d],d)&&e.push(a[d]);return e},Ob:function(a,b){if(b instanceof Array)a.push.apply(a,b);else for(var c=0,e=b.length;c<e;c++)a.push(b[c]);return a}, Pa:function(b,c,e){var d=a.a.A(a.a.bc(b),c);0>d?e&&b.push(c):e||b.splice(d,1)},Ca:g,extend:c,setPrototypeOf:d,Bb:g?d:c,P:b,Ia:function(a,b,c){if(!a)return a;var e={},d;for(d in a)f.call(a,d)&&(e[d]=b.call(c,a[d],d,a));return e},Ub:function(b){for(;b.firstChild;)a.removeNode(b.firstChild)},Zb:function(b){b=a.a.la(b);for(var c=(b[0]&&b[0].ownerDocument||v).createElement("div"),e=0,d=b.length;e<d;e++)c.appendChild(a.pa(b[e]));return c},Da:function(b,c){for(var e=0,d=b.length,l=[];e<d;e++){var k=b[e].cloneNode(!0); l.push(c?a.pa(k):k)}return l},xa:function(b,c){a.a.Ub(b);if(c)for(var e=0,d=c.length;e<d;e++)b.appendChild(c[e])},Xc:function(b,c){var e=b.nodeType?[b]:b;if(0<e.length){for(var d=e[0],l=d.parentNode,k=0,f=c.length;k<f;k++)l.insertBefore(c[k],d);k=0;for(f=e.length;k<f;k++)a.removeNode(e[k])}},Wa:function(a,b){if(a.length){for(b=8===b.nodeType&&b.parentNode||b;a.length&&a[0].parentNode!==b;)a.splice(0,1);for(;1<a.length&&a[a.length-1].parentNode!==b;)a.length--;if(1<a.length){var c=a[0],e=a[a.length- 1];for(a.length=0;c!==e;)a.push(c),c=c.nextSibling;a.push(e)}}return a},Zc:function(a,b){7>q?a.setAttribute("selected",b):a.selected=b},Eb:function(a){return null===a||a===p?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(a,b){a=a||"";return b.length>a.length?!1:a.substring(0,b.length)===b},vd:function(a,b){if(a===b)return!0;if(11===a.nodeType)return!1;if(b.contains)return b.contains(1!==a.nodeType?a.parentNode:a);if(b.compareDocumentPosition)return 16==(b.compareDocumentPosition(a)& 16);for(;a&&a!=b;)a=a.parentNode;return!!a},Tb:function(b){return a.a.vd(b,b.ownerDocument.documentElement)},kd:function(b){return!!a.a.Mb(b,a.a.Tb)},R:function(a){return a&&a.tagName&&a.tagName.toLowerCase()},Ac:function(b){return a.onError?function(){try{return b.apply(this,arguments)}catch(c){throw a.onError&&a.onError(c),c;}}:b},setTimeout:function(b,c){return setTimeout(a.a.Ac(b),c)},Gc:function(b){setTimeout(function(){a.onError&&a.onError(b);throw b;},0)},B:function(b,c,e){var d=a.a.Ac(e); e=l[c];if(!a.options.useOnlyNativeEvents&&!e&&w)r||(r="function"==typeof w(b).on?"on":"bind"),w(b)[r](c,d);else if(!e&&"function"==typeof b.addEventListener)b.addEventListener(c,d,!1),a.a.J.oa(b,function(){b.removeEventListener(c,d)});else if("undefined"!=typeof b.attachEvent){var k=function(a){d.call(b,a)},f="on"+c;b.attachEvent(f,k);a.a.J.oa(b,function(){b.detachEvent(f,k)})}},Gb:function(b,c){if(!b||!b.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var e;"input"=== a.a.R(b)&&b.type&&"click"==c.toLowerCase()?(e=b.type,e="checkbox"==e||"radio"==e):e=!1;if(a.options.useOnlyNativeEvents||!w||e)if("function"==typeof v.createEvent)if("function"==typeof b.dispatchEvent)e=v.createEvent(k[c]||"HTMLEvents"),e.initEvent(c,!0,!0,z,0,0,0,0,0,!1,!1,!1,!1,0,b),b.dispatchEvent(e);else throw Error("The supplied element doesn't support dispatchEvent");else if(e&&b.click)b.click();else if("undefined"!=typeof b.fireEvent)b.fireEvent("on"+c);else throw Error("Browser doesn't support triggering events"); else w(b).trigger(c)},f:function(b){return a.O(b)?b():b},bc:function(b){return a.O(b)?b.v():b},Fb:function(b,c,d){var l;c&&("object"===typeof b.classList?(l=b.classList[d?"add":"remove"],a.a.D(c.match(n),function(a){l.call(b.classList,a)})):"string"===typeof b.className.baseVal?e(b.className,"baseVal",c,d):e(b,"className",c,d))},Cb:function(b,c){var e=a.a.f(c);if(null===e||e===p)e="";var d=a.h.firstChild(b);!d||3!=d.nodeType||a.h.nextSibling(d)?a.h.xa(b,[b.ownerDocument.createTextNode(e)]):d.data= e;a.a.Ad(b)},Yc:function(a,b){a.name=b;if(7>=q)try{var c=a.name.replace(/[&<>'"]/g,function(a){return"&#"+a.charCodeAt(0)+";"});a.mergeAttributes(v.createElement("<input name='"+c+"'/>"),!1)}catch(e){}},Ad:function(a){9<=q&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},wd:function(a){if(q){var b=a.style.width;a.style.width=0;a.style.width=b}},Pd:function(b,c){b=a.a.f(b);c=a.a.f(c);for(var e=[],d=b;d<=c;d++)e.push(d);return e},la:function(a){for(var b=[],c=0,e=a.length;c<e;c++)b.push(a[c]); return b},Ea:function(a){return h?Symbol(a):a},Zd:6===q,$d:7===q,W:q,Lc:function(b,c){for(var e=a.a.la(b.getElementsByTagName("input")).concat(a.a.la(b.getElementsByTagName("textarea"))),d="string"==typeof c?function(a){return a.name===c}:function(a){return c.test(a.name)},l=[],k=e.length-1;0<=k;k--)d(e[k])&&l.push(e[k]);return l},Nd:function(b){return"string"==typeof b&&(b=a.a.Eb(b))?G&&G.parse?G.parse(b):(new Function("return "+b))():null},hc:function(b,c,e){if(!G||!G.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"); return G.stringify(a.a.f(b),c,e)},Od:function(c,e,d){d=d||{};var l=d.params||{},k=d.includeFields||this.Jc,f=c;if("object"==typeof c&&"form"===a.a.R(c))for(var f=c.action,h=k.length-1;0<=h;h--)for(var g=a.a.Lc(c,k[h]),m=g.length-1;0<=m;m--)l[g[m].name]=g[m].value;e=a.a.f(e);var n=v.createElement("form");n.style.display="none";n.action=f;n.method="post";for(var q in e)c=v.createElement("input"),c.type="hidden",c.name=q,c.value=a.a.hc(a.a.f(e[q])),n.appendChild(c);b(l,function(a,b){var c=v.createElement("input"); c.type="hidden";c.name=a;c.value=b;n.appendChild(c)});v.body.appendChild(n);d.submitter?d.submitter(n):n.submit();setTimeout(function(){n.parentNode.removeChild(n)},0)}}}();a.b("utils",a.a);a.b("utils.arrayForEach",a.a.D);a.b("utils.arrayFirst",a.a.Mb);a.b("utils.arrayFilter",a.a.lb);a.b("utils.arrayGetDistinctValues",a.a.wc);a.b("utils.arrayIndexOf",a.a.A);a.b("utils.arrayMap",a.a.Nb);a.b("utils.arrayPushAll",a.a.Ob);a.b("utils.arrayRemoveItem",a.a.Ra);a.b("utils.cloneNodes",a.a.Da);a.b("utils.createSymbolOrString", a.a.Ea);a.b("utils.extend",a.a.extend);a.b("utils.fieldsIncludedWithJsonPost",a.a.Jc);a.b("utils.getFormFields",a.a.Lc);a.b("utils.objectMap",a.a.Ia);a.b("utils.peekObservable",a.a.bc);a.b("utils.postJson",a.a.Od);a.b("utils.parseJson",a.a.Nd);a.b("utils.registerEventHandler",a.a.B);a.b("utils.stringifyJson",a.a.hc);a.b("utils.range",a.a.Pd);a.b("utils.toggleDomNodeCssClass",a.a.Fb);a.b("utils.triggerEvent",a.a.Gb);a.b("utils.unwrapObservable",a.a.f);a.b("utils.objectForEach",a.a.P);a.b("utils.addOrRemoveItem", a.a.Pa);a.b("utils.setTextContent",a.a.Cb);a.b("unwrap",a.a.f);Function.prototype.bind||(Function.prototype.bind=function(a){var c=this;if(1===arguments.length)return function(){return c.apply(a,arguments)};var d=Array.prototype.slice.call(arguments,1);return function(){var e=d.slice(0);e.push.apply(e,arguments);return c.apply(a,e)}});a.a.g=new function(){var b=0,c="__ko__"+(new Date).getTime(),d={},e,f;a.a.W?(e=function(a,e){var f=a[c];if(!f||"null"===f||!d[f]){if(!e)return p;f=a[c]="ko"+b++;d[f]= {}}return d[f]},f=function(a){var b=a[c];return b?(delete d[b],a[c]=null,!0):!1}):(e=function(a,b){var e=a[c];!e&&b&&(e=a[c]={});return e},f=function(a){return a[c]?(delete a[c],!0):!1});return{get:function(a,b){var c=e(a,!1);return c&&c[b]},set:function(a,b,c){(a=e(a,c!==p))&&(a[b]=c)},Vb:function(a,b,c){a=e(a,!0);return a[b]||(a[b]=c)},clear:f,Z:function(){return b++ +c}}};a.b("utils.domData",a.a.g);a.b("utils.domData.clear",a.a.g.clear);a.a.J=new function(){function b(b,c){var d=a.a.g.get(b,e); d===p&&c&&(d=[],a.a.g.set(b,e,d));return d}function c(c){var e=b(c,!1);if(e)for(var e=e.slice(0),k=0;k<e.length;k++)e[k](c);a.a.g.clear(c);a.a.J.cleanExternalData(c);g[c.nodeType]&&d(c.childNodes,!0)}function d(b,e){for(var d=[],l,f=0;f<b.length;f++)if(!e||8===b[f].nodeType)if(c(d[d.length]=l=b[f]),b[f]!==l)for(;f--&&-1==a.a.A(d,b[f]););}var e=a.a.g.Z(),f={1:!0,8:!0,9:!0},g={1:!0,9:!0};return{oa:function(a,c){if("function"!=typeof c)throw Error("Callback must be a function");b(a,!0).push(c)},zb:function(c, d){var f=b(c,!1);f&&(a.a.Ra(f,d),0==f.length&&a.a.g.set(c,e,p))},pa:function(b){a.u.G(function(){f[b.nodeType]&&(c(b),g[b.nodeType]&&d(b.getElementsByTagName("*")))});return b},removeNode:function(b){a.pa(b);b.parentNode&&b.parentNode.removeChild(b)},cleanExternalData:function(a){w&&"function"==typeof w.cleanData&&w.cleanData([a])}}};a.pa=a.a.J.pa;a.removeNode=a.a.J.removeNode;a.b("cleanNode",a.pa);a.b("removeNode",a.removeNode);a.b("utils.domNodeDisposal",a.a.J);a.b("utils.domNodeDisposal.addDisposeCallback", a.a.J.oa);a.b("utils.domNodeDisposal.removeDisposeCallback",a.a.J.zb);(function(){var b=[0,"",""],c=[1,"<table>","</table>"],d=[3,"<table><tbody><tr>","</tr></tbody></table>"],e=[1,"<select multiple='multiple'>","</select>"],f={thead:c,tbody:c,tfoot:c,tr:[2,"<table><tbody>","</tbody></table>"],td:d,th:d,option:e,optgroup:e},g=8>=a.a.W;a.a.wa=function(c,e){var d;if(w)if(w.parseHTML)d=w.parseHTML(c,e)||[];else{if((d=w.clean([c],e))&&d[0]){for(var l=d[0];l.parentNode&&11!==l.parentNode.nodeType;)l=l.parentNode; l.parentNode&&l.parentNode.removeChild(l)}}else{(d=e)||(d=v);var l=d.parentWindow||d.defaultView||z,q=a.a.Eb(c).toLowerCase(),n=d.createElement("div"),r;r=(q=q.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&f[q[1]]||b;q=r[0];r="ignored<div>"+r[1]+c+r[2]+"</div>";"function"==typeof l.innerShiv?n.appendChild(l.innerShiv(r)):(g&&d.body.appendChild(n),n.innerHTML=H?H.createHTML(r):r,g&&n.parentNode.removeChild(n));for(;q--;)n=n.lastChild;d=a.a.la(n.lastChild.childNodes)}return d};a.a.Md=function(b, c){var e=a.a.wa(b,c);return e.length&&e[0].parentElement||a.a.Zb(e)};a.a.fc=function(b,c){a.a.Ub(b);c=a.a.f(c);if(null!==c&&c!==p){if("string"!=typeof c){if("undefined"!==typeof trustedTypes&&trustedTypes.isHTML(c)){b.innerHTML=c;return}c=c.toString()}if(w)w(b).html(c);else for(var e=a.a.wa(c,b.ownerDocument),d=0;d<e.length;d++)b.appendChild(e[d])}}})();a.b("utils.parseHtmlFragment",a.a.wa);a.b("utils.setHtml",a.a.fc);a.aa=function(){function b(c,e){if(c)if(8==c.nodeType){var f=a.aa.Uc(c.nodeValue); null!=f&&e.push({ud:c,Kd:f})}else if(1==c.nodeType)for(var f=0,g=c.childNodes,h=g.length;f<h;f++)b(g[f],e)}var c={};return{Yb:function(a){if("function"!=typeof a)throw Error("You can only pass a function to ko.memoization.memoize()");var b=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);c[b]=a;return"\x3c!--[ko_memo:"+b+"]--\x3e"},bd:function(a,b){var f=c[a];if(f===p)throw Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized."); try{return f.apply(null,b||[]),!0}finally{delete c[a]}},cd:function(c,e){var f=[];b(c,f);for(var g=0,h=f.length;g<h;g++){var m=f[g].ud,k=[m];e&&a.a.Ob(k,e);a.aa.bd(f[g].Kd,k);m.nodeValue="";m.parentNode&&m.parentNode.removeChild(m)}},Uc:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:null}}}();a.b("memoization",a.aa);a.b("memoization.memoize",a.aa.Yb);a.b("memoization.unmemoize",a.aa.bd);a.b("memoization.parseMemoText",a.aa.Uc);a.b("memoization.unmemoizeDomNodeAndDescendants",a.aa.cd); a.na=function(){function b(){if(f)for(var b=f,c=0,d;h<f;)if(d=e[h++]){if(h>b){if(5E3<=++c){h=f;a.a.Gc(Error("'Too much recursion' after processing "+c+" task groups."));break}b=f}try{d()}catch(g){a.a.Gc(g)}}}function c(){b();h=f=e.length=0}var d,e=[],f=0,g=1,h=0;z.MutationObserver?d=function(a){var b=v.createElement("div");(new MutationObserver(a)).observe(b,{attributes:!0});return function(){b.classList.toggle("foo")}}(c):d=v&&"onreadystatechange"in v.createElement("script")?function(a){var b=v.createElement("script"); b.onreadystatechange=function(){b.onreadystatechange=null;v.documentElement.removeChild(b);b=null;a()};v.documentElement.appendChild(b)}:function(a){setTimeout(a,0)};return{scheduler:d,Ab:function(b){f||a.na.scheduler(c);e[f++]=b;return g++},cancel:function(a){a=a-(g-f);a>=h&&a<f&&(e[a]=null)},resetForTesting:function(){var a=f-h;h=f=e.length=0;return a},Sd:b}}();a.b("tasks",a.na);a.b("tasks.schedule",a.na.Ab);a.b("tasks.runEarly",a.na.Sd);a.Va={throttle:function(b,c){b.throttleEvaluation=c;var d= null;return a.$({read:b,write:function(e){clearTimeout(d);d=a.a.setTimeout(function(){b(e)},c)}})},rateLimit:function(a,c){var d,e,f;"number"==typeof c?d=c:(d=c.timeout,e=c.method);a.Ib=!1;f="function"==typeof e?e:"notifyWhenChangesStop"==e?Z:Y;a.ub(function(a){return f(a,d,c)})},deferred:function(b,c){if(!0!==c)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");b.Ib||(b.Ib=!0,b.ub(function(c){var e,f=!1;return function(){if(!f){a.na.cancel(e); e=a.na.Ab(c);try{f=!0,b.notifySubscribers(p,"dirty")}finally{f=!1}}}}))},notify:function(a,c){a.equalityComparer="always"==c?null:K}};var X={undefined:1,"boolean":1,number:1,string:1};a.b("extenders",a.Va);a.ic=function(b,c,d){this.da=b;this.lc=c;this.mc=d;this.Jb=!1;this.hb=this.Kb=null;a.L(this,"dispose",this.s);a.L(this,"disposeWhenNodeIsRemoved",this.l)};a.ic.prototype.s=function(){this.Jb||(this.hb&&a.a.J.zb(this.Kb,this.hb),this.Jb=!0,this.mc(),this.da=this.lc=this.mc=this.Kb=this.hb=null)}; a.ic.prototype.l=function(b){this.Kb=b;a.a.J.oa(b,this.hb=this.s.bind(this))};a.T=function(){a.a.Bb(this,D);D.rb(this)};var D={rb:function(a){a.U={change:[]};a.sc=1},subscribe:function(b,c,d){var e=this;d=d||"change";var f=new a.ic(e,c?b.bind(c):b,function(){a.a.Ra(e.U[d],f);e.jb&&e.jb(d)});e.Sa&&e.Sa(d);e.U[d]||(e.U[d]=[]);e.U[d].push(f);return f},notifySubscribers:function(b,c){c=c||"change";"change"===c&&this.Hb();if(this.Ya(c)){var d="change"===c&&this.ed||this.U[c].slice(0);try{a.u.xc();for(var e= 0,f;f=d[e];++e)f.Jb||f.lc(b)}finally{a.u.end()}}},qb:function(){return this.sc},Dd:function(a){return this.qb()!==a},Hb:function(){++this.sc},ub:function(b){var c=this,d=a.O(c),e,f,g,h,m;c.ib||(c.ib=c.notifySubscribers,c.notifySubscribers=aa);var k=b(function(){c.La=!1;d&&h===c&&(h=c.nc?c.nc():c());var a=f||m&&c.sb(g,h);m=f=e=!1;a&&c.ib(g=h)});c.qc=function(a,b){b&&c.La||(m=!b);c.ed=c.U.change.slice(0);c.La=e=!0;h=a;k()};c.pc=function(a){e||(g=a,c.ib(a,"beforeChange"))};c.rc=function(){m=!0};c.gd= function(){c.sb(g,c.v(!0))&&(f=!0)}},Ya:function(a){return this.U[a]&&this.U[a].length},Bd:function(b){if(b)return this.U[b]&&this.U[b].length||0;var c=0;a.a.P(this.U,function(a,b){"dirty"!==a&&(c+=b.length)});return c},sb:function(a,c){return!this.equalityComparer||!this.equalityComparer(a,c)},toString:function(){return"[object Object]"},extend:function(b){var c=this;b&&a.a.P(b,function(b,e){var f=a.Va[b];"function"==typeof f&&(c=f(c,e)||c)});return c}};a.L(D,"init",D.rb);a.L(D,"subscribe",D.subscribe); a.L(D,"extend",D.extend);a.L(D,"getSubscriptionsCount",D.Bd);a.a.Ca&&a.a.setPrototypeOf(D,Function.prototype);a.T.fn=D;a.Qc=function(a){return null!=a&&"function"==typeof a.subscribe&&"function"==typeof a.notifySubscribers};a.b("subscribable",a.T);a.b("isSubscribable",a.Qc);a.S=a.u=function(){function b(a){d.push(e);e=a}function c(){e=d.pop()}var d=[],e,f=0;return{xc:b,end:c,cc:function(b){if(e){if(!a.Qc(b))throw Error("Only subscribable things can act as dependencies");e.od.call(e.pd,b,b.fd||(b.fd= ++f))}},G:function(a,e,d){try{return b(),a.apply(e,d||[])}finally{c()}},ra:function(){if(e)return e.o.ra()},Xa:function(){if(e)return e.o.Xa()},$a:function(){if(e)return e.$a},o:function(){if(e)return e.o}}}();a.b("computedContext",a.S);a.b("computedContext.getDependenciesCount",a.S.ra);a.b("computedContext.getDependencies",a.S.Xa);a.b("computedContext.isInitial",a.S.$a);a.b("computedContext.registerDependency",a.S.cc);a.b("ignoreDependencies",a.Yd=a.u.G);var I=a.a.Ea("_latestValue");a.va=function(b){function c(){if(0< arguments.length)return c.sb(c[I],arguments[0])&&(c.Aa(),c[I]=arguments[0],c.za()),this;a.u.cc(c);return c[I]}c[I]=b;a.a.Ca||a.a.extend(c,a.T.fn);a.T.fn.rb(c);a.a.Bb(c,E);a.options.deferUpdates&&a.Va.deferred(c,!0);return c};var E={equalityComparer:K,v:function(){return this[I]},za:function(){this.notifySubscribers(this[I],"spectate");this.notifySubscribers(this[I])},Aa:function(){this.notifySubscribers(this[I],"beforeChange")}};a.a.Ca&&a.a.setPrototypeOf(E,a.T.fn);var J=a.va.Oa="__ko_proto__";E[J]= a.va;a.O=function(b){if((b="function"==typeof b&&b[J])&&b!==E[J]&&b!==a.o.fn[J])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.ab=function(b){return"function"==typeof b&&(b[J]===E[J]||b[J]===a.o.fn[J]&&b.Nc)};a.b("observable",a.va);a.b("isObservable",a.O);a.b("isWriteableObservable",a.ab);a.b("isWritableObservable",a.ab);a.b("observable.fn",E);a.L(E,"peek",E.v);a.L(E,"valueHasMutated",E.za);a.L(E,"valueWillMutate",E.Aa);a.Ja=function(b){b= b||[];if("object"!=typeof b||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");b=a.va(b);a.a.Bb(b,a.Ja.fn);return b.extend({trackArrayChanges:!0})};a.Ja.fn={remove:function(b){for(var c=this.v(),d=[],e="function"!=typeof b||a.O(b)?function(a){return a===b}:b,f=0;f<c.length;f++){var g=c[f];if(e(g)){0===d.length&&this.Aa();if(c[f]!==g)throw Error("Array modified during remove; cannot remove item");d.push(g);c.splice(f,1); f--}}d.length&&this.za();return d},removeAll:function(b){if(b===p){var c=this.v(),d=c.slice(0);this.Aa();c.splice(0,c.length);this.za();return d}return b?this.remove(function(c){return 0<=a.a.A(b,c)}):[]},destroy:function(b){var c=this.v(),d="function"!=typeof b||a.O(b)?function(a){return a===b}:b;this.Aa();for(var e=c.length-1;0<=e;e--){var f=c[e];d(f)&&(f._destroy=!0)}this.za()},destroyAll:function(b){return b===p?this.destroy(function(){return!0}):b?this.destroy(function(c){return 0<=a.a.A(b,c)}): []},indexOf:function(b){var c=this();return a.a.A(c,b)},replace:function(a,c){var d=this.indexOf(a);0<=d&&(this.Aa(),this.v()[d]=c,this.za())},sorted:function(a){var c=this().slice(0);return a?c.sort(a):c.sort()},reversed:function(){return this().slice(0).reverse()}};a.a.Ca&&a.a.setPrototypeOf(a.Ja.fn,a.va.fn);a.a.D("pop push reverse shift sort splice unshift".split(" "),function(b){a.Ja.fn[b]=function(){var a=this.v();this.Aa();this.zc(a,b,arguments);var d=a[b].apply(a,arguments);this.za();return d=== a?this:d}});a.a.D(["slice"],function(b){a.Ja.fn[b]=function(){var a=this();return a[b].apply(a,arguments)}});a.Pc=function(b){return a.O(b)&&"function"==typeof b.remove&&"function"==typeof b.push};a.b("observableArray",a.Ja);a.b("isObservableArray",a.Pc);a.Va.trackArrayChanges=function(b,c){function d(){function c(){if(m){var e=[].concat(b.v()||[]),d;if(b.Ya("arrayChange")){if(!f||1<m)f=a.a.Qb(k,e,b.Pb);d=f}k=e;f=null;m=0;d&&d.length&&b.notifySubscribers(d,"arrayChange")}}e?c():(e=!0,h=b.subscribe(function(){++m}, null,"spectate"),k=[].concat(b.v()||[]),f=null,g=b.subscribe(c))}b.Pb={};c&&"object"==typeof c&&a.a.extend(b.Pb,c);b.Pb.sparse=!0;if(!b.zc){var e=!1,f=null,g,h,m=0,k,l=b.Sa,q=b.jb;b.Sa=function(a){l&&l.call(b,a);"arrayChange"===a&&d()};b.jb=function(a){q&&q.call(b,a);"arrayChange"!==a||b.Ya("arrayChange")||(g&&g.s(),h&&h.s(),h=g=null,e=!1,k=p)};b.zc=function(b,c,d){function l(a,b,c){return k[k.length]={status:a,value:b,index:c}}if(e&&!m){var k=[],g=b.length,q=d.length,h=0;switch(c){case "push":h= g;case "unshift":for(c=0;c<q;c++)l("added",d[c],h+c);break;case "pop":h=g-1;case "shift":g&&l("deleted",b[h],h);break;case "splice":c=Math.min(Math.max(0,0>d[0]?g+d[0]:d[0]),g);for(var g=1===q?g:Math.min(c+(d[1]||0),g),q=c+q-2,h=Math.max(g,q),U=[],V=[],p=2;c<h;++c,++p)c<g&&V.push(l("deleted",b[c],c)),c<q&&U.push(l("added",d[p],c));a.a.Kc(V,U);break;default:return}f=k}}}};var t=a.a.Ea("_state");a.o=a.$=function(b,c,d){function e(){if(0<arguments.length){if("function"===typeof f)f.apply(g.pb,arguments); else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}g.ta||a.u.cc(e);(g.ka||g.K&&e.Za())&&e.ha();return g.X}"object"===typeof b?d=b:(d=d||{},b&&(d.read=b));if("function"!=typeof d.read)throw Error("Pass a function that returns the value of the ko.computed");var f=d.write,g={X:p,ua:!0,ka:!0,sa:!1,jc:!1,ta:!1,xb:!1,K:!1,Wc:d.read,pb:c||d.owner,l:d.disposeWhenNodeIsRemoved||d.l||null, Ua:d.disposeWhen||d.Ua,Sb:null,I:{},V:0,Ic:null};e[t]=g;e.Nc="function"===typeof f;a.a.Ca||a.a.extend(e,a.T.fn);a.T.fn.rb(e);a.a.Bb(e,B);d.pure?(g.xb=!0,g.K=!0,a.a.extend(e,da)):d.deferEvaluation&&a.a.extend(e,ea);a.options.deferUpdates&&a.Va.deferred(e,!0);g.l&&(g.jc=!0,g.l.nodeType||(g.l=null));g.K||d.deferEvaluation||e.ha();g.l&&e.ja()&&a.a.J.oa(g.l,g.Sb=function(){e.s()});return e};var B={equalityComparer:K,ra:function(){return this[t].V},Xa:function(){var b=[];a.a.P(this[t].I,function(a,d){b[d.Ma]= d.da});return b},Wb:function(b){if(!this[t].V)return!1;var c=this.Xa();return-1!==a.a.A(c,b)?!0:!!a.a.Mb(c,function(a){return a.Wb&&a.Wb(b)})},uc:function(a,c,d){if(this[t].xb&&c===this)throw Error("A 'pure' computed must not be called recursively");this[t].I[a]=d;d.Ma=this[t].V++;d.Na=c.qb()},Za:function(){var a=this[t];if(a.sa)return!1;a.sa=!0;try{var c,d,e=a.I;for(c in e)if(Object.prototype.hasOwnProperty.call(e,c)&&(d=e[c],this.Ka&&d.da.La||d.da.Dd(d.Na)))return!0}finally{a.sa=!1}},Jd:function(){this.Ka&& !this[t].sa&&this.Ka(!1)},ja:function(){var a=this[t];return a.ka||0<a.V},Rd:function(){this.La?this[t].ka&&(this[t].ua=!0):this.Hc()},$c:function(a){if(a.Ib){var c=a.subscribe(this.Jd,this,"dirty"),d=a.subscribe(this.Rd,this);return{da:a,s:function(){c.s();d.s()}}}return a.subscribe(this.Hc,this)},Hc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[t].Ic),this[t].Ic=a.a.setTimeout(function(){b.ha(!0)},c)):b.Ka?b.Ka(!0):b.ha(!0)},ha:function(b){var c=this[t],d=c.Ua,e=!1;if(!c.sa&& !c.ta){if(c.l&&!a.a.Tb(c.l)||d&&d()){if(!c.jc){this.s();return}}else c.jc=!1;c.sa=!0;try{e=this.zd(b)}finally{c.sa=!1}return e}},zd:function(b){var c=this[t],d=!1,e=c.xb?p:!c.V,d={qd:this,ob:c.I,Rb:c.V};a.u.xc({pd:d,od:ca,o:this,$a:e});c.I={};c.V=0;var f=this.yd(c,d);c.V?d=this.sb(c.X,f):(this.s(),d=!0);d&&(c.K?this.Hb():this.notifySubscribers(c.X,"beforeChange"),c.X=f,this.notifySubscribers(c.X,"spectate"),!c.K&&b&&this.notifySubscribers(c.X),this.rc&&this.rc());e&&this.notifySubscribers(c.X,"awake"); return d},yd:function(b,c){try{var d=b.Wc;return b.pb?d.call(b.pb):d()}finally{a.u.end(),c.Rb&&!b.K&&a.a.P(c.ob,ba),b.ua=b.ka=!1}},v:function(a){var c=this[t];(c.ka&&(a||!c.V)||c.K&&this.Za())&&this.ha();return c.X},ub:function(b){a.T.fn.ub.call(this,b);this.nc=function(){this[t].K||(this[t].ua?this.ha():this[t].ka=!1);return this[t].X};this.Ka=function(a){this.pc(this[t].X);this[t].ka=!0;a&&(this[t].ua=!0);this.qc(this,!a)}},s:function(){var b=this[t];!b.K&&b.I&&a.a.P(b.I,function(a,b){b.s&&b.s()}); b.l&&b.Sb&&a.a.J.zb(b.l,b.Sb);b.I=p;b.V=0;b.ta=!0;b.ua=!1;b.ka=!1;b.K=!1;b.l=p;b.Ua=p;b.Wc=p;this.Nc||(b.pb=p)}},da={Sa:function(b){var c=this,d=c[t];if(!d.ta&&d.K&&"change"==b){d.K=!1;if(d.ua||c.Za())d.I=null,d.V=0,c.ha()&&c.Hb();else{var e=[];a.a.P(d.I,function(a,b){e[b.Ma]=a});a.a.D(e,function(a,b){var e=d.I[a],m=c.$c(e.da);m.Ma=b;m.Na=e.Na;d.I[a]=m});c.Za()&&c.ha()&&c.Hb()}d.ta||c.notifySubscribers(d.X,"awake")}},jb:function(b){var c=this[t];c.ta||"change"!=b||this.Ya("change")||(a.a.P(c.I,function(a, b){b.s&&(c.I[a]={da:b.da,Ma:b.Ma,Na:b.Na},b.s())}),c.K=!0,this.notifySubscribers(p,"asleep"))},qb:function(){var b=this[t];b.K&&(b.ua||this.Za())&&this.ha();return a.T.fn.qb.call(this)}},ea={Sa:function(a){"change"!=a&&"beforeChange"!=a||this.v()}};a.a.Ca&&a.a.setPrototypeOf(B,a.T.fn);var O=a.va.Oa;B[O]=a.o;a.Oc=function(a){return"function"==typeof a&&a[O]===B[O]};a.Fd=function(b){return a.Oc(b)&&b[t]&&b[t].xb};a.b("computed",a.o);a.b("dependentObservable",a.o);a.b("isComputed",a.Oc);a.b("isPureComputed", a.Fd);a.b("computed.fn",B);a.L(B,"peek",B.v);a.L(B,"dispose",B.s);a.L(B,"isActive",B.ja);a.L(B,"getDependenciesCount",B.ra);a.L(B,"getDependencies",B.Xa);a.yb=function(b,c){if("function"===typeof b)return a.o(b,c,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.o(b,c)};a.b("pureComputed",a.yb);(function(){function b(a,f,g){g=g||new d;a=f(a);if("object"!=typeof a||null===a||a===p||a instanceof RegExp||a instanceof Date||a instanceof String||a instanceof Number||a instanceof Boolean)return a;var h= a instanceof Array?[]:{};g.save(a,h);c(a,function(c){var d=f(a[c]);switch(typeof d){case "boolean":case "number":case "string":case "bigint":case "symbol":case "function":h[c]=d;break;case "object":case "undefined":var l=g.get(d);h[c]=l!==p?l:b(d,f,g)}});return h}function c(a,b){if(a instanceof Array){for(var c=0;c<a.length;c++)b(c);"function"==typeof a.toJSON&&b("toJSON")}else for(c in a)b(c)}function d(){this.keys=[];this.values=[]}a.ad=function(c){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert."); return b(c,function(b){for(var c=0;a.O(b)&&10>c;c++)b=b();return b})};a.toJSON=function(b,c,d){b=a.ad(b);return a.a.hc(b,c,d)};d.prototype={constructor:d,save:function(b,c){var d=a.a.A(this.keys,b);0<=d?this.values[d]=c:(this.keys.push(b),this.values.push(c))},get:function(b){b=a.a.A(this.keys,b);return 0<=b?this.values[b]:p}}})();a.b("toJS",a.ad);a.b("toJSON",a.toJSON);a.Wd=function(b,c,d){function e(c){var e=a.yb(b,d).extend({ma:"always"}),h=e.subscribe(function(a){a&&(h.s(),c(a))});e.notifySubscribers(e.v()); return h}return"function"!==typeof Promise||c?e(c.bind(d)):new Promise(e)};a.b("when",a.Wd);(function(){a.w={M:function(b){switch(a.a.R(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.g.get(b,a.c.options.$b):7>=a.a.W?b.getAttributeNode("value")&&b.getAttributeNode("value").specified?b.value:b.text:b.value;case "select":return