/*
 https://mths.be/startswith v0.2.0 by @mathias  https://mths.be/endswith v0.2.0 by @mathias */
zk.copy(String.prototype,{$camel:function(){var a=this.split("-"),e=a.length;if(1==e)return a[0];for(var b="-"==this.charAt(0)?a[0].charAt(0).toUpperCase()+a[0].substring(1):a[0],f=1;f<e;f++)b+=a[f].charAt(0).toUpperCase()+a[f].substring(1);return b},$inc:function(a){return String.fromCharCode(this.charCodeAt(0)+a)},$sub:function(a){return this.charCodeAt(0)-a.charCodeAt(0)}});
String.prototype.startsWith||function(){var a=function(){try{var a={},b=Object.defineProperty;var d=b(a,a,a)&&b}catch(k){}return d}(),e={}.toString,b=function(a){if(null==this)throw TypeError();var b=String(this);if(a&&"[object RegExp]"==e.call(a))throw TypeError();var d=b.length,f=String(a),g=f.length,c=1<arguments.length?arguments[1]:void 0;c=c?Number(c):0;c!=c&&(c=0);c=Math.min(Math.max(c,0),d);if(g+c>d)return!1;for(d=-1;++d<g;)if(b.charCodeAt(c+d)!=f.charCodeAt(d))return!1;return!0};a?a(String.prototype,
"startsWith",{value:b,configurable:!0,writable:!0}):String.prototype.startsWith=b}();
String.prototype.endsWith||function(){var a=function(){try{var a={},b=Object.defineProperty;var d=b(a,a,a)&&b}catch(k){}return d}(),e={}.toString,b=function(a){if(null==this)throw TypeError();var b=String(this);if(a&&"[object RegExp]"==e.call(a))throw TypeError();var d=b.length,f=String(a),g=f.length,c=d;if(1<arguments.length){var h=arguments[1];void 0!==h&&(c=h?Number(h):0,c!=c&&(c=0))}d=Math.min(Math.max(c,0),d)-g;if(0>d)return!1;for(c=-1;++c<g;)if(b.charCodeAt(d+c)!=f.charCodeAt(c))return!1;return!0};
a?a(String.prototype,"endsWith",{value:b,configurable:!0,writable:!0}):String.prototype.endsWith=b}();
zk.copy(Array.prototype,{$indexOf:function(a){return jq.inArray(a,this)},$contains:function(a){return 0<=this.$indexOf(a)},$equals:function(a){if(jq.isArray(a)&&a.length==this.length){for(var e=this.length;e--;){var b=this[e];if(!(b==a[e]||jq.isArray(b)&&b.$equals(a[e])))return!1}return!0}},$remove:function(a){for(var e=jq.isArray(a),b=0,f=this.length;b<f;++b)if(a==this[b]||e&&a.$equals(this[b]))return this.splice(b,1),!0;return!1},$addAll:function(a){return this.push.apply(this,a)},$clone:function(){return[].concat(this)}});
Object.defineProperties(Array.prototype,{$indexOf:{enumerable:!1},$contains:{enumerable:!1},$equals:{enumerable:!1},$remove:{enumerable:!1},$addAll:{enumerable:!1},$clone:{enumerable:!1}});
