!function(){"use strict";function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,r){for(var e=0;et.length)&&(r=t.length);for(var e=0,n=new Array(r);e=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){e=t[Symbol.iterator]()},n:function(){var t=e.next();return i=t.done,t},e:function(t){u=!0,a=t},f:function(){try{i||null==e.return||e.return()}finally{if(u)throw a}}}}var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,r){return t(r={exports:{}},r.exports),r.exports}var e="%[a-f0-9]{2}",a=new RegExp(e,"gi"),u=new RegExp("("+e+")+","gi");function i(t,r){try{return decodeURIComponent(t.join(""))}catch(t){}if(1===t.length)return t;r=r||1;var e=t.slice(0,r),n=t.slice(r);return Array.prototype.concat.call([],i(e),i(n))}function l(r){try{return decodeURIComponent(r)}catch(t){for(var e=r.match(a),n=1;nn&&this.isNode(r))if(this.isCircular(r)){if(!this[A])throw new Error("Circular reference")}else if(this.onStepInto(this[F])){var o,a=this.getStatesOfChildNodes(r,e,n),i=this[S]?"push":"unshift";(o=this[C])[i].apply(o,f(a)),this[k].push(r)}var u=this[C].shift(),c=!u;return this[F]=u,c&&this.destroy(),{value:u,done:c}}},{key:"destroy",value:function(){this[C].length=0,this[k].length=0,this[F]=null}},{key:"isNode",value:function(t){return g(t)}},{key:"isLeaf",value:function(t){return!this.isNode(t)}},{key:"isCircular",value:function(t){return-1!==this[k].indexOf(t)}},{key:"getStatesOfChildNodes",value:function(r,e,n){var o=this;return _(r).map(function(t){return o.getState(r,r[t],t,e.concat(t),n+1)})}},{key:"getState",value:function(t,r,e,n,o){return{parent:t,node:r,key:e,path:3