diff --git a/vendors/knockout/build/output/knockout-latest.debug.js b/vendors/knockout/build/output/knockout-latest.debug.js
index 75699eac1..d7bfefb67 100644
--- a/vendors/knockout/build/output/knockout-latest.debug.js
+++ b/vendors/knockout/build/output/knockout-latest.debug.js
@@ -59,17 +59,8 @@ ko.utils = (() => {
var canSetPrototype = ({ __proto__: [] } instanceof Array);
return {
- arrayForEach: (array, action, actionOwner) =>
- arrayCall('forEach', array, action, actionOwner),
-
- arrayIndexOf: (array, item) =>
- arrayCall('indexOf', array, item),
-
- arrayFirst: (array, predicate, predicateOwner) =>
- arrayCall('find', array, (e, i, a) => predicate.call(predicateOwner, e, i, a)),
-
arrayRemoveItem: (array, itemToRemove) => {
- var index = ko.utils.arrayIndexOf(array, itemToRemove);
+ var index = array.indexOf(itemToRemove);
if (index > 0) {
array.splice(index, 1);
}
@@ -78,15 +69,6 @@ ko.utils = (() => {
}
},
- arrayPushAll: (array, valuesToPush) => {
- if (valuesToPush instanceof Array)
- array.push.apply(array, valuesToPush);
- else
- for (var i = 0, j = valuesToPush.length; i < j; i++)
- array.push(valuesToPush[i]);
- return array;
- },
-
canSetPrototype: canSetPrototype,
extend: extend,
@@ -332,7 +314,7 @@ ko.utils.domNodeDisposal = new (function () {
if (!onlyComments || nodeList[i].nodeType === 8) {
cleanSingleNode(cleanedNodes[cleanedNodes.length] = lastCleanedNode = nodeList[i]);
if (nodeList[i] !== lastCleanedNode) {
- while (i-- && ko.utils.arrayIndexOf(cleanedNodes, nodeList[i]) == -1);
+ while (i-- && !cleanedNodes.includes(nodeList[i]));
}
}
}
@@ -415,16 +397,7 @@ ko.exportSymbol('utils.domNodeDisposal.addDisposeCallback', ko.utils.domNodeDisp
depth = wrap[0];
// Go to html and back, then peel off extra wrappers
- // Note that we always prefix with some dummy text, because otherwise, IE<9 will strip out leading comment nodes in descendants. Total madness.
- var markup = "ignored
" + wrap[1] + html + wrap[2] + "
";
- if (typeof windowContext['innerShiv'] == "function") {
- // Note that innerShiv is deprecated in favour of html5shiv. We should consider adding
- // support for html5shiv (except if no explicit support is needed, e.g., if html5shiv
- // somehow shims the native APIs so it just works anyway)
- div.append(windowContext['innerShiv'](markup));
- } else {
- div.innerHTML = markup;
- }
+ div.innerHTML = "
" + wrap[1] + html + wrap[2] + "
";
// Move to the right depth
while (depth--)
@@ -996,13 +969,11 @@ ko.observableArray['fn'] = {
// If you passed an arg, we interpret it as an array of entries to remove
if (!arrayOfValues)
return [];
- return this['remove'](function (value) {
- return ko.utils.arrayIndexOf(arrayOfValues, value) >= 0;
- });
+ return this['remove'](value => arrayOfValues.includes(value));
},
'indexOf': function (item) {
- return ko.utils.arrayIndexOf(this(), item);
+ return this().indexOf(item);
}
};
@@ -1363,10 +1334,10 @@ var computedFn = {
return false;
}
var dependencies = this.getDependencies();
- if (ko.utils.arrayIndexOf(dependencies, obs) !== -1) {
+ if (dependencies.includes(obs)) {
return true;
}
- return !!ko.utils.arrayFirst(dependencies, dep =>
+ return !!dependencies.find(dep =>
dep.hasAncestorDependency && dep.hasAncestorDependency(obs)
);
},
@@ -1628,7 +1599,7 @@ var pureComputedOverrides = {
dependenciesOrder[dependency._order] = id
);
// Next, subscribe to each one
- ko.utils.arrayForEach(dependenciesOrder, (id, order) => {
+ dependenciesOrder.forEach((id, order) => {
var dependency = state.dependencyTracking[id],
subscription = computedObservable.subscribeToDependency(dependency._target);
subscription._order = order;
@@ -1779,7 +1750,7 @@ ko.expressionRewriting = (() => {
var javaScriptAssignmentTarget = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i;
function getWriteableValue(expression) {
- if (ko.utils.arrayIndexOf(javaScriptReservedWords, expression) >= 0)
+ if (javaScriptReservedWords.includes(expression))
return false;
var match = expression.match(javaScriptAssignmentTarget);
return match === null ? false : match[1] ? ('Object(' + match[1] + ')' + match[2]) : expression;
@@ -1915,7 +1886,7 @@ ko.expressionRewriting = (() => {
keyValueArray = typeof bindingsStringOrKeyValueArray === "string" ?
parseObjectLiteral(bindingsStringOrKeyValueArray) : bindingsStringOrKeyValueArray;
- ko.utils.arrayForEach(keyValueArray, keyValue =>
+ keyValueArray.forEach(keyValue =>
processKeyValue(keyValue.key || keyValue['unknown'], keyValue.value)
);
@@ -2520,13 +2491,12 @@ ko.expressionRewriting = (() => {
// First add dependencies (if any) of the current binding
if (binding['after']) {
cyclicDependencyStack.push(bindingKey);
- ko.utils.arrayForEach(binding['after'], bindingDependencyKey => {
+ binding['after'].forEach(bindingDependencyKey => {
if (bindings[bindingDependencyKey]) {
- if (ko.utils.arrayIndexOf(cyclicDependencyStack, bindingDependencyKey) !== -1) {
+ if (cyclicDependencyStack.includes(bindingDependencyKey)) {
throw Error("Cannot combine the following bindings, because they have a cyclic dependency: " + cyclicDependencyStack.join(", "));
- } else {
- pushBinding(bindingDependencyKey);
}
+ pushBinding(bindingDependencyKey);
}
});
cyclicDependencyStack.length--;
@@ -2631,10 +2601,8 @@ ko.expressionRewriting = (() => {
}
// First put the bindings into the right order
- var orderedBindings = topologicalSortBindings(bindings);
-
// Go through the sorted bindings, calling init and update for each
- ko.utils.arrayForEach(orderedBindings, bindingKeyAndHandler => {
+ topologicalSortBindings(bindings).forEach(bindingKeyAndHandler => {
// Note that topologicalSortBindings has already filtered out any nonexistent binding handlers,
// so bindingKeyAndHandler.handler will always be nonnull.
var handlerInitFn = bindingKeyAndHandler.handler["init"],
@@ -3610,7 +3578,7 @@ ko.bindingHandlers['options'] = {
} else if (previousSelectedValues.length) {
// IE6 doesn't like us to assign selection to OPTION nodes before they're added to the document.
// That's why we first added them without selection. Now it's time to set the selection.
- var isSelected = ko.utils.arrayIndexOf(previousSelectedValues, ko.selectExtensions.readValue(newOptions[0])) >= 0;
+ var isSelected = previousSelectedValues.includes(ko.selectExtensions.readValue(newOptions[0]));
newOptions[0].selected = isSelected;
// If this option was changed from being selected during a single-item update, notify the change
@@ -3775,7 +3743,7 @@ ko.bindingHandlers['textInput'] = {
if (DEBUG && ko.bindingHandlers['textInput']['_forceUpdateOn']) {
// Provide a way for tests to specify exactly which events are bound
- ko.utils.arrayForEach(ko.bindingHandlers['textInput']['_forceUpdateOn'], eventName => {
+ ko.bindingHandlers['textInput']['_forceUpdateOn'].forEach(eventName => {
if (eventName.slice(0,5) == 'after') {
onEvent(eventName.slice(5), deferUpdateModel);
} else {
@@ -3836,7 +3804,7 @@ ko.bindingHandlers['value'] = {
ko.expressionRewriting.writeValueToProperty(modelValue, allBindings, 'value', elementValue);
}
- ko.utils.arrayForEach(eventsToCatch, eventName => {
+ eventsToCatch.forEach(eventName => {
// The syntax "after" means "run the handler asynchronously after the event"
// This is useful, for example, to catch "keydown" events after the browser has updated the control
// (otherwise, ko.selectExtensions.readValue(this) will receive the control's value *before* the key event)
@@ -3965,9 +3933,7 @@ makeEventHandlerShortcut('click');
// ---- ko.templateSources.domElement -----
// template types
- var templateScript = 1,
- templateTextArea = 2,
- templateTemplate = 3,
+ var templateTemplate = 3,
templateElement = 4;
ko.templateSources.domElement = function(element) {
@@ -3976,27 +3942,17 @@ makeEventHandlerShortcut('click');
if (element) {
var tagNameLower = ko.utils.tagNameLower(element);
this.templateType =
- tagNameLower === "script" ? templateScript :
- tagNameLower === "textarea" ? templateTextArea :
- // For browsers with proper element support, where the .content property gives a document fragment
tagNameLower == "template" && element.content && element.content.nodeType === 11 ? templateTemplate :
templateElement;
}
}
ko.templateSources.domElement.prototype['text'] = function(/* valueToWrite */) {
- var elemContentsProperty = this.templateType === templateScript ? "text"
- : this.templateType === templateTextArea ? "value"
- : "innerHTML";
-
+ var elemContentsProperty = "innerHTML";
if (arguments.length == 0) {
- return this.domElement[elemContentsProperty];
+ return this.domElement.innerHTML;
}
- var valueToWrite = arguments[0];
- if (elemContentsProperty === "innerHTML")
- ko.utils.setHtml(this.domElement, valueToWrite);
- else
- this.domElement[elemContentsProperty] = valueToWrite;
+ ko.utils.setHtml(this.domElement, arguments[0]);
};
var dataDomDataPrefix = ko.utils.domData.nextKey() + "_";
@@ -4544,8 +4500,8 @@ ko.utils.compareArrays = (() => {
// Replace the contents of the mappedNodes array, thereby updating the record
// of which nodes would be deleted if valueToMap was itself later removed
mappedNodes.length = 0;
- ko.utils.arrayPushAll(mappedNodes, newMappedNodes);
- }, null, { disposeWhenNodeIsRemoved: containerNode, disposeWhen: ()=>!!ko.utils.arrayFirst(mappedNodes, ko.utils.domNodeIsAttachedToDocument) });
+ mappedNodes.push(...newMappedNodes);
+ }, null, { disposeWhenNodeIsRemoved: containerNode, disposeWhen: ()=>!!mappedNodes.find(ko.utils.domNodeIsAttachedToDocument) });
return { mappedNodes : mappedNodes, dependentObservable : (dependentObservable.isActive() ? dependentObservable : undefined) };
}
@@ -4595,15 +4551,13 @@ ko.utils.compareArrays = (() => {
function callCallback(callback, items) {
if (callback) {
for (var i = 0, n = items.length; i < n; i++) {
- ko.utils.arrayForEach(items[i].mappedNodes, function(node) {
- callback(node, i, items[i].arrayEntry);
- });
+ items[i].mappedNodes.forEach(node => callback(node, i, items[i].arrayEntry));
}
}
}
if (isFirstExecution) {
- ko.utils.arrayForEach(array, itemAdded);
+ array.forEach(itemAdded);
} else {
if (!editScript || (lastMappingResult && lastMappingResult['_countWaitingForRemove'])) {
// Compare the provided array against the previous one
@@ -4681,7 +4635,7 @@ ko.utils.compareArrays = (() => {
callCallback(options['beforeMove'], itemsForMoveCallbacks);
// Next remove nodes for deleted items (or just clean if there's a beforeRemove callback)
- ko.utils.arrayForEach(nodesToDelete, options['beforeRemove'] ? ko.cleanNode : ko.removeNode);
+ nodesToDelete.forEach(options['beforeRemove'] ? ko.cleanNode : ko.removeNode);
var i, j, lastNode, nodeToInsert, mappedNodes, activeElement;
diff --git a/vendors/knockout/build/output/knockout-latest.js b/vendors/knockout/build/output/knockout-latest.js
index 092fc3e1e..c07c75a3f 100644
--- a/vendors/knockout/build/output/knockout-latest.js
+++ b/vendors/knockout/build/output/knockout-latest.js
@@ -4,89 +4,88 @@
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
*/
-(D=>{function I(b,d){return null===b||typeof b in ha?b===d:!1}function G(b,d){var e;return()=>{e||(e=a.a.setTimeout(()=>{e=void 0;b()},d))}}function J(b,d){var e;return()=>{clearTimeout(e);e=a.a.setTimeout(b,d)}}function U(b,d){null!==d&&d.s&&d.s()}function Y(b,d){var e=this.Dc,g=e[E];g.ga||(this.ib&&this.Na[d]?(e.Pb(d,b,this.Na[d]),this.Na[d]=null,--this.ib):g.u[d]||e.Pb(d,b,g.A?{X:b}:e.qc(b)),b.qa&&b.uc())}var V=D.document,Z={},a="undefined"!==typeof Z?Z:{};a.m=(b,d)=>{b=b.split(".");for(var e=
-a,g=0;g{b[d]=e};a.version="3.5.1-sm";a.m("version",a.version);a.a=(()=>{const b=(h,l,c,f)=>Array.prototype[h].call(l,c,f),d=(h,l)=>{l&&Object.entries(l).forEach(c=>h[c[0]]=c[1]);return h},e=(h,l)=>{h.__proto__=l;return h};var g={__proto__:[]}instanceof Array;return{Y:(h,l,c)=>Array.prototype.forEach.call(h,l,c),Z:(h,l)=>Array.prototype.indexOf.call(h,l,void 0),Sb:(h,l,c)=>b("find",h,(f,k,m)=>l.call(c,f,k,m)),Ja:(h,l)=>{l=a.a.Z(h,l);0{if(l instanceof Array)h.push.apply(h,l);else for(var c=0,f=l.length;ch&&Object.entries(h).forEach(c=>l(c[0],c[1])),Ba:(h,l,c)=>{if(!h)return h;var f={};Object.entries(h).forEach(k=>f[k[0]]=l.call(c,k[1],k[0],h));return f},lb:h=>{for(;h.firstChild;)a.removeNode(h.firstChild)},tb:h=>{var l=[...h],c=(l[0]&&l[0].ownerDocument||V).createElement("div");h.forEach(f=>c.append(a.ma(f)));return c},
-La:(h,l)=>b("map",h,l?c=>a.ma(c.cloneNode(!0)):c=>c.cloneNode(!0)),Ca:(h,l)=>{a.a.lb(h);l&&h.append.apply(h,l)},ya:(h,l)=>{if(h.length){for(l=8===l.nodeType&&l.parentNode||l;h.length&&h[0].parentNode!==l;)h.splice(0,1);for(;1null==h?"":h.trim?h.trim():h.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),Zc:(h,l)=>{h=h||"";return l.length>
-h.length?!1:h.substring(0,l.length)===l},Gc:(h,l)=>l.contains(1!==h.nodeType?h.parentNode:h),kb:h=>a.a.Gc(h,h.ownerDocument.documentElement),ca:h=>h&&h.tagName&&h.tagName.toLowerCase(),Wb:h=>a.onError?function(){try{return h.apply(this,arguments)}catch(l){throw a.onError&&a.onError(l),l;}}:h,setTimeout:(h,l)=>setTimeout(a.a.Wb(h),l),$b:h=>setTimeout(()=>{a.onError&&a.onError(h);throw h;},0),K:(h,l,c)=>{h.addEventListener(l,a.a.Wb(c),!1)},rc:(h,l)=>{if(!h||!h.nodeType)throw Error("element must be a DOM node when calling triggerEvent");
-h.dispatchEvent(new Event(l))},g:h=>a.O(h)?h():h,Tc:h=>a.O(h)?h.D():h,Eb:(h,l,c)=>{if(l){var f=c?"add":"remove";l.split(/\s+/).forEach(k=>h.classList[f](k))}},yb:(h,l)=>h.textContent=a.a.g(l)||""}})();a.m("utils",a.a);a.m("unwrap",a.a.g);a.a.b=new function(){var b=0,d="__ko__"+Date.now(),e=(g,h)=>{var l=g[d];!l&&h&&(l=g[d]={});return l};return{get:(g,h)=>(g=e(g,!1))&&g[h],set:(g,h,l)=>{(g=e(g,void 0!==l))&&(g[h]=l)},ob:(g,h,l)=>{g=e(g,!0);return g[h]||(g[h]=l)},clear:g=>g[d]?(delete g[d],!0):!1,W:()=>
-b++ +d}};a.a.N=new function(){function b(c,f){var k=a.a.b.get(c,g);void 0===k&&f&&(k=[],a.a.b.set(c,g,k));return k}function d(c){var f=b(c,!1);if(f){f=f.slice(0);for(var k=0;k{if("function"!=typeof f)throw Error("Callback must be a function");
-b(c,!0).push(f)},xb:(c,f)=>{var k=b(c,!1);k&&(a.a.Ja(k,f),0==k.length&&a.a.b.set(c,g,void 0))},ma:c=>{a.o.I(()=>{h[c.nodeType]&&(d(c),l[c.nodeType]&&e(c.getElementsByTagName("*")))});return c},removeNode:c=>{a.ma(c);c.parentNode&&c.parentNode.removeChild(c)}}};a.ma=a.a.N.ma;a.removeNode=a.a.N.removeNode;a.m("utils.domNodeDisposal",a.a.N);a.m("utils.domNodeDisposal.addDisposeCallback",a.a.N.ta);(()=>{var b=[0,"",""],d=[1,"
";k--;)c=c.lastChild;return[...c.lastChild.childNodes]};a.a.Nc=(l,c)=>{l=a.a.Sa(l,c);return l.length&&l[0].parentElement||a.a.qb(l)};a.a.mc=(l,c)=>{a.a.ib(l);c=a.a.g(c);if(null!==c&&void 0!==c){"string"!=typeof c&&(c=c.toString());c=a.a.Sa(c,l.ownerDocument);for(var f=0;f{function b(){if(e)for(var c=e,f=0,k;h
+c){if(5E3<=++f){h=e;a.a.Xb(Error("'Too much recursion' after processing "+f+" task groups."));break}c=e}try{k()}catch(m){a.a.Xb(m)}}h=e=d.length=0}var d=[],e=0,g=1,h=0,l=(c=>{var f=V.createElement("div");(new MutationObserver(c)).observe(f,{attributes:!0});return()=>f.classList.toggle("foo")})(b);return{kc:c=>{e||l(b);d[e++]=c;return g++},cancel:c=>{c-=g-e;c>=h&&c{b.throttleEvaluation=d;var e=null;return a.i({read:b,write:g=>{clearTimeout(e);
+e=a.a.setTimeout(()=>b(g),d)}})},rateLimit:(b,d)=>{if("number"==typeof d)var e=d;else{e=d.timeout;var g=d.method}var h="function"==typeof g?g:"notifyWhenChangesStop"==g?J:G;b.pb(l=>h(l,e,d))},notify:(b,d)=>{b.equalityComparer="always"==d?null:I}};var ha={undefined:1,"boolean":1,number:1,string:1};a.m("extenders",a.jb);a.yb=function(b,d,e){this.X=b;this.Eb=d;this.Fb=e;this.Ya=!1;this.Da=this.Za=null;a.Z(this,"dispose",this.s);a.Z(this,"disposeWhenNodeIsRemoved",this.j)};a.yb.prototype.s=function(){this.Ya||
+(this.Da&&a.a.N.ub(this.Za,this.Da),this.Ya=!0,this.Fb(),this.X=this.Eb=this.Fb=this.Za=this.Da=null)};a.yb.prototype.j=function(b){this.Za=b;a.a.N.ra(b,this.Da=this.s.bind(this))};a.T=function(){a.a.Ta(this,O);O.Pa(this)};var O={Pa:b=>{b.L={change:[]};b.Lb=1},subscribe:function(b,d,e){var g=this;e=e||"change";var h=new a.yb(g,d?b.bind(d):b,()=>{a.a.Ga(g.L[e],h);g.Fa&&g.Fa(e)});g.sa&&g.sa(e);g.L[e]||(g.L[e]=[]);g.L[e].push(h);return h},notifySubscribers:function(b,d){d=d||"change";"change"===d&&this.Va();
+if(this.xa(d)){d="change"===d&&this.pc||this.L[d].slice(0);try{a.o.Qb();for(var e=0,g;g=d[e];++e)g.Ya||g.Eb(b)}finally{a.o.end()}}},Na:function(){return this.Lb},Hc:function(b){return this.Na()!==b},Va:function(){++this.Lb},pb:function(b){var d=this,e=a.O(d),g,h,l,c,f;d.Ea||(d.Ea=d.notifySubscribers,d.notifySubscribers=function(m,q){q&&"change"!==q?"beforeChange"===q?this.Ib(m):this.Ea(m,q):this.Jb(m)});var k=b(()=>{d.oa=!1;e&&c===d&&(c=d.Gb?d.Gb():d());var m=h||f&&d.Ra(l,c);f=h=g=!1;m&&d.Ea(l=c)});
+d.Jb=(m,q)=>{q&&d.oa||(f=!q);d.pc=d.L.change.slice(0);d.oa=g=!0;c=m;k()};d.Ib=m=>{g||(l=m,d.Ea(m,"beforeChange"))};d.Kb=()=>{f=!0};d.rc=()=>{d.Ra(l,d.D(!0))&&(h=!0)}},xa:function(b){return this.L[b]&&this.L[b].length},Fc:function(b){if(b)return this.L[b]&&this.L[b].length||0;var d=0;a.a.J(this.L,(e,g)=>d+=g.length);return d},Ra:function(b,d){return!this.equalityComparer||!this.equalityComparer(b,d)},toString:()=>"[object Object]",extend:function(b){var d=this;b&&a.a.J(b,(e,g)=>{e=a.jb[e];"function"==
+typeof e&&(d=e(d,g)||d)});return d}};a.Z(O,"init",O.Pa);a.Z(O,"subscribe",O.subscribe);a.Z(O,"extend",O.extend);a.Z(O,"getSubscriptionsCount",O.Fc);a.a.ja&&a.a.setPrototypeOf(O,Function.prototype);a.T.fn=O;a.Jc=b=>null!=b&&"function"==typeof b.subscribe&&"function"==typeof b.notifySubscribers;a.ta=a.o=(()=>{function b(l){e.push(g);g=l}function d(){g=e.pop()}var e=[],g,h=0;return{Qb:b,end:d,jc:l=>{if(g){if(!a.Jc(l))throw Error("Only subscribable things can act as dependencies");g.wc.call(g.xc,l,l.qc||
+(l.qc=++h))}},I:(l,c,f)=>{try{return b(),l.apply(c,f||[])}finally{d()}},Ma:()=>{if(g)return g.i.Ma()},kb:()=>{if(g)return g.i.kb()},nb:()=>{if(g)return g.nb},i:()=>{if(g)return g.i}}})();var P=Symbol("_latestValue");a.ga=b=>{function d(){if(0{if((b="function"==typeof b&&b[R])&&b!==Q[R]&&b!==a.i.fn[R])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b};a.ec=b=>"function"==typeof b&&(b[R]===Q[R]||b[R]===a.i.fn[R]&&b.bc);
+a.m("observable",a.ga);a.m("isObservable",a.O);a.m("observable.fn",Q);a.Z(Q,"valueHasMutated",Q.Ca);a.ma=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.ga(b);a.a.Ta(b,a.ma.fn);return b.extend({trackArrayChanges:!0})};a.ma.fn={remove:function(b){for(var d=this.D(),e=[],g="function"!=typeof b||a.O(b)?function(c){return c===b}:b,h=0;hb.includes(g)):[]},indexOf:function(b){return this().indexOf(b)}};a.a.ja&&a.a.setPrototypeOf(a.ma.fn,a.ga.fn);"pop push reverse shift sort splice unshift".split(" ").forEach(b=>{a.ma.fn[b]=function(){var d=this.D();this.Wa();
+this.Sb(d,b,arguments);var e=d[b].apply(d,arguments);this.Ca();return e===d?this:e}});["slice"].forEach(b=>{a.ma.fn[b]=function(){var d=this();return d[b].apply(d,arguments)}});a.dc=b=>a.O(b)&&"function"==typeof b.remove&&"function"==typeof b.push;a.m("observableArray",a.ma);a.m("isObservableArray",a.dc);a.jb.trackArrayChanges=(b,d)=>{function e(){function p(){if(f){var u=[].concat(b.D()||[]);if(b.xa("arrayChange")){if(!h||1++f,null,"spectate"),k=[].concat(b.D()||[]),h=null,l=b.subscribe(p))}b.cb={};d&&"object"==typeof d&&a.a.extend(b.cb,d);b.cb.sparse=!0;if(!b.Sb){var g=!1,h=null,l,c,f=0,k,m=b.sa,q=b.Fa;b.sa=p=>{m&&m.call(b,p);"arrayChange"===p&&e()};b.Fa=p=>{q&&q.call(b,p);"arrayChange"!==p||b.xa("arrayChange")||(l&&l.s(),c&&c.s(),c=l=null,g=!1,k=void 0)};b.Sb=(p,u,x)=>{function v(B,A,H){return w[w.length]={status:B,value:A,index:H}}if(g&&!f){var w=[],n=p.length,r=x.length,
+t=0;switch(u){case "push":t=n;case "unshift":for(u=0;ux[0]?n+x[0]:x[0]),n);n=1===r?n:Math.min(u+(x[1]||0),n);r=u+r-2;t=Math.max(n,r);for(var y=[],F=[],z=2;ub[e.pa]=e.X);return b},mb:function(b){if(!this[E].M)return!1;
+var d=this.kb();return d.includes(b)?!0:!!d.find(e=>e.mb&&e.mb(b))},Nb:function(b,d,e){if(this[E].tb&&d===this)throw Error("A 'pure' computed must not be called recursively");this[E].u[b]=e;e.pa=this[E].M++;e.qa=d.Na()},ya:function(){var b,d=this[E].u;for(b in d)if(Object.prototype.hasOwnProperty.call(d,b)){var e=d[b];if(this.na&&e.X.oa||e.X.Hc(e.qa))return!0}},Yc:function(){this.na&&!this[E].Qa&&this.na(!1)},da:function(){var b=this[E];return b.$||0b.V(!0),d)):b.na?b.na(!0):b.V(!0)},V:function(b){var d=this[E],e=d.ua,g=!1;if(!d.Qa&&!d.ea){if(d.j&&!a.a.hb(d.j)||e&&e()){if(!d.zb){this.s();return}}else d.zb=!1;d.Qa=!0;try{g=this.Ec(b)}finally{d.Qa=!1}return g}},Ec:function(b){var d=this[E],e=d.tb?void 0:!d.M;var g={zc:this,Ka:d.u,fb:d.M};a.o.Qb({xc:g,wc:Y,i:this,nb:e});d.u=
+{};d.M=0;var h=this.Dc(d,g);d.M?g=this.Ra(d.P,h):(this.s(),g=!0);g&&(d.v?this.Va():this.notifySubscribers(d.P,"beforeChange"),d.P=h,this.notifySubscribers(d.P,"spectate"),!d.v&&b&&this.notifySubscribers(d.P),this.Kb&&this.Kb());e&&this.notifySubscribers(d.P,"awake");return g},Dc:(b,d)=>{try{var e=b.ic;return b.La?e.call(b.La):e()}finally{a.o.end(),d.fb&&!b.v&&a.a.J(d.Ka,U),b.fa=b.$=!1}},D:function(b){var d=this[E];(d.$&&(b||!d.M)||d.v&&this.ya())&&this.V();return d.P},pb:function(b){a.T.fn.pb.call(this,
+b);this.Gb=function(){this[E].v||(this[E].fa?this.V():this[E].$=!1);return this[E].P};this.na=function(d){this.Ib(this[E].P);this[E].$=!0;d&&(this[E].fa=!0);this.Jb(this,!d)}},s:function(){var b=this[E];!b.v&&b.u&&a.a.J(b.u,(d,e)=>e.s&&e.s());b.j&&b.gb&&a.a.N.ub(b.j,b.gb);b.u=void 0;b.M=0;b.ea=!0;b.fa=!1;b.$=!1;b.v=!1;b.j=void 0;b.ua=void 0;b.ic=void 0;this.bc||(b.La=void 0)}},ia={sa:function(b){var d=this,e=d[E];if(!e.ea&&e.v&&"change"==b){e.v=!1;if(e.fa||d.ya())e.u=null,e.M=0,d.V()&&d.Va();else{var g=
+[];a.a.J(e.u,(h,l)=>g[l.pa]=h);g.forEach((h,l)=>{var c=e.u[h],f=d.nc(c.X);f.pa=l;f.qa=c.qa;e.u[h]=f});d.ya()&&d.V()&&d.Va()}e.ea||d.notifySubscribers(e.P,"awake")}},Fa:function(b){var d=this[E];d.ea||"change"!=b||this.xa("change")||(a.a.J(d.u,(e,g)=>{g.s&&(d.u[e]={X:g.X,pa:g.pa,qa:g.qa},g.s())}),d.v=!0,this.notifySubscribers(void 0,"asleep"))},Na:function(){var b=this[E];b.v&&(b.fa||this.ya())&&this.V();return a.T.fn.Na.call(this)}},ja={sa:function(b){"change"!=b&&"beforeChange"!=b||this.D()}};a.a.ja&&
+a.a.setPrototypeOf(W,a.T.fn);W[a.ga.sc]=a.i;a.m("computed",a.i);a.m("computed.fn",W);a.Z(W,"dispose",W.s);a.Rc=b=>{if("function"===typeof b)return a.i(b,void 0,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.i(b,void 0)};(()=>{a.A={S:b=>{switch(a.a.aa(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.b.get(b,a.c.options.sb):b.value;case "select":return 0<=b.selectedIndex?a.A.S(b.options[b.selectedIndex]):void 0;default:return b.value}},Xa:(b,d,e)=>{switch(a.a.aa(b)){case "option":"string"===
+typeof d?(a.a.b.set(b,a.c.options.sb,void 0),delete b.__ko__hasDomDataOptionValue__,b.value=d):(a.a.b.set(b,a.c.options.sb,d),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof d?d:"");break;case "select":if(""===d||null===d)d=void 0;for(var g=-1,h=0,l=b.options.length,c;h{function b(f){f=a.a.xb(f);123===
+f.charCodeAt(0)&&(f=f.slice(1,-1));f+="\n,";var k=[],m=f.match(g),q=[],p=0;if(1=p){k.push(w&&q.length?{key:w,value:q.join("")}:{unknown:w||q.join("")});var w=p=0;q=[];continue}}else if(58===v){if(!p&&!w&&1===q.length){w=q.pop();continue}}else if(47===v&&1m(v.key||v.unknown,v.value));
+p.length&&m("_ko_property_writers","{"+p.join(",")+" }");return q.join(",")},Lc:(f,k)=>{for(var m=0;m{if(f&&a.O(f))!a.ec(f)||p&&f.D()===q||f(q);else if((f=k.get("_ko_property_writers"))&&f[m])f[m](q)}}})();(()=>{function b(c){return 8==c.nodeType&&g.test(c.nodeValue)}function d(c){return 8==c.nodeType&&h.test(c.nodeValue)}function e(c,f){for(var k=c,m=1,q=[];k=k.nextSibling;){if(d(k)&&(a.a.b.set(k,l,!0),m--,0===m))return q;q.push(k);
+b(k)&&m++}if(!f)throw Error("Cannot find closing comment tag to match: "+c.nodeValue);return null}var g=/^\s*ko(?:\s+([\s\S]+))?\s*$/,h=/^\s*\/ko\s*$/,l="__ko_matchedEndComment__";a.h={ha:{},childNodes:c=>b(c)?e(c):c.childNodes,va:c=>{if(b(c)){c=e(c);for(var f=0,k=c.length;f{if(b(c)){a.h.va(c);c=c.nextSibling;for(var k=0,m=f.length;k{if(b(c)){var k=c.nextSibling;c=c.parentNode}else k=
+c.firstChild;c.insertBefore(f,k)},cc:(c,f,k)=>{k?(k=k.nextSibling,b(c)&&(c=c.parentNode),c.insertBefore(f,k)):a.h.prepend(c,f)},firstChild:c=>{if(b(c))return!c.nextSibling||d(c.nextSibling)?null:c.nextSibling;if(c.firstChild&&d(c.firstChild))throw Error("Found invalid end comment, as the first child of "+c);return c.firstChild},nextSibling:c=>{if(b(c)){var f=e(c,void 0);c=f?0(c=c.nodeValue.match(g))?c[1]:null}})();(function(){a.Y=function(){this.vc={}};a.a.extend(a.Y.prototype,{nodeHasBindings:b=>{switch(b.nodeType){case 1:return null!=b.getAttribute("data-bind")||a.l.getComponentNameForNode(b);case 8:return a.h.Gc(b);default:return!1}},getBindings:function(b,d){var e=this.getBindingsString(b,d);e=e?this.parseBindingsString(e,d,b):null;return a.l.Mb(e,
+b,d,!1)},getBindingAccessors:function(b,d){var e=this.getBindingsString(b,d);e=e?this.parseBindingsString(e,d,b,{valueAccessors:!0}):null;return a.l.Mb(e,b,d,!0)},getBindingsString:b=>{switch(b.nodeType){case 1:return b.getAttribute("data-bind");case 8:return a.h.Wc(b)}return null},parseBindingsString:function(b,d,e,g){try{var h=this.vc,l=b+(g&&g.valueAccessors||""),c;if(!(c=h[l])){var f="with($context){with($data||{}){return{"+a.H.Qc(b,g)+"}}}";var k=new Function("$context","$element",f);c=h[l]=
+k}return c(d,e)}catch(m){throw m.message="Unable to parse bindings.\nBindings value: "+b+"\nMessage: "+m.message,m;}}});a.Y.instance=new a.Y})();(()=>{function b(n){var r=(n=a.a.b.get(n,w))&&n.G;r&&(n.G=null,r.hc())}function d(n,r,t){this.node=n;this.Rb=r;this.Ha=[];this.B=!1;r.G||a.a.N.ra(n,b);t&&t.G&&(t.G.Ha.push(n),this.$a=t)}function e(n){return a.a.za(a.o.I(n),(r,t)=>()=>n()[t])}function g(n,r,t){return"function"===typeof n?e(n.bind(null,r,t)):a.a.za(n,y=>()=>y)}function h(n,r){return e(this.getBindings.bind(this,
+n,r))}function l(n,r){var t=a.h.firstChild(r);if(t){var y,F=a.Y.instance,z=F.preprocessNode;if(z){for(;y=t;)t=a.h.nextSibling(y),z.call(F,y);t=a.h.firstChild(r)}for(;y=t;)t=a.h.nextSibling(y),c(n,y)}a.f.notify(r,a.f.B)}function c(n,r){var t=n;if(1===r.nodeType||a.Y.instance.nodeHasBindings(r))t=k(r,null,n).bindingContextForDescendants;t&&!x[a.a.aa(r)]&&l(t,r)}function f(n){var r=[],t={},y=[];a.a.J(n,function B(z){if(!t[z]){var A=a.getBindingHandler(z);A&&(A.after&&(y.push(z),A.after.forEach(H=>{if(n[H]){if(y.includes(H))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+
+y.join(", "));B(H)}}),y.length--),r.push({key:z,ac:A}));t[z]=!0}});return r}function k(n,r,t){var y=a.a.b.lb(n,w,{}),F=y.tc;if(!r){if(F)throw Error("You cannot apply bindings multiple times to the same element.");y.tc=!0}F||(y.context=t);y.rb||(y.rb={});if(r&&"function"!==typeof r)var z=r;else{var B=a.Y.instance,A=B.getBindingAccessors||h,H=a.i(()=>{if(z=r?r(t,n):A.call(B,n,t)){if(t[q])t[q]();if(t[u])t[u]()}return z},null,{j:n});z&&H.da()||(H=null)}var N=t,K;if(z){var L=H?C=>()=>H()[C]():C=>z[C];
+function M(){return a.a.za(H?H():z,C=>C())}M.get=C=>z[C]&&L(C)();M.has=C=>C in z;a.f.B in z&&a.f.subscribe(n,a.f.B,()=>{var C=z[a.f.B]();if(C){var S=a.h.childNodes(n);S.length&&C(S,a.Wb(S[0]))}});a.f.ca in z&&(N=a.f.wb(n,t),a.f.subscribe(n,a.f.ca,()=>{var C=z[a.f.ca]();C&&a.h.firstChild(n)&&C(n)}));f(z).forEach(C=>{var S=C.ac.init,ca=C.ac.update,T=C.key;if(8===n.nodeType&&!a.h.ha[T])throw Error("The binding '"+T+"' cannot be used with virtual elements");try{"function"==typeof S&&a.o.I(()=>{var X=
+S(n,L(T),M,N.$data,N);if(X&&X.controlsDescendantBindings){if(void 0!==K)throw Error("Multiple bindings ("+K+" and "+T+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");K=T}}),"function"==typeof ca&&a.i(()=>ca(n,L(T),M,N.$data,N),null,{j:n})}catch(X){throw X.message='Unable to process binding "'+T+": "+z[T]+'"\nMessage: '+X.message,X;}})}y=void 0===K;return{shouldBindDescendants:y,bindingContextForDescendants:y&&N}}function m(n,
+r){return n&&n instanceof a.U?n:new a.U(n,void 0,void 0,r)}var q=Symbol("_subscribable"),p=Symbol("_ancestorBindingInfo"),u=Symbol("_dataDependency");a.c={};var x={script:!0,textarea:!0,template:!0};a.getBindingHandler=n=>a.c[n];var v={};a.U=function(n,r,t,y,F){function z(){var M=N?H():H,C=a.a.g(M);r?(a.a.extend(B,r),p in r&&(B[p]=r[p])):(B.$parents=[],B.$root=C,B.ko=a);B[q]=L;A?C=B.$data:(B.$rawData=M,B.$data=C);t&&(B[t]=C);y&&y(B,r,C);if(r&&r[q]&&!a.ta.i().mb(r[q]))r[q]();K&&(B[u]=K);return B.$data}
+var B=this,A=n===v,H=A?void 0:n,N="function"==typeof H&&!a.O(H),K=F&&F.dataDependency;if(F&&F.exportDependencies)z();else{var L=a.Rc(z);L.D();L.da()?L.equalityComparer=null:B[q]=void 0}};a.U.prototype.createChildContext=function(n,r,t,y){!y&&r&&"object"==typeof r&&(y=r,r=y.as,t=y.extend);if(r&&y&&y.noChildContext){var F="function"==typeof n&&!a.O(n);return new a.U(v,this,null,z=>{t&&t(z);z[r]=F?n():n},y)}return new a.U(n,this,r,(z,B)=>{z.$parentContext=B;z.$parent=B.$data;z.$parents=(B.$parents||
+[]).slice(0);z.$parents.unshift(z.$parent);t&&t(z)},y)};a.U.prototype.extend=function(n,r){return new a.U(v,this,null,t=>a.a.extend(t,"function"==typeof n?n(t):n),r)};var w=a.a.b.W();d.prototype.hc=function(){this.$a&&this.$a.G&&this.$a.G.Bc(this.node)};d.prototype.Bc=function(n){a.a.Ga(this.Ha,n);!this.Ha.length&&this.B&&this.Vb()};d.prototype.Vb=function(){this.B=!0;this.Rb.G&&!this.Ha.length&&(this.Rb.G=null,a.a.N.ub(this.node,b),a.f.notify(this.node,a.f.ca),this.hc())};a.f={B:"childrenComplete",
+ca:"descendantsComplete",subscribe:(n,r,t,y,F)=>{var z=a.a.b.lb(n,w,{});z.la||(z.la=new a.T);F&&F.notifyImmediately&&z.rb[r]&&a.o.I(t,y,[n]);return z.la.subscribe(t,y,r)},notify:(n,r)=>{var t=a.a.b.get(n,w);if(t&&(t.rb[r]=!0,t.la&&t.la.notifySubscribers(n,r),r==a.f.B))if(t.G)t.G.Vb();else if(void 0===t.G&&t.la&&t.la.xa(a.f.ca))throw Error("descendantsComplete event not supported for bindings on this node");},wb:(n,r)=>{var t=a.a.b.lb(n,w,{});t.G||(t.G=new d(n,t,r[p]));return r[p]==t?r:r.extend(y=>
+{y[p]=t})}};a.Uc=n=>(n=a.a.b.get(n,w))&&n.context;a.ab=(n,r,t)=>k(n,r,m(t));a.Xc=(n,r,t)=>{t=m(t);return a.ab(n,g(r,t,n),t)};a.Pb=(n,r)=>{1!==r.nodeType&&8!==r.nodeType||l(m(n),r)};a.Ob=function(n,r,t){if(2>arguments.length){if(r=V.body,!r)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!r||1!==r.nodeType&&8!==r.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");c(m(n,t),r)};
+a.Wb=n=>(n=n&&[1,8].includes(n.nodeType)&&a.Uc(n))?n.$data:void 0;a.m("bindingHandlers",a.c);a.m("applyBindings",a.Ob);a.m("applyBindingAccessorsToNode",a.ab);a.m("dataFor",a.Wb)})();(()=>{function b(c,f){return Object.prototype.hasOwnProperty.call(c,f)?c[f]:void 0}function d(c,f){var k=b(h,c);if(k)k.subscribe(f);else{k=h[c]=new a.T;k.subscribe(f);e(c,(q,p)=>{p=!(!p||!p.synchronous);l[c]={definition:q,Kc:p};delete h[c];m||p?k.notifySubscribers(q):a.Ab.kc(()=>k.notifySubscribers(q))});var m=!0}}function e(c,
+f){g("getConfig",[c],k=>{k?g("loadComponent",[c,k],m=>f(m,k)):f(null,null)})}function g(c,f,k,m){m||(m=a.l.loaders.slice(0));var q=m.shift();if(q){var p=q[c];if(p){var u=!1;if(void 0!==p.apply(q,f.concat(function(x){u?k(null):null!==x?k(x):g(c,f,k,m)}))&&(u=!0,!q.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else g(c,f,k,m)}else k(null)}var h={},l={};a.l={get:(c,f)=>{var k=b(l,c);k?k.Kc?a.o.I(()=>f(k.definition)):
+a.Ab.kc(()=>f(k.definition)):d(c,f)},yc:c=>delete l[c],Hb:g};a.l.loaders=[];a.m("components",a.l)})();(()=>{function b(c,f,k,m){var q={},p=2;f=k.template;k=k.viewModel;f?a.l.Hb("loadTemplate",[c,f],u=>{q.template=u;0===--p&&m(q)}):0===--p&&m(q);k?a.l.Hb("loadViewModel",[c,k],u=>{q[l]=u;0===--p&&m(q)}):0===--p&&m(q)}function d(c,f,k){if("function"===typeof f)k(q=>new f(q));else if("function"===typeof f[l])k(f[l]);else if("instance"in f){var m=f.instance;k(()=>m)}else"viewModel"in f?d(c,f.viewModel,
+k):c("Unknown viewModel value: "+f)}function e(c){if("template"==a.a.aa(c)&&c.content instanceof DocumentFragment)return a.a.Ia(c.content.childNodes);throw"Template Source Element not a ";}function g(c){return f=>{throw Error("Component '"+c+"': "+f);}}var h={};a.l.register=(c,f)=>{if(!f)throw Error("Invalid configuration for "+c);if(a.l.ob(c))throw Error("Component "+c+" is already registered");h[c]=f};a.l.ob=c=>Object.prototype.hasOwnProperty.call(h,c);a.l.unregister=c=>{delete h[c];a.l.yc(c)};
+a.l.Ac={getConfig:(c,f)=>{c=a.l.ob(c)?h[c]:null;f(c)},loadComponent:(c,f,k)=>{var m=g(c);b(c,m,f,k)},loadTemplate:(c,f,k)=>{c=g(c);if("string"===typeof f)k(a.a.Sa(f));else if(f instanceof Array)k(f);else if(f instanceof DocumentFragment)k([...f.childNodes]);else if(f.element)if(f=f.element,f instanceof HTMLElement)k(e(f));else if("string"===typeof f){var m=V.getElementById(f);m?k(e(m)):c("Cannot find element with ID "+f)}else c("Unknown element type: "+f);else c("Unknown template value: "+f)},loadViewModel:(c,
+f,k)=>d(g(c),f,k)};var l="createViewModel";a.m("components.register",a.l.register);a.l.loaders.push(a.l.Ac)})();(()=>{function b(e,g){var h=e.getAttribute("params");return h?(g=d.parseBindingsString(h,g,e,{valueAccessors:!0,bindingParams:!0}),g=a.a.za(g,l=>a.i(l,null,{j:e})),h=a.a.za(g,l=>{var c=l.D();return l.da()?a.i({read:()=>a.a.g(l()),write:a.ec(c)&&(f=>l()(f)),j:e}):c}),Object.prototype.hasOwnProperty.call(h,"$raw")||(h.$raw=g),h):{$raw:{}}}a.l.getComponentNameForNode=e=>{var g=a.a.aa(e);if(a.l.ob(g)&&
+(-1!=g.indexOf("-")||"[object HTMLUnknownElement]"==""+e))return g};a.l.Mb=(e,g,h,l)=>{if(1===g.nodeType){var c=a.l.getComponentNameForNode(g);if(c){e=e||{};if(e.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var f={name:c,params:b(g,h)};e.component=l?()=>f:f}}return e};var d=new a.Y})();(()=>{function b(g,h,l){h=h.template;if(!h)throw Error("Component '"+g+"' has no template");g=a.a.Ia(h);a.h.Aa(l,g)}function d(g,h,l){var c=g.createViewModel;
+return c?c.call(g,h,l):h}var e=0;a.c.component={init:(g,h,l,c,f)=>{var k,m,q,p=()=>{var x=k&&k.dispose;"function"===typeof x&&x.call(k);q&&q.s();m=k=q=null},u=[...a.h.childNodes(g)];a.h.va(g);a.a.N.ra(g,p);a.i(()=>{var x=a.a.g(h());if("string"===typeof x)var v=x;else{v=a.a.g(x.name);var w=a.a.g(x.params)}if(!v)throw Error("No component name specified");var n=a.f.wb(g,f),r=m=++e;a.l.get(v,t=>{if(m===r){p();if(!t)throw Error("Unknown component '"+v+"'");b(v,t,g);var y=d(t,w,{element:g,templateNodes:u});
+t=n.createChildContext(y,{extend:F=>{F.$component=y;F.$componentTemplateNodes=u}});y&&y.koDescendantsComplete&&(q=a.f.subscribe(g,a.f.ca,y.koDescendantsComplete,y));k=y;a.Pb(t,g)}})},null,{j:g});return{controlsDescendantBindings:!0}}};a.h.ha.component=!0})();a.c.attr={update:(b,d)=>{d=a.a.g(d())||{};a.a.J(d,function(e,g){g=a.a.g(g);var h=e.indexOf(":");h="lookupNamespaceURI"in b&&0{d=a.a.g(d());null!==d&&"object"==typeof d?a.a.J(d,(e,g)=>{g=a.a.g(g);a.a.Cb(b,e,g)}):(d=a.a.xb(d),a.a.Cb(b,b.__ko__cssValue,!1),b.__ko__cssValue=d,a.a.Cb(b,d,!0))}};a.c.enable={update:(b,d)=>{(d=a.a.g(d()))&&b.disabled?b.removeAttribute("disabled"):d||b.disabled||(b.disabled=!0)}};a.c.disable={update:(b,d)=>a.c.enable.update(b,()=>!a.a.g(d()))};a.c.event={init:(b,d,e,g,h)=>{var l=
+d()||{};a.a.J(l,c=>{"string"==typeof c&&a.a.K(b,c,function(f){var k=d()[c];if(k){try{g=h.$data;var m=k.apply(g,[g,...arguments])}finally{!0!==m&&f.preventDefault()}!1===e.get(c+"Bubble")&&(f.cancelBubble=!0,f.stopPropagation())}})})}};a.c.foreach={fc:b=>()=>{var d=b(),e=a.a.Pc(d);if(!e||"number"==typeof e.length)return{foreach:d};a.a.g(d);return{foreach:e.data,as:e.as,noChildContext:e.noChildContext,includeDestroyed:e.includeDestroyed,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,afterRender:e.afterRender,
+beforeMove:e.beforeMove,afterMove:e.afterMove}},init:(b,d)=>a.c.template.init(b,a.c.foreach.fc(d)),update:(b,d,e,g,h)=>a.c.template.update(b,a.c.foreach.fc(d),e,g,h)};a.H.bb.foreach=!1;a.h.ha.foreach=!0;a.c.hasfocus={init:(b,d,e)=>{var g=l=>{b.__ko_hasfocusUpdating=!0;l=b.ownerDocument.activeElement===b;var c=d();a.H.Db(c,e,"hasfocus",l,!0);b.__ko_hasfocusLastValue=l;b.__ko_hasfocusUpdating=!1},h=g.bind(null,!0);g=g.bind(null,!1);a.a.K(b,"focus",h);a.a.K(b,"focusin",h);a.a.K(b,"blur",g);a.a.K(b,"focusout",
+g);b.__ko_hasfocusLastValue=!1},update:(b,d)=>{d=!!a.a.g(d());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===d||(d?b.focus():b.blur())}};a.H.Ua.hasfocus=!0;a.c.hasFocus=a.c.hasfocus;a.H.Ua.hasFocus="hasfocus";a.c.html={init:()=>({controlsDescendantBindings:!0}),update:(b,d)=>a.a.mc(b,d())};(function(){function b(d,e,g){a.c[d]={init:(h,l,c,f,k)=>{var m,q,p={},u;if(e){f=c.get("as");var x=c.get("noChildContext");var v=!(f&&x);p={as:f,noChildContext:x,exportDependencies:v}}var w=(u="render"==c.get("completeOn"))||
+c.has(a.f.ca);a.i(()=>{var n=a.a.g(l()),r=!g!==!n,t=!q;if(v||r!==m){w&&(k=a.f.wb(h,k));if(r){if(!e||v)p.dataDependency=a.ta.i();var y=e?k.createChildContext("function"==typeof n?n:l,p):a.ta.Ma()?k.extend(null,p):k}t&&a.ta.Ma()&&(q=a.a.Ia(a.h.childNodes(h),!0));r?(t||a.h.Aa(h,a.a.Ia(q)),a.Pb(y,h)):(a.h.va(h),u||a.f.notify(h,a.f.B));m=r}},null,{j:h});return{controlsDescendantBindings:!0}}};a.H.bb[d]=!1;a.h.ha[d]=!0}b("if");b("ifnot",!1,!0);b("with",!0)})();var aa={};a.c.options={init:b=>{if("select"!==
+a.a.aa(b))throw Error("options binding applies only to SELECT elements");for(;0{function g(){return Array.from(b.options).filter(v=>v.selected)}function h(v,w,n){var r=typeof w;return"function"==r?w(v):"string"==r?v[w]:n}function l(v,w){u&&m?a.f.notify(b,a.f.B):q.length&&(v=q.includes(a.A.S(w[0])),w[0].selected=v,u&&!v&&a.o.I(a.a.oc,null,[b,"change"]))}var c=b.multiple,f=0!=b.length&&c?b.scrollTop:null,k=a.a.g(d()),m=e.get("valueAllowUnset")&&
+e.has("value");d={};var q=[];m||(c?q=g().map(a.A.S):0<=b.selectedIndex&&q.push(a.A.S(b.options[b.selectedIndex])));if(k){"undefined"==typeof k.length&&(k=[k]);var p=k.filter(v=>v||null==v);e.has("optionsCaption")&&(k=a.a.g(e.get("optionsCaption")),null!==k&&void 0!==k&&p.unshift(aa))}var u=!1;d.beforeRemove=v=>b.removeChild(v);k=l;e.has("optionsAfterRender")&&"function"==typeof e.get("optionsAfterRender")&&(k=(v,w)=>{l(v,w);a.o.I(e.get("optionsAfterRender"),null,[w[0],v!==aa?v:void 0])});a.a.lc(b,
+p,function(v,w,n){n.length&&(q=!m&&n[0].selected?[a.A.S(n[0])]:[],u=!0);w=b.ownerDocument.createElement("option");v===aa?(a.a.vb(w,e.get("optionsCaption")),a.A.Xa(w,void 0)):(n=h(v,e.get("optionsValue"),v),a.A.Xa(w,a.a.g(n)),v=h(v,e.get("optionsText"),n),a.a.vb(w,v));return[w]},d,k);if(!m){var x;c?x=q.length&&g().length{d=a.a.g(d()||{});a.a.J(d,(e,g)=>{g=a.a.g(g);if(null===g||void 0===g||!1===g)g="";if(/^--/.test(e))b.style.setProperty(e,g);else{e=e.replace(/-(\w)/g,(l,c)=>c.toUpperCase());var h=b.style[e];b.style[e]=g;g===h||b.style[e]!=h||isNaN(g)||(b.style[e]=g+"px")}})}};a.c.submit={init:(b,d,e,g,h)=>{if("function"!=typeof d())throw Error("The value for a submit binding must be a function");a.a.K(b,"submit",l=>
+{var c=d();try{var f=c.call(h.$data,b)}finally{!0!==f&&(l.preventDefault?l.preventDefault():l.returnValue=!1)}})}};a.c.text={init:()=>({controlsDescendantBindings:!0}),update:(b,d)=>a.a.vb(b,d())};a.h.ha.text=!0;a.c.textInput={init:(b,d,e)=>{var g=b.value,h,l,c=()=>{clearTimeout(h);l=h=void 0;var k=b.value;g!==k&&(g=k,a.H.Db(d(),e,"textInput",k))},f=()=>{var k=a.a.g(d());if(null===k||void 0===k)k="";void 0!==l&&k===l?a.a.setTimeout(f,4):b.value!==k&&(b.value=k,g=b.value)};a.a.K(b,"input",c);a.a.K(b,
+"change",c);a.a.K(b,"blur",c);a.i(f,null,{j:b})}};a.H.Ua.textInput=!0;a.c.textinput={preprocess:(b,d,e)=>e("textInput",b)};a.c.value={init:(b,d,e)=>{var g=a.a.aa(b),h="input"==g;if(!h||"checkbox"!=b.type&&"radio"!=b.type){var l=[],c=e.get("valueUpdate"),f=null;c&&("string"==typeof c?l=[c]:l=c?c.filter((p,u)=>c.indexOf(p)===u):[],a.a.Ga(l,"change"));var k=()=>{f=null;var p=d(),u=a.A.S(b);a.H.Db(p,e,"value",u)};l.forEach(p=>{var u=k;a.a.Vc(p,"after")&&(u=()=>{f=a.A.S(b);a.a.setTimeout(k,0)},p=p.substring(5));
+a.a.K(b,p,u)});var m=h&&"file"==b.type?()=>{var p=a.a.g(d());null===p||void 0===p||""===p?b.value="":a.o.I(k)}:()=>{var p=a.a.g(d()),u=a.A.S(b);if(null!==f&&p===f)a.a.setTimeout(m,0);else if(p!==u||void 0===u)"select"===g?(u=e.get("valueAllowUnset"),a.A.Xa(b,p,u),u||p===a.A.S(b)||a.o.I(k)):a.A.Xa(b,p)};if("select"===g){var q;a.f.subscribe(b,a.f.B,()=>{q?e.get("valueAllowUnset")?m():k():(a.a.K(b,"change",k),q=a.i(m,null,{j:b}))},null,{notifyImmediately:!0})}else a.a.K(b,"change",k),a.i(m,null,{j:b})}else a.ab(b,
+{checkedValue:d})},update:()=>{}};a.H.Ua.value=!0;a.c.visible={update:(b,d)=>{d=a.a.g(d());var e="none"!=b.style.display;d&&!e?b.style.display="":e&&!d&&(b.style.display="none")}};a.c.hidden={update:(b,d)=>b.hidden=!!a.a.g(d())};(function(b){a.c[b]={init:function(d,e,g,h,l){return a.c.event.init.call(this,d,()=>({[b]:e()}),g,h,l)}}})("click");(()=>{a.F={};a.F.C=function(e){if(this.C=e)this.Bb="template"==a.a.aa(e)&&e.content&&11===e.content.nodeType?3:4};a.F.C.prototype.text=function(){if(0==arguments.length)return this.C.innerHTML;
+a.a.mc(this.C,arguments[0])};var b=a.a.b.W()+"_";a.F.C.prototype.data=function(e){if(1===arguments.length)return a.a.b.get(this.C,b+e);a.a.b.set(this.C,b+e,arguments[1])};var d=a.a.b.W();a.F.C.prototype.nodes=function(){var e=this.C;if(0==arguments.length){var g=a.a.b.get(e,d)||{},h=g.Ja||(3===this.Bb?e.content:4===this.Bb?e:void 0);if(!h||g.uc){var l=this.text();l&&l!==g.Ba&&(h=a.a.Nc(l,e.ownerDocument),a.a.b.set(e,d,{Ja:h,Ba:l,uc:!0}))}return h}g=arguments[0];void 0!==this.Bb&&this.text("");a.a.b.set(e,
+d,{Ja:g})};a.F.ba=function(e){this.C=e};a.F.ba.prototype=new a.F.C;a.F.ba.prototype.constructor=a.F.ba;a.F.ba.prototype.text=function(){if(0==arguments.length){var e=a.a.b.get(this.C,d)||{};void 0===e.Ba&&e.Ja&&(e.Ba=e.Ja.innerHTML);return e.Ba}a.a.b.set(this.C,d,{Ba:arguments[0]})}})();(()=>{function b(c,f){if(c.length){var k=c[0],m=c[c.length-1],q=k.parentNode,p=a.Y.instance,u=p.preprocessNode;if(u){g(k,m,(x,v)=>{var w=x.previousSibling,n=u.call(p,x);n&&(x===k&&(k=n[0]||v),x===m&&(m=n[n.length-
+1]||w))});c.length=0;if(!k)return;k===m?c.push(k):(c.push(k,m),a.a.wa(c,q))}g(k,m,x=>{1!==x.nodeType&&8!==x.nodeType||a.Ob(f,x)});a.a.wa(c,q)}}function d(c,f,k,m,q){q=q||{};var p=(c&&(c.nodeType?c:0
+{var m;for(f=a.h.nextSibling(f);c&&(m=c)!==f;)c=a.h.nextSibling(m),k(m,c)};a.Sc=function(c,f,k,m){k=k||{};var q=q||"replaceChildren";if(m){var p=m.nodeType?m:0{var u=f&&f instanceof a.U?f:new a.U(f,null,null,null,{exportDependencies:!0}),x=e(c,u.$data,u);d(m,q,x,u,k)},null,{ua:()=>!p||!a.a.hb(p),j:p})}console.log("no targetNodeOrNodeArray")};a.Tc=(c,f,k,m,q)=>{function p(t,y){a.o.I(a.a.lc,null,[m,t,v,k,w,y]);a.f.notify(m,a.f.B)}var u,x=k.as,v=(t,y)=>{u=q.createChildContext(t,
+{as:x,noChildContext:k.noChildContext,extend:F=>{F.$index=y;x&&(F[x+"Index"]=y)}});t=e(c,t,u);return d(m,"ignoreTargetNode",t,u,k)},w=(t,y)=>{b(y,u);k.afterRender&&k.afterRender(y,t);u=null},n=!1===k.includeDestroyed;if(n||k.beforeRemove||!a.dc(f))return a.i(()=>{var t=a.a.g(f)||[];"undefined"==typeof t.length&&(t=[t]);n&&(t=t.filter(y=>y||null==y));p(t)},null,{j:m});p(f.D());var r=f.subscribe(t=>{p(f(),t)},null,"arrayChange");r.j(m);return r};var h=a.a.b.W(),l=a.a.b.W();a.c.template={init:(c,f)=>
+{f=a.a.g(f());if("string"==typeof f||"name"in f)a.h.va(c);else if("nodes"in f){f=f.nodes||[];if(a.O(f))throw Error('The "nodes" option must be a plain, non-observable array.');let k=f[0]&&f[0].parentNode;k&&a.a.b.get(k,l)||(k=a.a.qb(f),a.a.b.set(k,l,!0));(new a.F.ba(c)).nodes(k)}else if(f=a.h.childNodes(c),0{var p=
+f();f=a.a.g(p);k=!0;m=null;"string"==typeof f?f={}:(p="name"in f?f.name:c,"if"in f&&(k=a.a.g(f["if"])),k&&"ifnot"in f&&(k=!a.a.g(f.ifnot)),k&&!p&&(k=!1));"foreach"in f?m=a.Tc(p,k&&f.foreach||[],f,c,q):k?(k=q,"data"in f&&(k=q.createChildContext(f.data,{as:f.as,noChildContext:f.noChildContext,exportDependencies:!0})),m=a.Sc(p,k,f,c)):a.h.va(c);q=m;(f=a.a.b.get(c,h))&&"function"==typeof f.s&&f.s();a.a.b.set(c,h,!q||q.da&&!q.da()?void 0:q)}};a.H.bb.template=c=>{c=a.H.Oc(c);return 1==c.length&&c[0].unknown||
+a.H.Lc(c,"name")?null:"This template engine does not support anonymous templates nested within its templates"};a.h.ha.template=!0})();a.a.$b=(b,d,e)=>{if(b.length&&d.length){var g,h,l,c,f;for(g=h=0;(!e||g{function b(d,e,g,h,l){var c=Math.min,f=Math.max,k=[],m,q=d.length,p,u=e.length,x=u-q||1,v=q+u+1,w;for(m=0;m<=q;m++){var n=w;k.push(w=[]);var r=c(u,m+x);for(p=
+f(0,m-1);p<=r;p++)w[p]=p?m?d[m-1]===e[p-1]?n[p-1]:c(n[p]||v,w[p-1]||v)+1:p+1:m+1}c=[];f=[];x=[];m=q;for(p=u;m||p;)u=k[m][p]-1,p&&u===k[m][p-1]?f.push(c[c.length]={status:g,value:e[--p],index:p}):m&&u===k[m-1][p]?x.push(c[c.length]={status:h,value:d[--m],index:m}):(--p,--m,l.sparse||c.push({status:"retained",value:e[p]}));a.a.$b(x,f,!l.dontLimitMoves&&10*q);return c.reverse()}return function(d,e,g){g="boolean"===typeof g?{dontLimitMoves:g}:g||{};d=d||[];e=e||[];return d.length{function b(g,h,l,c,f){var k=[],m=a.i(()=>{var q=h(l,f,a.a.wa(k,g))||[];if(0!!k.find(a.a.hb)});return{R:k,eb:m.da()?m:void 0}}var d=a.a.b.W(),e=a.a.b.W();a.a.lc=(g,h,l,c,f,k)=>{function m(K){A={ia:K,Oa:a.ga(n++)};
+v.push(A);x||z.push(A)}function q(K){A=u[K];n!==A.Oa.D()&&F.push(A);A.Oa(n++);a.a.wa(A.R,g);v.push(A)}function p(K,L){if(K)for(var M=0,C=L.length;MK(S,M,L[M].ia))}h=h||[];"undefined"==typeof h.length&&(h=[h]);c=c||{};var u=a.a.b.get(g,d),x=!u,v=[],w=0,n=0,r=[],t=[],y=[],F=[],z=[],B=0;if(x)h.forEach(m);else{if(!k||u&&u._countWaitingForRemove)k=Array.prototype.map.call(u,K=>K.ia),k=a.a.Ub(k,h,{dontLimitMoves:c.dontLimitMoves,sparse:!0});for(let K=0,L,M,C;L=k[K];K++)switch(M=
+L.moved,C=L.index,L.status){case "deleted":for(;w {
+ binding['after'].forEach(bindingDependencyKey => {
if (bindings[bindingDependencyKey]) {
- if (ko.utils.arrayIndexOf(cyclicDependencyStack, bindingDependencyKey) !== -1) {
+ if (cyclicDependencyStack.includes(bindingDependencyKey)) {
throw Error("Cannot combine the following bindings, because they have a cyclic dependency: " + cyclicDependencyStack.join(", "));
- } else {
- pushBinding(bindingDependencyKey);
}
+ pushBinding(bindingDependencyKey);
}
});
cyclicDependencyStack.length--;
@@ -454,10 +453,8 @@
}
// First put the bindings into the right order
- var orderedBindings = topologicalSortBindings(bindings);
-
// Go through the sorted bindings, calling init and update for each
- ko.utils.arrayForEach(orderedBindings, bindingKeyAndHandler => {
+ topologicalSortBindings(bindings).forEach(bindingKeyAndHandler => {
// Note that topologicalSortBindings has already filtered out any nonexistent binding handlers,
// so bindingKeyAndHandler.handler will always be nonnull.
var handlerInitFn = bindingKeyAndHandler.handler["init"],
diff --git a/vendors/knockout/src/binding/defaultBindings/options.js b/vendors/knockout/src/binding/defaultBindings/options.js
index ebf1242b7..21b9682dd 100644
--- a/vendors/knockout/src/binding/defaultBindings/options.js
+++ b/vendors/knockout/src/binding/defaultBindings/options.js
@@ -101,7 +101,7 @@ ko.bindingHandlers['options'] = {
} else if (previousSelectedValues.length) {
// IE6 doesn't like us to assign selection to OPTION nodes before they're added to the document.
// That's why we first added them without selection. Now it's time to set the selection.
- var isSelected = ko.utils.arrayIndexOf(previousSelectedValues, ko.selectExtensions.readValue(newOptions[0])) >= 0;
+ var isSelected = previousSelectedValues.includes(ko.selectExtensions.readValue(newOptions[0]));
newOptions[0].selected = isSelected;
// If this option was changed from being selected during a single-item update, notify the change
diff --git a/vendors/knockout/src/binding/defaultBindings/textInput.js b/vendors/knockout/src/binding/defaultBindings/textInput.js
index e71cd5d62..24bba09d5 100644
--- a/vendors/knockout/src/binding/defaultBindings/textInput.js
+++ b/vendors/knockout/src/binding/defaultBindings/textInput.js
@@ -55,7 +55,7 @@ ko.bindingHandlers['textInput'] = {
if (DEBUG && ko.bindingHandlers['textInput']['_forceUpdateOn']) {
// Provide a way for tests to specify exactly which events are bound
- ko.utils.arrayForEach(ko.bindingHandlers['textInput']['_forceUpdateOn'], eventName => {
+ ko.bindingHandlers['textInput']['_forceUpdateOn'].forEach(eventName => {
if (eventName.slice(0,5) == 'after') {
onEvent(eventName.slice(5), deferUpdateModel);
} else {
diff --git a/vendors/knockout/src/binding/defaultBindings/value.js b/vendors/knockout/src/binding/defaultBindings/value.js
index ac075ee93..a58e08bfc 100644
--- a/vendors/knockout/src/binding/defaultBindings/value.js
+++ b/vendors/knockout/src/binding/defaultBindings/value.js
@@ -32,7 +32,7 @@ ko.bindingHandlers['value'] = {
ko.expressionRewriting.writeValueToProperty(modelValue, allBindings, 'value', elementValue);
}
- ko.utils.arrayForEach(eventsToCatch, eventName => {
+ eventsToCatch.forEach(eventName => {
// The syntax "after" means "run the handler asynchronously after the event"
// This is useful, for example, to catch "keydown" events after the browser has updated the control
// (otherwise, ko.selectExtensions.readValue(this) will receive the control's value *before* the key event)
diff --git a/vendors/knockout/src/binding/editDetection/arrayToDomNodeChildren.js b/vendors/knockout/src/binding/editDetection/arrayToDomNodeChildren.js
index 999e780f4..890164f63 100644
--- a/vendors/knockout/src/binding/editDetection/arrayToDomNodeChildren.js
+++ b/vendors/knockout/src/binding/editDetection/arrayToDomNodeChildren.js
@@ -35,8 +35,8 @@
// Replace the contents of the mappedNodes array, thereby updating the record
// of which nodes would be deleted if valueToMap was itself later removed
mappedNodes.length = 0;
- ko.utils.arrayPushAll(mappedNodes, newMappedNodes);
- }, null, { disposeWhenNodeIsRemoved: containerNode, disposeWhen: ()=>!!ko.utils.arrayFirst(mappedNodes, ko.utils.domNodeIsAttachedToDocument) });
+ mappedNodes.push(...newMappedNodes);
+ }, null, { disposeWhenNodeIsRemoved: containerNode, disposeWhen: ()=>!!mappedNodes.find(ko.utils.domNodeIsAttachedToDocument) });
return { mappedNodes : mappedNodes, dependentObservable : (dependentObservable.isActive() ? dependentObservable : undefined) };
}
@@ -86,15 +86,13 @@
function callCallback(callback, items) {
if (callback) {
for (var i = 0, n = items.length; i < n; i++) {
- ko.utils.arrayForEach(items[i].mappedNodes, function(node) {
- callback(node, i, items[i].arrayEntry);
- });
+ items[i].mappedNodes.forEach(node => callback(node, i, items[i].arrayEntry));
}
}
}
if (isFirstExecution) {
- ko.utils.arrayForEach(array, itemAdded);
+ array.forEach(itemAdded);
} else {
if (!editScript || (lastMappingResult && lastMappingResult['_countWaitingForRemove'])) {
// Compare the provided array against the previous one
@@ -172,7 +170,7 @@
callCallback(options['beforeMove'], itemsForMoveCallbacks);
// Next remove nodes for deleted items (or just clean if there's a beforeRemove callback)
- ko.utils.arrayForEach(nodesToDelete, options['beforeRemove'] ? ko.cleanNode : ko.removeNode);
+ nodesToDelete.forEach(options['beforeRemove'] ? ko.cleanNode : ko.removeNode);
var i, j, lastNode, nodeToInsert, mappedNodes, activeElement;
diff --git a/vendors/knockout/src/binding/expressionRewriting.js b/vendors/knockout/src/binding/expressionRewriting.js
index 3348bd577..f20db80f1 100644
--- a/vendors/knockout/src/binding/expressionRewriting.js
+++ b/vendors/knockout/src/binding/expressionRewriting.js
@@ -7,7 +7,7 @@ ko.expressionRewriting = (() => {
var javaScriptAssignmentTarget = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i;
function getWriteableValue(expression) {
- if (ko.utils.arrayIndexOf(javaScriptReservedWords, expression) >= 0)
+ if (javaScriptReservedWords.includes(expression))
return false;
var match = expression.match(javaScriptAssignmentTarget);
return match === null ? false : match[1] ? ('Object(' + match[1] + ')' + match[2]) : expression;
@@ -143,7 +143,7 @@ ko.expressionRewriting = (() => {
keyValueArray = typeof bindingsStringOrKeyValueArray === "string" ?
parseObjectLiteral(bindingsStringOrKeyValueArray) : bindingsStringOrKeyValueArray;
- ko.utils.arrayForEach(keyValueArray, keyValue =>
+ keyValueArray.forEach(keyValue =>
processKeyValue(keyValue.key || keyValue['unknown'], keyValue.value)
);
diff --git a/vendors/knockout/src/subscribables/dependentObservable.js b/vendors/knockout/src/subscribables/dependentObservable.js
index b23355e4f..5107a114a 100644
--- a/vendors/knockout/src/subscribables/dependentObservable.js
+++ b/vendors/knockout/src/subscribables/dependentObservable.js
@@ -160,10 +160,10 @@ var computedFn = {
return false;
}
var dependencies = this.getDependencies();
- if (ko.utils.arrayIndexOf(dependencies, obs) !== -1) {
+ if (dependencies.includes(obs)) {
return true;
}
- return !!ko.utils.arrayFirst(dependencies, dep =>
+ return !!dependencies.find(dep =>
dep.hasAncestorDependency && dep.hasAncestorDependency(obs)
);
},
@@ -425,7 +425,7 @@ var pureComputedOverrides = {
dependenciesOrder[dependency._order] = id
);
// Next, subscribe to each one
- ko.utils.arrayForEach(dependenciesOrder, (id, order) => {
+ dependenciesOrder.forEach((id, order) => {
var dependency = state.dependencyTracking[id],
subscription = computedObservable.subscribeToDependency(dependency._target);
subscription._order = order;
diff --git a/vendors/knockout/src/subscribables/observableArray.js b/vendors/knockout/src/subscribables/observableArray.js
index c8d254b8c..42e9be4b1 100644
--- a/vendors/knockout/src/subscribables/observableArray.js
+++ b/vendors/knockout/src/subscribables/observableArray.js
@@ -47,13 +47,11 @@ ko.observableArray['fn'] = {
// If you passed an arg, we interpret it as an array of entries to remove
if (!arrayOfValues)
return [];
- return this['remove'](function (value) {
- return ko.utils.arrayIndexOf(arrayOfValues, value) >= 0;
- });
+ return this['remove'](value => arrayOfValues.includes(value));
},
'indexOf': function (item) {
- return ko.utils.arrayIndexOf(this(), item);
+ return this().indexOf(item);
}
};
diff --git a/vendors/knockout/src/templating/templateSources.js b/vendors/knockout/src/templating/templateSources.js
index 5746c3020..01d1fbbe0 100644
--- a/vendors/knockout/src/templating/templateSources.js
+++ b/vendors/knockout/src/templating/templateSources.js
@@ -28,9 +28,7 @@
// ---- ko.templateSources.domElement -----
// template types
- var templateScript = 1,
- templateTextArea = 2,
- templateTemplate = 3,
+ var templateTemplate = 3,
templateElement = 4;
ko.templateSources.domElement = function(element) {
@@ -39,27 +37,17 @@
if (element) {
var tagNameLower = ko.utils.tagNameLower(element);
this.templateType =
- tagNameLower === "script" ? templateScript :
- tagNameLower === "textarea" ? templateTextArea :
- // For browsers with proper element support, where the .content property gives a document fragment
tagNameLower == "template" && element.content && element.content.nodeType === 11 ? templateTemplate :
templateElement;
}
}
ko.templateSources.domElement.prototype['text'] = function(/* valueToWrite */) {
- var elemContentsProperty = this.templateType === templateScript ? "text"
- : this.templateType === templateTextArea ? "value"
- : "innerHTML";
-
+ var elemContentsProperty = "innerHTML";
if (arguments.length == 0) {
- return this.domElement[elemContentsProperty];
+ return this.domElement.innerHTML;
}
- var valueToWrite = arguments[0];
- if (elemContentsProperty === "innerHTML")
- ko.utils.setHtml(this.domElement, valueToWrite);
- else
- this.domElement[elemContentsProperty] = valueToWrite;
+ ko.utils.setHtml(this.domElement, arguments[0]);
};
var dataDomDataPrefix = ko.utils.domData.nextKey() + "_";
diff --git a/vendors/knockout/src/utils.domManipulation.js b/vendors/knockout/src/utils.domManipulation.js
index f203c0e81..fc74fad51 100644
--- a/vendors/knockout/src/utils.domManipulation.js
+++ b/vendors/knockout/src/utils.domManipulation.js
@@ -32,16 +32,7 @@
depth = wrap[0];
// Go to html and back, then peel off extra wrappers
- // Note that we always prefix with some dummy text, because otherwise, IE<9 will strip out leading comment nodes in descendants. Total madness.
- var markup = "ignored
" + wrap[1] + html + wrap[2] + "
";
- if (typeof windowContext['innerShiv'] == "function") {
- // Note that innerShiv is deprecated in favour of html5shiv. We should consider adding
- // support for html5shiv (except if no explicit support is needed, e.g., if html5shiv
- // somehow shims the native APIs so it just works anyway)
- div.append(windowContext['innerShiv'](markup));
- } else {
- div.innerHTML = markup;
- }
+ div.innerHTML = "
" + wrap[1] + html + wrap[2] + "
";
// Move to the right depth
while (depth--)
diff --git a/vendors/knockout/src/utils.domNodeDisposal.js b/vendors/knockout/src/utils.domNodeDisposal.js
index ae944c5db..5a26caf7c 100644
--- a/vendors/knockout/src/utils.domNodeDisposal.js
+++ b/vendors/knockout/src/utils.domNodeDisposal.js
@@ -41,7 +41,7 @@ ko.utils.domNodeDisposal = new (function () {
if (!onlyComments || nodeList[i].nodeType === 8) {
cleanSingleNode(cleanedNodes[cleanedNodes.length] = lastCleanedNode = nodeList[i]);
if (nodeList[i] !== lastCleanedNode) {
- while (i-- && ko.utils.arrayIndexOf(cleanedNodes, nodeList[i]) == -1);
+ while (i-- && !cleanedNodes.includes(nodeList[i]));
}
}
}
diff --git a/vendors/knockout/src/utils.js b/vendors/knockout/src/utils.js
index 567264c6f..94da27d24 100644
--- a/vendors/knockout/src/utils.js
+++ b/vendors/knockout/src/utils.js
@@ -25,17 +25,8 @@ ko.utils = (() => {
var canSetPrototype = ({ __proto__: [] } instanceof Array);
return {
- arrayForEach: (array, action, actionOwner) =>
- arrayCall('forEach', array, action, actionOwner),
-
- arrayIndexOf: (array, item) =>
- arrayCall('indexOf', array, item),
-
- arrayFirst: (array, predicate, predicateOwner) =>
- arrayCall('find', array, (e, i, a) => predicate.call(predicateOwner, e, i, a)),
-
arrayRemoveItem: (array, itemToRemove) => {
- var index = ko.utils.arrayIndexOf(array, itemToRemove);
+ var index = array.indexOf(itemToRemove);
if (index > 0) {
array.splice(index, 1);
}
@@ -44,15 +35,6 @@ ko.utils = (() => {
}
},
- arrayPushAll: (array, valuesToPush) => {
- if (valuesToPush instanceof Array)
- array.push.apply(array, valuesToPush);
- else
- for (var i = 0, j = valuesToPush.length; i < j; i++)
- array.push(valuesToPush[i]);
- return array;
- },
-
canSetPrototype: canSetPrototype,
extend: extend,