phaser3-rex-plugins
Version:
8 lines (7 loc) • 28.8 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).rexcsvtohashtableplugin=t();}(undefined,(function(){function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(n=i.key,s=void 0,"symbol"==typeof(s=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(e)}(n,"string"))?s:String(s)),i);}var n,s;}function i(e,r,i){return r&&t(e.prototype,r),i&&t(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function n(e){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},n(e)}function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function o(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}();return function(){var r,i=n(e);if(t){var s=n(this).constructor;r=Reflect.construct(i,arguments,s);}else r=i.apply(this,arguments);return o(this,r)}}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var h={exports:{}};
/* @license
Papa Parse
v5.4.1
https://github.com/mholt/PapaParse
License: MIT
*/!function(e,t){e.exports=function e(){var t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},r=!t.document&&!!t.postMessage,i=t.IS_PAPA_WORKER||!1,n={},s=0,o={parse:function(r,i){var a=(i=i||{}).dynamicTyping||!1;if(w(a)&&(i.dynamicTypingFunction=a,a={}),i.dynamicTyping=a,i.transform=!!w(i.transform)&&i.transform,i.worker&&o.WORKERS_SUPPORTED){var u=function(){if(!o.WORKERS_SUPPORTED)return !1;var r,i,a=(r=t.URL||t.webkitURL||null,i=e.toString(),o.BLOB_URL||(o.BLOB_URL=r.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",i,")();"],{type:"text/javascript"})))),u=new t.Worker(a);return u.onmessage=g,u.id=s++,n[u.id]=u}();return u.userStep=i.step,u.userChunk=i.chunk,u.userComplete=i.complete,u.userError=i.error,i.step=w(i.step),i.chunk=w(i.chunk),i.complete=w(i.complete),i.error=w(i.error),delete i.worker,void u.postMessage({input:r,config:i,workerId:u.id})}var d=null;return o.NODE_STREAM_INPUT,"string"==typeof r?(r=function(e){return 65279===e.charCodeAt(0)?e.slice(1):e}(r),d=i.download?new h(i):new l(i)):!0===r.readable&&w(r.read)&&w(r.on)?d=new c(i):(t.File&&r instanceof File||r instanceof Object)&&(d=new f(i)),d.stream(r)},unparse:function(e,t){var r=!1,i=!0,n=",",s="\r\n",a='"',u=a+a,h=!1,f=null,l=!1;!function(){if("object"==typeof t){if("string"!=typeof t.delimiter||o.BAD_DELIMITERS.filter((function(e){return -1!==t.delimiter.indexOf(e)})).length||(n=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(h=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(a=t.quoteChar),"boolean"==typeof t.header&&(i=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");f=t.columns;}void 0!==t.escapeChar&&(u=t.escapeChar+a),("boolean"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(l=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\-@\t\r].*$/);}}();var c=new RegExp(p(a),"g");if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return d(null,e,h);if("object"==typeof e[0])return d(f||Object.keys(e[0]),e,h)}else if("object"==typeof e)return "string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||f),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),d(e.fields||[],e.data||[],h);throw new Error("Unable to serialize unrecognized input");function d(e,t,r){var o="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var a=Array.isArray(e)&&0<e.length,u=!Array.isArray(t[0]);if(a&&i){for(var h=0;h<e.length;h++)0<h&&(o+=n),o+=y(e[h],h);0<t.length&&(o+=s);}for(var f=0;f<t.length;f++){var l=a?e.length:t[f].length,c=!1,d=a?0===Object.keys(t[f]).length:0===t[f].length;if(r&&!a&&(c="greedy"===r?""===t[f].join("").trim():1===t[f].length&&0===t[f][0].length),"greedy"===r&&a){for(var p=[],g=0;g<l;g++){var v=u?e[g]:g;p.push(t[f][v]);}c=""===p.join("").trim();}if(!c){for(var m=0;m<l;m++){0<m&&!d&&(o+=n);var _=a&&u?e[m]:m;o+=y(t[f][_],m);}f<t.length-1&&(!r||0<l&&!d)&&(o+=s);}}return o}function y(e,t){if(null==e)return "";if(e.constructor===Date)return JSON.stringify(e).slice(1,25);var i=!1;l&&"string"==typeof e&&l.test(e)&&(e="'"+e,i=!0);var s=e.toString().replace(c,u);return (i=i||!0===r||"function"==typeof r&&r(e,t)||Array.isArray(r)&&r[t]||function(e,t){for(var r=0;r<t.length;r++)if(-1<e.indexOf(t[r]))return !0;return !1}(s,o.BAD_DELIMITERS)||-1<s.indexOf(n)||" "===s.charAt(0)||" "===s.charAt(s.length-1))?a+s+a:s}}};if(o.RECORD_SEP=String.fromCharCode(30),o.UNIT_SEP=String.fromCharCode(31),o.BYTE_ORDER_MARK="\ufeff",o.BAD_DELIMITERS=["\r","\n",'"',o.BYTE_ORDER_MARK],o.WORKERS_SUPPORTED=!r&&!!t.Worker,o.NODE_STREAM_INPUT=1,o.LocalChunkSize=10485760,o.RemoteChunkSize=5242880,o.DefaultDelimiter=",",o.Parser=y,o.ParserHandle=d,o.NetworkStreamer=h,o.FileStreamer=f,o.StringStreamer=l,o.ReadableStreamStreamer=c,t.jQuery){var a=t.jQuery;a.fn.parse=function(e){var r=e.config||{},i=[];return this.each((function(e){if("INPUT"!==a(this).prop("tagName").toUpperCase()||"file"!==a(this).attr("type").toLowerCase()||!t.FileReader||!this.files||0===this.files.length)return !0;for(var n=0;n<this.files.length;n++)i.push({file:this.files[n],inputElem:this,instanceConfig:a.extend({},r)});})),n(),this;function n(){if(0!==i.length){var t,r,n,u,h=i[0];if(w(e.before)){var f=e.before(h.file,h.inputElem);if("object"==typeof f){if("abort"===f.action)return t="AbortError",r=h.file,n=h.inputElem,u=f.reason,void(w(e.error)&&e.error({name:t},r,n,u));if("skip"===f.action)return void s();"object"==typeof f.config&&(h.instanceConfig=a.extend(h.instanceConfig,f.config));}else if("skip"===f)return void s()}var l=h.instanceConfig.complete;h.instanceConfig.complete=function(e){w(l)&&l(e,h.file,h.inputElem),s();},o.parse(h.file,h.instanceConfig);}else w(e.complete)&&e.complete();}function s(){i.splice(0,1),n();}};}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=_(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new d(t),(this._handle.streamer=this)._config=t;}.call(this,e),this.parseChunk=function(e,r){if(this.isFirstChunk&&w(this._config.beforeFirstChunk)){var n=this._config.beforeFirstChunk(e);void 0!==n&&(e=n);}this.isFirstChunk=!1,this._halted=!1;var s=this._partialLine+e;this._partialLine="";var a=this._handle.parse(s,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var u=a.meta.cursor;this._finished||(this._partialLine=s.substring(u-this._baseIndex),this._baseIndex=u),a&&a.data&&(this._rowCount+=a.data.length);var h=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(i)t.postMessage({results:a,workerId:o.WORKER_ID,finished:h});else if(w(this._config.chunk)&&!r){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);a=void 0,this._completeResults=void 0;}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!h||!w(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),h||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0;},this._sendError=function(e){w(this._config.error)?this._config.error(e):i&&this._config.error&&t.postMessage({workerId:o.WORKER_ID,error:e,finished:!1});};}function h(e){var t;(e=e||{}).chunkSize||(e.chunkSize=o.RemoteChunkSize),u.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded();}:function(){this._readChunk();},this.stream=function(e){this._input=e,this._nextChunk();},this._readChunk=function(){if(this._finished)this._chunkLoaded();else {if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var i in e)t.setRequestHeader(i,e[i]);}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;t.setRequestHeader("Range","bytes="+this._start+"-"+n);}try{t.send(this._config.downloadRequestBody);}catch(e){this._chunkError(e.message);}r&&0===t.status&&this._chunkError();}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");return null===t?-1:parseInt(t.substring(t.lastIndexOf("/")+1))}(t),this.parseChunk(t.responseText)));},this._chunkError=function(e){var r=t.statusText||e;this._sendError(new Error(r));};}function f(e){var t,r;(e=e||{}).chunkSize||(e.chunkSize=o.LocalChunkSize),u.call(this,e);var i="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,i?((t=new FileReader).onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)):t=new FileReaderSync,this._nextChunk();},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk();},this._readChunk=function(){var e=this._input;if(this._config.chunkSize){var n=Math.min(this._start+this._config.chunkSize,this._input.size);e=r.call(e,this._start,n);}var s=t.readAsText(e,this._config.encoding);i||this._chunkLoaded({target:{result:s}});},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result);},this._chunkError=function(){this._sendError(t.error);};}function l(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,r=this._config.chunkSize;return r?(e=t.substring(0,r),t=t.substring(r)):(e=t,t=""),this._finished=!t,this.parseChunk(e)}};}function c(e){u.call(this,e=e||{});var t=[],r=!0,i=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause();},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume();},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError);},this._checkIsFinished=function(){i&&1===t.length&&(this._finished=!0);},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0;},this._streamData=b((function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()));}catch(e){this._streamError(e);}}),this),this._streamError=b((function(e){this._streamCleanUp(),this._sendError(e);}),this),this._streamEnd=b((function(){this._streamCleanUp(),i=!0,this._streamData("");}),this),this._streamCleanUp=b((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError);}),this);}function d(e){var t,r,i,n=Math.pow(2,53),s=-n,a=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,u=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,h=this,f=0,l=0,c=!1,d=!1,g=[],v={data:[],errors:[],meta:{}};if(w(e.step)){var m=e.step;e.step=function(t){if(v=t,R())k();else {if(k(),0===v.data.length)return;f+=t.data.length,e.preview&&f>e.preview?r.abort():(v.data=v.data[0],m(v,h));}};}function b(t){return "greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function k(){return v&&i&&(O("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),e.skipEmptyLines&&(v.data=v.data.filter((function(e){return !b(e)}))),R()&&function(){if(v)if(Array.isArray(v.data[0])){for(var t=0;R()&&t<v.data.length;t++)v.data[t].forEach(r);v.data.splice(0,1);}else v.data.forEach(r);function r(t,r){w(e.transformHeader)&&(t=e.transformHeader(t,r)),g.push(t);}}(),function(){if(!v||!e.header&&!e.dynamicTyping&&!e.transform)return v;function t(t,r){var i,n=e.header?{}:[];for(i=0;i<t.length;i++){var s=i,o=t[i];e.header&&(s=i>=g.length?"__parsed_extra":g[i]),e.transform&&(o=e.transform(o,s)),o=C(s,o),"__parsed_extra"===s?(n[s]=n[s]||[],n[s].push(o)):n[s]=o;}return e.header&&(i>g.length?O("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+i,l+r):i<g.length&&O("FieldMismatch","TooFewFields","Too few fields: expected "+g.length+" fields but parsed "+i,l+r)),n}var r=1;return !v.data.length||Array.isArray(v.data[0])?(v.data=v.data.map(t),r=v.data.length):v.data=t(v.data,0),e.header&&v.meta&&(v.meta.fields=g),l+=r,v}()}function R(){return e.header&&0===g.length}function C(t,r){return i=t,e.dynamicTypingFunction&&void 0===e.dynamicTyping[i]&&(e.dynamicTyping[i]=e.dynamicTypingFunction(i)),!0===(e.dynamicTyping[i]||e.dynamicTyping)?"true"===r||"TRUE"===r||"false"!==r&&"FALSE"!==r&&(function(e){if(a.test(e)){var t=parseFloat(e);if(s<t&&t<n)return !0}return !1}(r)?parseFloat(r):u.test(r)?new Date(r):""===r?null:r):r;var i;}function O(e,t,r,i){var n={type:e,code:t,message:r};void 0!==i&&(n.row=i),v.errors.push(n);}this.parse=function(n,s,a){var u=e.quoteChar||'"';if(e.newline||(e.newline=function(e,t){e=e.substring(0,1048576);var r=new RegExp(p(t)+"([^]*?)"+p(t),"gm"),i=(e=e.replace(r,"")).split("\r"),n=e.split("\n"),s=1<n.length&&n[0].length<i[0].length;if(1===i.length||s)return "\n";for(var o=0,a=0;a<i.length;a++)"\n"===i[a][0]&&o++;return o>=i.length/2?"\r\n":"\r"}(n,u)),i=!1,e.delimiter)w(e.delimiter)&&(e.delimiter=e.delimiter(n),v.meta.delimiter=e.delimiter);else {var h=function(t,r,i,n,s){var a,u,h,f;s=s||[",","\t","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var l=0;l<s.length;l++){var c=s[l],d=0,p=0,g=0;h=void 0;for(var v=new y({comments:n,delimiter:c,newline:r,preview:10}).parse(t),m=0;m<v.data.length;m++)if(i&&b(v.data[m]))g++;else {var _=v.data[m].length;p+=_,void 0!==h?0<_&&(d+=Math.abs(_-h),h=_):h=_;}0<v.data.length&&(p/=v.data.length-g),(void 0===u||d<=u)&&(void 0===f||f<p)&&1.99<p&&(u=d,a=c,f=p);}return {successful:!!(e.delimiter=a),bestDelimiter:a}}(n,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess);h.successful?e.delimiter=h.bestDelimiter:(i=!0,e.delimiter=o.DefaultDelimiter),v.meta.delimiter=e.delimiter;}var f=_(e);return e.preview&&e.header&&f.preview++,t=n,r=new y(f),v=r.parse(t,s,a),k(),c?{meta:{paused:!0}}:v||{meta:{paused:!1}}},this.paused=function(){return c},this.pause=function(){c=!0,r.abort(),t=w(e.chunk)?"":t.substring(r.getCharIndex());},this.resume=function(){h.streamer._halted?(c=!1,h.streamer.parseChunk(t,!0)):setTimeout(h.resume,3);},this.aborted=function(){return d},this.abort=function(){d=!0,r.abort(),v.meta.aborted=!0,w(e.complete)&&e.complete(v),t="";};}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function y(e){var t,r=(e=e||{}).delimiter,i=e.newline,n=e.comments,s=e.step,a=e.preview,u=e.fastMode,h=t=void 0===e.quoteChar||null===e.quoteChar?'"':e.quoteChar;if(void 0!==e.escapeChar&&(h=e.escapeChar),("string"!=typeof r||-1<o.BAD_DELIMITERS.indexOf(r))&&(r=","),n===r)throw new Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<o.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==i&&"\r"!==i&&"\r\n"!==i&&(i="\n");var f=0,l=!1;this.parse=function(o,c,d){if("string"!=typeof o)throw new Error("Input must be a string");var y=o.length,g=r.length,v=i.length,m=n.length,_=w(s),b=[],k=[],R=[],C=f=0;if(!o)return J();if(e.header&&!c){var O=o.split(i)[0].split(r),K=[],E={},x=!1;for(var S in O){var T=O[S];w(e.transformHeader)&&(T=e.transformHeader(T,S));var A=T,I=E[T]||0;for(0<I&&(x=!0,A=T+"_"+I),E[T]=I+1;K.includes(A);)A=A+"_"+I;K.push(A);}if(x){var P=o.split(i);P[0]=K.join(r),o=P.join(i);}}if(u||!1!==u&&-1===o.indexOf(t)){for(var j=o.split(i),D=0;D<j.length;D++){if(R=j[D],f+=R.length,D!==j.length-1)f+=i.length;else if(d)return J();if(!n||R.substring(0,m)!==n){if(_){if(b=[],N(R.split(r)),Q(),l)return J()}else N(R.split(r));if(a&&a<=D)return b=b.slice(0,a),J(!0)}}return J()}for(var F=o.indexOf(r,f),L=o.indexOf(i,f),z=new RegExp(p(h)+p(t),"g"),M=o.indexOf(t,f);;)if(o[f]!==t)if(n&&0===R.length&&o.substring(f,f+m)===n){if(-1===L)return J();f=L+v,L=o.indexOf(i,f),F=o.indexOf(r,f);}else if(-1!==F&&(F<L||-1===L))R.push(o.substring(f,F)),f=F+g,F=o.indexOf(r,f);else {if(-1===L)break;if(R.push(o.substring(f,L)),H(L+v),_&&(Q(),l))return J();if(a&&b.length>=a)return J(!0)}else for(M=f,f++;;){if(-1===(M=o.indexOf(t,M+1)))return d||k.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:b.length,index:f}),W();if(M===y-1)return W(o.substring(f,M).replace(z,t));if(t!==h||o[M+1]!==h){if(t===h||0===M||o[M-1]!==h){-1!==F&&F<M+1&&(F=o.indexOf(r,M+1)),-1!==L&&L<M+1&&(L=o.indexOf(i,M+1));var U=B(-1===L?F:Math.min(F,L));if(o.substr(M+1+U,g)===r){R.push(o.substring(f,M).replace(z,t)),o[f=M+1+U+g]!==t&&(M=o.indexOf(t,f)),F=o.indexOf(r,f),L=o.indexOf(i,f);break}var q=B(L);if(o.substring(M+1+q,M+1+q+v)===i){if(R.push(o.substring(f,M).replace(z,t)),H(M+1+q+v),F=o.indexOf(r,f),M=o.indexOf(t,f),_&&(Q(),l))return J();if(a&&b.length>=a)return J(!0);break}k.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:b.length,index:f}),M++;}}else M++;}return W();function N(e){b.push(e),C=f;}function B(e){var t=0;if(-1!==e){var r=o.substring(M+1,e);r&&""===r.trim()&&(t=r.length);}return t}function W(e){return d||(void 0===e&&(e=o.substring(f)),R.push(e),f=y,N(R),_&&Q()),J()}function H(e){f=e,N(R),R=[],L=o.indexOf(i,f);}function J(e){return {data:b,errors:k,meta:{delimiter:r,linebreak:i,aborted:l,truncated:!!e,cursor:C+(c||0)}}}function Q(){s(J()),b=[],k=[];}},this.abort=function(){l=!0;},this.getCharIndex=function(){return f};}function g(e){var t=e.data,r=n[t.workerId],i=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var s={abort:function(){i=!0,v(t.workerId,{data:[],errors:[],meta:{aborted:!0}});},pause:m,resume:m};if(w(r.userStep)){for(var o=0;o<t.results.data.length&&(r.userStep({data:t.results.data[o],errors:t.results.errors,meta:t.results.meta},s),!i);o++);delete t.results;}else w(r.userChunk)&&(r.userChunk(t.results,s,t.file),delete t.results);}t.finished&&!i&&v(t.workerId,t.results);}function v(e,t){var r=n[e];w(r.userComplete)&&r.userComplete(t),r.terminate(),delete n[e];}function m(){throw new Error("Not implemented.")}function _(e){if("object"!=typeof e||null===e)return e;var t=Array.isArray(e)?[]:{};for(var r in e)t[r]=_(e[r]);return t}function b(e,t){return function(){e.apply(t,arguments);}}function w(e){return "function"==typeof e}return i&&(t.onmessage=function(e){var r=e.data;if(void 0===o.WORKER_ID&&r&&(o.WORKER_ID=r.workerId),"string"==typeof r.input)t.postMessage({workerId:o.WORKER_ID,results:o.parse(r.input,r.config),finished:!0});else if(t.File&&r.input instanceof File||r.input instanceof Object){var i=o.parse(r.input,r.config);i&&t.postMessage({workerId:o.WORKER_ID,results:i,finished:!0});}}),(h.prototype=Object.create(u.prototype)).constructor=h,(f.prototype=Object.create(u.prototype)).constructor=f,(l.prototype=Object.create(l.prototype)).constructor=l,(c.prototype=Object.create(u.prototype)).constructor=c,o}();}(h);var f=u(h.exports),l=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,c=/^0x[0-9A-F]+$/i,d=function(e){if("string"!=typeof e)return e;if(""===e)e=null;else if(l.test(e))e=parseFloat(e);else if(c.test(e))e=parseInt(e,16);else switch(e){case"false":e=!1;break;case"true":e=!0;break;case"null":e=null;break;case"undefined":e=void 0;}return e},p=Phaser.Utils.Objects.GetValue,y=function(){function t(r){e(this,t),this.resetFromJSON(r);}return i(t,[{key:"resetFromJSON",value:function(e){return this.table=p(e,"table",{}),this.rowKeys=p(e,"row",[]),this.colKeys=p(e,"col",[]),this.cursor=p(e,"cursor",{}),this}},{key:"toJSON",value:function(){return {table:this.table,row:this.rowKeys,col:this.colKeys,cursor:this.cursor}}},{key:"shutdown",value:function(){this.table=void 0,this.rowKeys=void 0,this.colKeys=void 0,this.cursor=void 0;}},{key:"destroy",value:function(){this.shutdown();}},{key:"loadCSV",value:function(e,t){var r=p(t,"delimiter",","),i=p(t,"convert",!0),n=p(t,"convertScope",void 0);i?!0===i&&(i=d,n=void 0):(i=void 0,n=void 0);for(var s=f.parse(e,{delimiter:r}).data,o=s[0],a=0,u=o.length;a<u;a++){var h=o[a];-1===this.colKeys.indexOf(h)&&this.colKeys.push(h);}var l=s.map((function(e){return e[0]}));l.shift();for(a=0,u=l.length;a<u;a++){var c=l[a];-1===this.rowKeys.indexOf(c)&&this.rowKeys.push(c);}for(var y,g,v=this.table,m=0,_=l.length;m<_;m++){c=l[m],v.hasOwnProperty(c)||(v[c]={}),y=v[c];for(var b=0,w=o.length;b<w;b++)g=s[m+1][b],h=o[b],i&&(g=n?i.call(n,g,c,h,this):i(g,c,h,this)),y[h]=g;}return this.setCursor("",""),this}},{key:"clear",value:function(){var e=this.table;for(var t in e)delete e[t];return this.rowKeys.length=0,this.colKeys.length=0,this}},{key:"get",value:function(e,t){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var r=void 0,i=this.table;if(i.hasOwnProperty(e)){var n=i[e];n.hasOwnProperty(t)&&(r=n[t]);}return this.setCursor(e,t),r}},{key:"set",value:function(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var i=this.table;if(i.hasOwnProperty(e)){var n=i[e];n.hasOwnProperty(t)&&(n[t]=r);}return this.setCursor(e,t),this}},{key:"add",value:function(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var i=this.table;if(i.hasOwnProperty(e)){var n=i[e];n.hasOwnProperty(t)&&(n[t]+=r);}return this.setCursor(e,t),this}},{key:"hasRowKey",value:function(e){return "number"==typeof e?this.rowKeys.length>e:-1!==this.rowKeys.indexOf(e)}},{key:"hasColKey",value:function(e){return "number"==typeof e?this.colKeys.length>e:-1!==this.colKeys.indexOf(e)}},{key:"hasKey",value:function(e,t){return this.hasRowKey(e)&&this.hasColKey(t)}},{key:"isValueInRol",value:function(e,t){if(!this.hasRowKey(e))return !1;"number"==typeof e&&(e=this.rowKeys[e]);for(var r=this.table[e],i=this.colKeys,n=0,s=i.length;n<s;n++)if(r[i[n]]===t)return !0;return !1}},{key:"isValueInCol",value:function(e,t){if(!this.hasColKey(e))return !1;"number"==typeof e&&(e=this.colKeys[e]);for(var r=this.table,i=0,n=this.rowKeys.length;i<n;i++)if(r[undefined][e]===t)return !0;return !1}},{key:"appendRow",value:function(e,t,r){if(this.hasRowKey(e))return this;"number"==typeof e&&(e=this.rowKeys[e]);var i="function"==typeof t,n=i?void 0:t;this.rowKeys.push(e);var s={};this.table[e]=s;for(var o,a,u=this.colKeys,h=0,f=u.length;h<f;h++)o=u[h],a=i?r?t.call(r,this,e,o):t(this,e,o):n,s[o]=a;return this}},{key:"appendCol",value:function(e,t,r){if(this.hasColKey(e))return this;"number"==typeof e&&(e=this.colKeys[e]);var i="function"==typeof t,n=i?void 0:t;this.colKeys.push(e);for(var s,o,a=this.table,u=this.rowKeys,h=0,f=u.length;h<f;h++)s=u[h],o=i?r?t.call(r,this,s,e):t(this,s,e):n,a[s][e]=o;return this}},{key:"removeRol",value:function(e){var t;return -1===(t="number"==typeof e?this.rowKeys.length>e?e:-1:this.rowKeys.indexOf(e))||(this.rowKeys.splice(t,1),delete this.table[e]),this}},{key:"removeCol",value:function(e){var t;if(-1===(t="number"==typeof e?this.colKeys.length>e?e:-1:this.colKeys.indexOf(e)))return this;this.colKeys.splice(t,1);for(var r=this.table,i=this.rowKeys,n=0,s=i.length;n<s;n++)delete r[i[n]][e];return this}},{key:"eachRow",value:function(e,t,r){"number"==typeof e&&(e=this.colKeys[e]);for(var i,n,s=this.rowKeys,o=this.hasColKey(e),a=0,u=s.length;a<u;a++)i=s[a],o&&(n=this.get(i,e)),r?t.call(r,this,i,e,n):t(this,i,e,n);return this}},{key:"eachCol",value:function(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]);for(var i,n,s=this.colKeys,o=this.hasRowKey(e),a=0,u=s.length;a<u;a++)i=s[a],o&&(n=this.get(e,i)),r?t.call(r,this,e,i,n):t(r,this,e,i,n);return this}},{key:"convertCol",value:function(e,t,r){if("number"==typeof e&&(e=this.colKeys[e]),void 0===t&&(t=d),Array.isArray(e)){for(var i=0,n=e.length;i<n;i++)this.convertCol(e[i],t,r);return this}if(!this.hasColKey(e))return this;for(var s,o,a,u=this.table,h=this.rowKeys,f=0,l=h.length;f<l;f++)a=(s=u[o=h[f]])[e],a=r?t.call(r,this,o,e,a):t(this,o,e,a),s[e]=a;return this}},{key:"convertRow",value:function(e,t,i){if("number"==typeof e&&(e=this.rowKeys[e]),void 0===t&&(t=d),Array.isArray(e)){for(var n=0,s=e.length;n<s;n++)this.convertRow(e[n],t,i);return this}for(var o,a,u=this.table[e],h=this.colKeys,f=0,l=h.length;f<l;f++)a=u[o=h[r]],a=i?t.call(i,this,e,o,a):t(this,e,o,a),u[o]=a;return this}},{key:"curColKey",get:function(){return this.cursor.colKey}},{key:"curRowKey",get:function(){return this.cursor.rowKey}},{key:"nextColKey",value:function(e,t){void 0===e&&(e=this.cursor.colKey),void 0===t&&(t=1);var r=this.colKeys,i=r.indexOf(e);if(-1!==i)return r[i+t]}},{key:"nextRowKey",value:function(e,t){void 0===e&&(e=this.cursor.rowKey);var r=this.rowKeys,i=r.indexOf(e);if(-1!==i)return r[i+1]}},{key:"previousColKey",value:function(e,t){return void 0===t&&(t=1),t=-t,this.nextColKey(e,t)}},{key:"previousRowKey",value:function(e,t){return void 0===t&&(t=1),t=-t,this.nextRowlKey(e,t)}},{key:"sortCol",value:function(e,t){if("function"==typeof e)t&&(e=e.bind(t));else {var r=e;if(!this.hasColKey(r))return this;var i=t;"string"==typeof i&&(i=g[i]);var n=this;e=function(e,t){var s,o=n.get(e,r),a=n.get(t,r);switch(i>=2&&(o=parseFloat(o),a=parseFloat(a)),i){case 0:case 2:s=o>a?1:o<a?-1:0;break;case 1:case 3:s=o<a?1:o>a?-1:0;}return s};}return this.rowKeys.sort(e),this}},{key:"sortRow",value:function(e,t){if("function"==typeof e)t&&(e=e.bind(t));else {var r=e;if(!this.hasRowKey(r))return this;var i=t;"string"==typeof i&&(i=g[i]);var n=this;e=function(e,t){var s,o=n.get(r,e),a=n.get(r,t);switch(i>=2&&(o=parseFloat(o),a=parseFloat(a)),i){case 0:case 2:s=o>a?1:o<a?-1:0;break;case 1:case 3:s=o<a?1:o>a?-1:0;}return s};}return this.colKeys.sort(e),this}},{key:"setCursor",value:function(e,t){var r=this.cursor;return r.rowKey=e,r.colKey=t,this}}]),t}(),g={ascending:0,descending:1,"logical ascending":2,"logical descending":3};return function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t);}(n,Phaser.Plugins.BasePlugin);var r=a(n);function n(t){return e(this,n),r.call(this,t)}return i(n,[{key:"start",value:function(){this.game.events.on("destroy",this.destroy,this);}},{key:"add",value:function(e){return new y(e)}}]),n}()}));