New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pixi-cull

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pixi-cull - npm Package Compare versions

Comparing version 0.2.5 to 0.3.0

docs/sample.js

272

bundle/pixi-cull.js

@@ -63,2 +63,28 @@ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){

}
if (this.calculatePIXI && this.dirtyTest) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = array[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var object = _step.value;
this.updateObject(object);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return array;

@@ -93,2 +119,5 @@ }

}
if (this.calculatePIXI && (this.dirtyTest || staticObject)) {
this.updateObject(object);
}
this.lists[0].push(object);

@@ -127,16 +156,16 @@ return object;

}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator = this.lists[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var list = _step.value;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
for (var _iterator2 = this.lists[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var list = _step2.value;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator2 = list[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var object = _step2.value;
for (var _iterator3 = list[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var object = _step3.value;

@@ -147,12 +176,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError3) {
throw _iteratorError3;
}

@@ -163,12 +192,12 @@ }

} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
if (_didIteratorError2) {
throw _iteratorError2;
}

@@ -188,18 +217,18 @@ }

if (this.dirtyTest) {
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator3 = this.lists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var list = _step3.value;
for (var _iterator4 = this.lists[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var list = _step4.value;
if (!list.staticObject) {
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = list[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var object = _step4.value;
for (var _iterator5 = list[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var object = _step5.value;

@@ -212,12 +241,12 @@ if (!object.staticObject && object[this.dirty]) {

} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}

@@ -229,12 +258,12 @@ }

} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError4) {
throw _iteratorError4;
}

@@ -244,18 +273,18 @@ }

} else {
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator5 = this.lists[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _list = _step5.value;
for (var _iterator6 = this.lists[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _list = _step6.value;
if (!_list.staticObject) {
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator6 = _list[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _object = _step6.value;
for (var _iterator7 = _list[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _object = _step7.value;

@@ -267,12 +296,12 @@ if (!_object.staticObject) {

} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
if (_didIteratorError7) {
throw _iteratorError7;
}

@@ -284,12 +313,12 @@ }

} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError6) {
throw _iteratorError6;
}

@@ -311,2 +340,3 @@ }

var box = object.getLocalBounds();
object[this.AABB] = object[this.AABB] || {};
object[this.AABB].x = object.x + box.x * object.scale.x;

@@ -332,16 +362,16 @@ object[this.AABB].y = object.y + box.y * object.scale.y;

var results = [];
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator7 = this.lists[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var list = _step7.value;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
for (var _iterator8 = this.lists[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var list = _step8.value;
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator8 = list[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var object = _step8.value;
for (var _iterator9 = list[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var object = _step9.value;

@@ -354,12 +384,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8.return) {
_iterator8.return();
if (!_iteratorNormalCompletion9 && _iterator9.return) {
_iterator9.return();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
if (_didIteratorError9) {
throw _iteratorError9;
}

@@ -370,12 +400,12 @@ }

} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
if (!_iteratorNormalCompletion8 && _iterator8.return) {
_iterator8.return();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
if (_didIteratorError8) {
throw _iteratorError8;
}

@@ -403,16 +433,16 @@ }

value: function queryCallback(bounds, callback) {
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator9 = this.lists[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var list = _step9.value;
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
for (var _iterator10 = this.lists[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var list = _step10.value;
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
try {
for (var _iterator10 = list[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var object = _step10.value;
for (var _iterator11 = list[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var object = _step11.value;

@@ -427,12 +457,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError10 = true;
_iteratorError10 = err;
_didIteratorError11 = true;
_iteratorError11 = err;
} finally {
try {
if (!_iteratorNormalCompletion10 && _iterator10.return) {
_iterator10.return();
if (!_iteratorNormalCompletion11 && _iterator11.return) {
_iterator11.return();
}
} finally {
if (_didIteratorError10) {
throw _iteratorError10;
if (_didIteratorError11) {
throw _iteratorError11;
}

@@ -443,12 +473,12 @@ }

} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
_didIteratorError10 = true;
_iteratorError10 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9.return) {
_iterator9.return();
if (!_iteratorNormalCompletion10 && _iterator10.return) {
_iterator10.return();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
if (_didIteratorError10) {
throw _iteratorError10;
}

@@ -471,9 +501,9 @@ }

count = 0;
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false;
var _iteratorError12 = undefined;
try {
for (var _iterator11 = this.lists[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var list = _step11.value;
for (var _iterator12 = this.lists[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var list = _step12.value;

@@ -486,12 +516,12 @@ list.forEach(function (object) {

} catch (err) {
_didIteratorError11 = true;
_iteratorError11 = err;
_didIteratorError12 = true;
_iteratorError12 = err;
} finally {
try {
if (!_iteratorNormalCompletion11 && _iterator11.return) {
_iterator11.return();
if (!_iteratorNormalCompletion12 && _iterator12.return) {
_iterator12.return();
}
} finally {
if (_didIteratorError11) {
throw _iteratorError11;
if (_didIteratorError12) {
throw _iteratorError12;
}

@@ -498,0 +528,0 @@ }

@@ -1,1 +0,1 @@

!function(){return function t(i,e,r){function a(n,h){if(!e[n]){if(!i[n]){var l="function"==typeof require&&require;if(!h&&l)return l(n,!0);if(s)return s(n,!0);var o=new Error("Cannot find module '"+n+"'");throw o.code="MODULE_NOT_FOUND",o}var u=e[n]={exports:{}};i[n][0].call(u.exports,function(t){return a(i[n][1][t]||t)},u,u.exports,t,i,e,r)}return e[n].exports}for(var s="function"==typeof require&&require,n=0;n<r.length;n++)a(r[n]);return a}}()({1:[function(t,i,e){"use strict";i.exports={Simple:t("./simple"),SpatialHash:t("./spatial-hash")},PIXI&&(PIXI.extras.Cull={Simple:t("./simple"),SpatialHash:t("./spatial-hash")})},{"./simple":2,"./spatial-hash":3}],2:[function(t,i,e){"use strict";var r=function(){function t(t,i){for(var e=0;e<i.length;e++){var r=i[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,e,r){return e&&t(i.prototype,e),r&&t(i,r),i}}();var a=function(){function t(i){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.visible=i.visible||"visible",this.calculatePIXI=void 0===i.calculatePIXI||i.calculatePIXI,this.dirtyTest=void 0===i.dirtyTest||i.dirtyTest,this.AABB=i.AABB||"AABB",this.lists=[[]]}return r(t,[{key:"addList",value:function(t,i){return this.lists.push(t),i&&(t.staticObject=!0),t}},{key:"removeList",value:function(t){return this.lists.splice(this.lists.indexOf(t),1),t}},{key:"add",value:function(t,i){return i&&(t.staticObject=!0),this.lists[0].push(t),t}},{key:"remove",value:function(t){return this.lists[0].splice(this.lists[0].indexOf(t),1),t}},{key:"cull",value:function(t,i){this.calculatePIXI&&!i&&this.updateObjects();var e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];v[this.visible]=f.x+f.width>t.x&&f.x<t.x+t.width&&f.y+f.height>t.y&&f.y<t.y+t.height}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}}},{key:"updateObjects",value:function(){if(this.dirtyTest){var t=!0,i=!1,e=void 0;try{for(var r,a=this.lists[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){var s=r.value;if(!s.staticObject){var n=!0,h=!1,l=void 0;try{for(var o,u=s[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var y=o.value;!y.staticObject&&y[this.dirty]&&(this.updateObject(y),y[this.dirty]=!1)}}catch(t){h=!0,l=t}finally{try{!n&&u.return&&u.return()}finally{if(h)throw l}}}}}catch(t){i=!0,e=t}finally{try{!t&&a.return&&a.return()}finally{if(i)throw e}}}else{var c=!0,v=!1,f=void 0;try{for(var d,x=this.lists[Symbol.iterator]();!(c=(d=x.next()).done);c=!0){var b=d.value;if(!b.staticObject){var p=!0,S=!1,g=void 0;try{for(var m,w=b[Symbol.iterator]();!(p=(m=w.next()).done);p=!0){var B=m.value;B.staticObject||this.updateObject(B)}}catch(t){S=!0,g=t}finally{try{!p&&w.return&&w.return()}finally{if(S)throw g}}}}}catch(t){v=!0,f=t}finally{try{!c&&x.return&&x.return()}finally{if(v)throw f}}}}},{key:"updateObject",value:function(t){var i=t.getLocalBounds();t[this.AABB].x=t.x+i.x*t.scale.x,t[this.AABB].y=t.y+i.y*t.scale.y,t[this.AABB].width=i.width*t.scale.x,t[this.AABB].height=i.height*t.scale.y}},{key:"query",value:function(t){var i=[],e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];f.x+f.width>t.x&&f.x-f.width<t.x+t.width&&f.y+f.height>t.y&&f.y-f.height<t.y+t.height&&i.push(v)}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return i}},{key:"queryCallback",value:function(t,i){var e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];if(f.x+f.width>t.x&&f.x-f.width<t.x+t.width&&f.y+f.height>t.y&&f.y-f.height<t.y+t.height&&i(v))return!0}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return!1}},{key:"stats",value:function(){var t=0,i=0,e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){s.value.forEach(function(e){t+=e.visible?1:0,i++})}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return{total:i,visible:t,culled:i-t}}}]),t}();i.exports=a},{}],3:[function(t,i,e){"use strict";var r=function(){function t(t,i){for(var e=0;e<i.length;e++){var r=i[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,e,r){return e&&t(i.prototype,e),r&&t(i,r),i}}();var a=function(){function t(i){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.xSize=i.xSize||i.size||1e3,this.ySize=i.ySize||i.size||1e3,this.AABB=i.type||"AABB",this.spatial=i.spatial||"spatial",this.calculatePIXI=void 0===i.calculatePIXI||i.calculatePIXI,this.visibleText=void 0===i.visibleTest||i.visibleTest,this.simpleTest=void 0===i.simpleTest||i.simpleTest,this.dirtyTest=void 0===i.dirtyTest||i.dirtyTest,this.visible=i.visible||"visible",this.dirty=i.dirty||"dirty",this.width=this.height=0,this.hash={},this.lists=[[]]}return r(t,[{key:"add",value:function(t,i){t[this.spatial]={hashes:[]},this.calculatePIXI&&this.dirtyTest&&(t[this.dirty]=!0),i&&(t.staticObject=!0),this.updateObject(t),this.lists[0].push(t)}},{key:"remove",value:function(t){return this.lists[0].splice(this.list[0].indexOf(t),1),this.removeFromHash(t),t}},{key:"addList",value:function(t,i){var e=!0,r=!1,a=void 0;try{for(var s,n=t[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value;h[this.spatial]={hashes:[]},this.calculatePIXI&&this.dirtyTest&&(h[this.dirty]=!0),i&&(t.staticObject=!0),this.updateObject(h)}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}this.lists.push(t)}},{key:"removeList",value:function(t){var i=this;return this.lists.splice(this.lists.indexOf(t),1),t.forEach(function(t){return i.removeFromHash(t)}),t}},{key:"cull",value:function(t,i){var e=this;return i||this.updateObjects(),this.invisible(),this.query(t,this.simpleTest).forEach(function(t){return t[e.visible]=!0}),this.lastBuckets}},{key:"invisible",value:function(){var t=this,i=!0,e=!1,r=void 0;try{for(var a,s=this.lists[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){a.value.forEach(function(i){return i[t.visible]=!1})}}catch(t){e=!0,r=t}finally{try{!i&&s.return&&s.return()}finally{if(e)throw r}}}},{key:"updateObjects",value:function(){var t=this;if(this.dirtyTest){var i=!0,e=!1,r=void 0;try{for(var a,s=this.lists[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){var n=a.value,h=!0,l=!1,o=void 0;try{for(var u,y=n[Symbol.iterator]();!(h=(u=y.next()).done);h=!0){var c=u.value;c[this.dirty]&&(this.updateObject(c),c[this.dirty]=!1)}}catch(t){l=!0,o=t}finally{try{!h&&y.return&&y.return()}finally{if(l)throw o}}}}catch(t){e=!0,r=t}finally{try{!i&&s.return&&s.return()}finally{if(e)throw r}}}else{var v=!0,f=!1,d=void 0;try{for(var x,b=this.lists[Symbol.iterator]();!(v=(x=b.next()).done);v=!0){x.value.forEach(function(i){return t.updateObject(i)})}}catch(t){f=!0,d=t}finally{try{!v&&b.return&&b.return()}finally{if(f)throw d}}}}},{key:"updateObject",value:function(t){var i=void 0;if(this.calculatePIXI){var e=t.getLocalBounds();i=t[this.AABB]={x:t.x+e.x*t.scale.x,y:t.y+e.y*t.scale.y,width:e.width*t.scale.x,height:e.height*t.scale.y}}else i=t[this.AABB];var r=t[this.spatial],a=this.getBounds(i),s=a.xStart,n=a.yStart,h=a.xEnd,l=a.yEnd;if(r.xStart!==s||r.yStart!==n||r.xEnd!==h||r.yEnd!==l){r.hashes.length&&this.removeFromHash(t);for(var o=n;o<=l;o++)for(var u=s;u<=h;u++){var y=u+","+o;this.insert(t,y),r.hashes.push(y)}r.xStart=s,r.yStart=n,r.xEnd=h,r.yEnd=l}}},{key:"getBounds",value:function(t){var i=Math.floor(t.x/this.xSize);i=i<0?0:i;var e=Math.floor(t.y/this.ySize);return{xStart:i,yStart:e=e<0?0:e,xEnd:Math.floor((t.x+t.width)/this.xSize),yEnd:Math.floor((t.y+t.height)/this.ySize)}}},{key:"insert",value:function(t,i){this.hash[i]?this.hash[i].push(t):this.hash[i]=[t]}},{key:"removeFromHash",value:function(t){for(var i=t[this.spatial];i.hashes.length;){var e=i.hashes.pop(),r=this.hash[e];r.splice(r.indexOf(t),1)}}},{key:"neighbors",value:function(t){var i=this,e=[];return t[this.spatial].hashes.forEach(function(t){return e=e.concat(i.hash[t])}),e}},{key:"query",value:function(t,i){i=void 0===i||i;for(var e=0,r=[],a=this.getBounds(t),s=a.xStart,n=a.yStart,h=a.xEnd,l=a.yEnd,o=n;o<=l;o++)for(var u=s;u<=h;u++){var y=this.hash[u+","+o];if(y){if(i){var c=!0,v=!1,f=void 0;try{for(var d,x=y[Symbol.iterator]();!(c=(d=x.next()).done);c=!0){var b=d.value,p=b[this.AABB];p.x+p.width>t.x&&p.x<t.x+t.width&&p.y+p.height>t.y&&p.y<t.y+t.height&&r.push(b)}}catch(t){v=!0,f=t}finally{try{!c&&x.return&&x.return()}finally{if(v)throw f}}}else r=r.concat(y);e++}}return this.lastBuckets=e,r}},{key:"queryCallback",value:function(t,i,e){e=void 0===e||e;for(var r=this.getBounds(t),a=r.xStart,s=r.yStart,n=r.xEnd,h=r.yEnd,l=s;l<=h;l++)for(var o=a;o<=n;o++){var u=this.hash[o+","+l];if(u)for(var y=0;y<u.length;y++){var c=u[y];if(e){var v=c.AABB;if(v.x+v.width>v.x&&v.x<v.x+v.width&&v.y+v.height>v.y&&v.y<v.y+v.height&&i(c))return!0}else if(i(c))return!0}}return!1}},{key:"stats",value:function(){var t=0,i=0,e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){s.value.forEach(function(e){t+=e.visible?1:0,i++})}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return{total:i,visible:t,culled:i-t}}},{key:"getBuckets",value:function(){return Object.keys(this.hash).length}},{key:"getAverageSize",value:function(){var t=0;for(var i in this.hash)t+=this.hash[i].length;return t/this.getBuckets()}},{key:"getLargest",value:function(){var t=0;for(var i in this.hash)this.hash[i].length>t&&(t=this.hash[i].length);return t}},{key:"getSparseness",value:function(t){for(var i=0,e=0,r=this.getBounds(t),a=r.xStart,s=r.yStart,n=r.xEnd,h=r.yEnd,l=s;l<h;l++)for(var o=a;o<n;o++)i+=this.hash[o+","+l]?1:0,e++;return i/e}}]),t}();i.exports=a},{}]},{},[1]);
!function(){return function t(i,e,r){function a(n,h){if(!e[n]){if(!i[n]){var l="function"==typeof require&&require;if(!h&&l)return l(n,!0);if(s)return s(n,!0);var o=new Error("Cannot find module '"+n+"'");throw o.code="MODULE_NOT_FOUND",o}var u=e[n]={exports:{}};i[n][0].call(u.exports,function(t){return a(i[n][1][t]||t)},u,u.exports,t,i,e,r)}return e[n].exports}for(var s="function"==typeof require&&require,n=0;n<r.length;n++)a(r[n]);return a}}()({1:[function(t,i,e){"use strict";i.exports={Simple:t("./simple"),SpatialHash:t("./spatial-hash")},PIXI&&(PIXI.extras.Cull={Simple:t("./simple"),SpatialHash:t("./spatial-hash")})},{"./simple":2,"./spatial-hash":3}],2:[function(t,i,e){"use strict";var r=function(){function t(t,i){for(var e=0;e<i.length;e++){var r=i[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,e,r){return e&&t(i.prototype,e),r&&t(i,r),i}}();var a=function(){function t(i){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.visible=i.visible||"visible",this.calculatePIXI=void 0===i.calculatePIXI||i.calculatePIXI,this.dirtyTest=void 0===i.dirtyTest||i.dirtyTest,this.AABB=i.AABB||"AABB",this.lists=[[]]}return r(t,[{key:"addList",value:function(t,i){if(this.lists.push(t),i&&(t.staticObject=!0),this.calculatePIXI&&this.dirtyTest){var e=!0,r=!1,a=void 0;try{for(var s,n=t[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value;this.updateObject(h)}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}}return t}},{key:"removeList",value:function(t){return this.lists.splice(this.lists.indexOf(t),1),t}},{key:"add",value:function(t,i){return i&&(t.staticObject=!0),this.calculatePIXI&&(this.dirtyTest||i)&&this.updateObject(t),this.lists[0].push(t),t}},{key:"remove",value:function(t){return this.lists[0].splice(this.lists[0].indexOf(t),1),t}},{key:"cull",value:function(t,i){this.calculatePIXI&&!i&&this.updateObjects();var e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];v[this.visible]=f.x+f.width>t.x&&f.x<t.x+t.width&&f.y+f.height>t.y&&f.y<t.y+t.height}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}}},{key:"updateObjects",value:function(){if(this.dirtyTest){var t=!0,i=!1,e=void 0;try{for(var r,a=this.lists[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){var s=r.value;if(!s.staticObject){var n=!0,h=!1,l=void 0;try{for(var o,u=s[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var y=o.value;!y.staticObject&&y[this.dirty]&&(this.updateObject(y),y[this.dirty]=!1)}}catch(t){h=!0,l=t}finally{try{!n&&u.return&&u.return()}finally{if(h)throw l}}}}}catch(t){i=!0,e=t}finally{try{!t&&a.return&&a.return()}finally{if(i)throw e}}}else{var c=!0,v=!1,f=void 0;try{for(var d,x=this.lists[Symbol.iterator]();!(c=(d=x.next()).done);c=!0){var b=d.value;if(!b.staticObject){var p=!0,B=!1,S=void 0;try{for(var g,m=b[Symbol.iterator]();!(p=(g=m.next()).done);p=!0){var w=g.value;w.staticObject||this.updateObject(w)}}catch(t){B=!0,S=t}finally{try{!p&&m.return&&m.return()}finally{if(B)throw S}}}}}catch(t){v=!0,f=t}finally{try{!c&&x.return&&x.return()}finally{if(v)throw f}}}}},{key:"updateObject",value:function(t){var i=t.getLocalBounds();t[this.AABB]=t[this.AABB]||{},t[this.AABB].x=t.x+i.x*t.scale.x,t[this.AABB].y=t.y+i.y*t.scale.y,t[this.AABB].width=i.width*t.scale.x,t[this.AABB].height=i.height*t.scale.y}},{key:"query",value:function(t){var i=[],e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];f.x+f.width>t.x&&f.x-f.width<t.x+t.width&&f.y+f.height>t.y&&f.y-f.height<t.y+t.height&&i.push(v)}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return i}},{key:"queryCallback",value:function(t,i){var e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value,l=!0,o=!1,u=void 0;try{for(var y,c=h[Symbol.iterator]();!(l=(y=c.next()).done);l=!0){var v=y.value,f=v[this.AABB];if(f.x+f.width>t.x&&f.x-f.width<t.x+t.width&&f.y+f.height>t.y&&f.y-f.height<t.y+t.height&&i(v))return!0}}catch(t){o=!0,u=t}finally{try{!l&&c.return&&c.return()}finally{if(o)throw u}}}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return!1}},{key:"stats",value:function(){var t=0,i=0,e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){s.value.forEach(function(e){t+=e.visible?1:0,i++})}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return{total:i,visible:t,culled:i-t}}}]),t}();i.exports=a},{}],3:[function(t,i,e){"use strict";var r=function(){function t(t,i){for(var e=0;e<i.length;e++){var r=i[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,e,r){return e&&t(i.prototype,e),r&&t(i,r),i}}();var a=function(){function t(i){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),i=i||{},this.xSize=i.xSize||i.size||1e3,this.ySize=i.ySize||i.size||1e3,this.AABB=i.type||"AABB",this.spatial=i.spatial||"spatial",this.calculatePIXI=void 0===i.calculatePIXI||i.calculatePIXI,this.visibleText=void 0===i.visibleTest||i.visibleTest,this.simpleTest=void 0===i.simpleTest||i.simpleTest,this.dirtyTest=void 0===i.dirtyTest||i.dirtyTest,this.visible=i.visible||"visible",this.dirty=i.dirty||"dirty",this.width=this.height=0,this.hash={},this.lists=[[]]}return r(t,[{key:"add",value:function(t,i){t[this.spatial]={hashes:[]},this.calculatePIXI&&this.dirtyTest&&(t[this.dirty]=!0),i&&(t.staticObject=!0),this.updateObject(t),this.lists[0].push(t)}},{key:"remove",value:function(t){return this.lists[0].splice(this.list[0].indexOf(t),1),this.removeFromHash(t),t}},{key:"addList",value:function(t,i){var e=!0,r=!1,a=void 0;try{for(var s,n=t[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){var h=s.value;h[this.spatial]={hashes:[]},this.calculatePIXI&&this.dirtyTest&&(h[this.dirty]=!0),i&&(t.staticObject=!0),this.updateObject(h)}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}this.lists.push(t)}},{key:"removeList",value:function(t){var i=this;return this.lists.splice(this.lists.indexOf(t),1),t.forEach(function(t){return i.removeFromHash(t)}),t}},{key:"cull",value:function(t,i){var e=this;return i||this.updateObjects(),this.invisible(),this.query(t,this.simpleTest).forEach(function(t){return t[e.visible]=!0}),this.lastBuckets}},{key:"invisible",value:function(){var t=this,i=!0,e=!1,r=void 0;try{for(var a,s=this.lists[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){a.value.forEach(function(i){return i[t.visible]=!1})}}catch(t){e=!0,r=t}finally{try{!i&&s.return&&s.return()}finally{if(e)throw r}}}},{key:"updateObjects",value:function(){var t=this;if(this.dirtyTest){var i=!0,e=!1,r=void 0;try{for(var a,s=this.lists[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){var n=a.value,h=!0,l=!1,o=void 0;try{for(var u,y=n[Symbol.iterator]();!(h=(u=y.next()).done);h=!0){var c=u.value;c[this.dirty]&&(this.updateObject(c),c[this.dirty]=!1)}}catch(t){l=!0,o=t}finally{try{!h&&y.return&&y.return()}finally{if(l)throw o}}}}catch(t){e=!0,r=t}finally{try{!i&&s.return&&s.return()}finally{if(e)throw r}}}else{var v=!0,f=!1,d=void 0;try{for(var x,b=this.lists[Symbol.iterator]();!(v=(x=b.next()).done);v=!0){x.value.forEach(function(i){return t.updateObject(i)})}}catch(t){f=!0,d=t}finally{try{!v&&b.return&&b.return()}finally{if(f)throw d}}}}},{key:"updateObject",value:function(t){var i=void 0;if(this.calculatePIXI){var e=t.getLocalBounds();i=t[this.AABB]={x:t.x+e.x*t.scale.x,y:t.y+e.y*t.scale.y,width:e.width*t.scale.x,height:e.height*t.scale.y}}else i=t[this.AABB];var r=t[this.spatial],a=this.getBounds(i),s=a.xStart,n=a.yStart,h=a.xEnd,l=a.yEnd;if(r.xStart!==s||r.yStart!==n||r.xEnd!==h||r.yEnd!==l){r.hashes.length&&this.removeFromHash(t);for(var o=n;o<=l;o++)for(var u=s;u<=h;u++){var y=u+","+o;this.insert(t,y),r.hashes.push(y)}r.xStart=s,r.yStart=n,r.xEnd=h,r.yEnd=l}}},{key:"getBounds",value:function(t){var i=Math.floor(t.x/this.xSize);i=i<0?0:i;var e=Math.floor(t.y/this.ySize);return{xStart:i,yStart:e=e<0?0:e,xEnd:Math.floor((t.x+t.width)/this.xSize),yEnd:Math.floor((t.y+t.height)/this.ySize)}}},{key:"insert",value:function(t,i){this.hash[i]?this.hash[i].push(t):this.hash[i]=[t]}},{key:"removeFromHash",value:function(t){for(var i=t[this.spatial];i.hashes.length;){var e=i.hashes.pop(),r=this.hash[e];r.splice(r.indexOf(t),1)}}},{key:"neighbors",value:function(t){var i=this,e=[];return t[this.spatial].hashes.forEach(function(t){return e=e.concat(i.hash[t])}),e}},{key:"query",value:function(t,i){i=void 0===i||i;for(var e=0,r=[],a=this.getBounds(t),s=a.xStart,n=a.yStart,h=a.xEnd,l=a.yEnd,o=n;o<=l;o++)for(var u=s;u<=h;u++){var y=this.hash[u+","+o];if(y){if(i){var c=!0,v=!1,f=void 0;try{for(var d,x=y[Symbol.iterator]();!(c=(d=x.next()).done);c=!0){var b=d.value,p=b[this.AABB];p.x+p.width>t.x&&p.x<t.x+t.width&&p.y+p.height>t.y&&p.y<t.y+t.height&&r.push(b)}}catch(t){v=!0,f=t}finally{try{!c&&x.return&&x.return()}finally{if(v)throw f}}}else r=r.concat(y);e++}}return this.lastBuckets=e,r}},{key:"queryCallback",value:function(t,i,e){e=void 0===e||e;for(var r=this.getBounds(t),a=r.xStart,s=r.yStart,n=r.xEnd,h=r.yEnd,l=s;l<=h;l++)for(var o=a;o<=n;o++){var u=this.hash[o+","+l];if(u)for(var y=0;y<u.length;y++){var c=u[y];if(e){var v=c.AABB;if(v.x+v.width>v.x&&v.x<v.x+v.width&&v.y+v.height>v.y&&v.y<v.y+v.height&&i(c))return!0}else if(i(c))return!0}}return!1}},{key:"stats",value:function(){var t=0,i=0,e=!0,r=!1,a=void 0;try{for(var s,n=this.lists[Symbol.iterator]();!(e=(s=n.next()).done);e=!0){s.value.forEach(function(e){t+=e.visible?1:0,i++})}}catch(t){r=!0,a=t}finally{try{!e&&n.return&&n.return()}finally{if(r)throw a}}return{total:i,visible:t,culled:i-t}}},{key:"getBuckets",value:function(){return Object.keys(this.hash).length}},{key:"getAverageSize",value:function(){var t=0;for(var i in this.hash)t+=this.hash[i].length;return t/this.getBuckets()}},{key:"getLargest",value:function(){var t=0;for(var i in this.hash)this.hash[i].length>t&&(t=this.hash[i].length);return t}},{key:"getSparseness",value:function(t){for(var i=0,e=0,r=this.getBounds(t),a=r.xStart,s=r.yStart,n=r.xEnd,h=r.yEnd,l=s;l<h;l++)for(var o=a;o<n;o++)i+=this.hash[o+","+l]?1:0,e++;return i/e}}]),t}();i.exports=a},{}]},{},[1]);

@@ -39,2 +39,9 @@ // pixi-cull.SpatialHash

}
if (this.calculatePIXI && this.dirtyTest)
{
for (let object of array)
{
this.updateObject(object)
}
}
return array

@@ -66,2 +73,6 @@ }

}
if (this.calculatePIXI && (this.dirtyTest || staticObject))
{
this.updateObject(object)
}
this.lists[0].push(object)

@@ -158,2 +169,3 @@ return object

const box = object.getLocalBounds()
object[this.AABB] = object[this.AABB] || {}
object[this.AABB].x = object.x + box.x * object.scale.x

@@ -160,0 +172,0 @@ object[this.AABB].y = object.y + box.y * object.scale.y

@@ -47,2 +47,28 @@ 'use strict';

}
if (this.calculatePIXI && this.dirtyTest) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = array[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var object = _step.value;
this.updateObject(object);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return array;

@@ -77,2 +103,5 @@ }

}
if (this.calculatePIXI && (this.dirtyTest || staticObject)) {
this.updateObject(object);
}
this.lists[0].push(object);

@@ -111,16 +140,16 @@ return object;

}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator = this.lists[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var list = _step.value;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
for (var _iterator2 = this.lists[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var list = _step2.value;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator2 = list[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var object = _step2.value;
for (var _iterator3 = list[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var object = _step3.value;

@@ -131,12 +160,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError3) {
throw _iteratorError3;
}

@@ -147,12 +176,12 @@ }

} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
if (_didIteratorError2) {
throw _iteratorError2;
}

@@ -172,18 +201,18 @@ }

if (this.dirtyTest) {
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator3 = this.lists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var list = _step3.value;
for (var _iterator4 = this.lists[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var list = _step4.value;
if (!list.staticObject) {
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = list[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var object = _step4.value;
for (var _iterator5 = list[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var object = _step5.value;

@@ -196,12 +225,12 @@ if (!object.staticObject && object[this.dirty]) {

} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}

@@ -213,12 +242,12 @@ }

} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError4) {
throw _iteratorError4;
}

@@ -228,18 +257,18 @@ }

} else {
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator5 = this.lists[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _list = _step5.value;
for (var _iterator6 = this.lists[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _list = _step6.value;
if (!_list.staticObject) {
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator6 = _list[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _object = _step6.value;
for (var _iterator7 = _list[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _object = _step7.value;

@@ -251,12 +280,12 @@ if (!_object.staticObject) {

} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
if (_didIteratorError7) {
throw _iteratorError7;
}

@@ -268,12 +297,12 @@ }

} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError6) {
throw _iteratorError6;
}

@@ -295,2 +324,3 @@ }

var box = object.getLocalBounds();
object[this.AABB] = object[this.AABB] || {};
object[this.AABB].x = object.x + box.x * object.scale.x;

@@ -316,16 +346,16 @@ object[this.AABB].y = object.y + box.y * object.scale.y;

var results = [];
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator7 = this.lists[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var list = _step7.value;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
for (var _iterator8 = this.lists[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var list = _step8.value;
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator8 = list[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var object = _step8.value;
for (var _iterator9 = list[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var object = _step9.value;

@@ -338,12 +368,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8.return) {
_iterator8.return();
if (!_iteratorNormalCompletion9 && _iterator9.return) {
_iterator9.return();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
if (_didIteratorError9) {
throw _iteratorError9;
}

@@ -354,12 +384,12 @@ }

} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
if (!_iteratorNormalCompletion8 && _iterator8.return) {
_iterator8.return();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
if (_didIteratorError8) {
throw _iteratorError8;
}

@@ -387,16 +417,16 @@ }

value: function queryCallback(bounds, callback) {
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator9 = this.lists[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var list = _step9.value;
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
for (var _iterator10 = this.lists[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var list = _step10.value;
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
try {
for (var _iterator10 = list[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var object = _step10.value;
for (var _iterator11 = list[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var object = _step11.value;

@@ -411,12 +441,12 @@ var box = object[this.AABB];

} catch (err) {
_didIteratorError10 = true;
_iteratorError10 = err;
_didIteratorError11 = true;
_iteratorError11 = err;
} finally {
try {
if (!_iteratorNormalCompletion10 && _iterator10.return) {
_iterator10.return();
if (!_iteratorNormalCompletion11 && _iterator11.return) {
_iterator11.return();
}
} finally {
if (_didIteratorError10) {
throw _iteratorError10;
if (_didIteratorError11) {
throw _iteratorError11;
}

@@ -427,12 +457,12 @@ }

} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
_didIteratorError10 = true;
_iteratorError10 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9.return) {
_iterator9.return();
if (!_iteratorNormalCompletion10 && _iterator10.return) {
_iterator10.return();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
if (_didIteratorError10) {
throw _iteratorError10;
}

@@ -455,9 +485,9 @@ }

count = 0;
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false;
var _iteratorError12 = undefined;
try {
for (var _iterator11 = this.lists[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var list = _step11.value;
for (var _iterator12 = this.lists[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var list = _step12.value;

@@ -470,12 +500,12 @@ list.forEach(function (object) {

} catch (err) {
_didIteratorError11 = true;
_iteratorError11 = err;
_didIteratorError12 = true;
_iteratorError12 = err;
} finally {
try {
if (!_iteratorNormalCompletion11 && _iterator11.return) {
_iterator11.return();
if (!_iteratorNormalCompletion12 && _iterator12.return) {
_iterator12.return();
}
} finally {
if (_didIteratorError11) {
throw _iteratorError11;
if (_didIteratorError12) {
throw _iteratorError12;
}

@@ -500,2 +530,2 @@ }

module.exports = Simple;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NvZGUvc2ltcGxlLmpzIl0sIm5hbWVzIjpbIlNpbXBsZSIsIm9wdGlvbnMiLCJ2aXNpYmxlIiwiY2FsY3VsYXRlUElYSSIsImRpcnR5VGVzdCIsIkFBQkIiLCJsaXN0cyIsImFycmF5Iiwic3RhdGljT2JqZWN0IiwicHVzaCIsInNwbGljZSIsImluZGV4T2YiLCJvYmplY3QiLCJib3VuZHMiLCJza2lwVXBkYXRlIiwidXBkYXRlT2JqZWN0cyIsImxpc3QiLCJib3giLCJ4Iiwid2lkdGgiLCJ5IiwiaGVpZ2h0IiwiZGlydHkiLCJ1cGRhdGVPYmplY3QiLCJnZXRMb2NhbEJvdW5kcyIsInNjYWxlIiwicmVzdWx0cyIsImNhbGxiYWNrIiwiY291bnQiLCJmb3JFYWNoIiwidG90YWwiLCJjdWxsZWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7SUFFTUEsTTtBQUVGOzs7Ozs7OztBQVFBLG9CQUFZQyxPQUFaLEVBQ0E7QUFBQTs7QUFDSUEsa0JBQVVBLFdBQVcsRUFBckI7QUFDQSxhQUFLQyxPQUFMLEdBQWVELFFBQVFDLE9BQVIsSUFBbUIsU0FBbEM7QUFDQSxhQUFLQyxhQUFMLEdBQXFCLE9BQU9GLFFBQVFFLGFBQWYsS0FBaUMsV0FBakMsR0FBK0NGLFFBQVFFLGFBQXZELEdBQXVFLElBQTVGO0FBQ0EsYUFBS0MsU0FBTCxHQUFpQixPQUFPSCxRQUFRRyxTQUFmLEtBQTZCLFdBQTdCLEdBQTJDSCxRQUFRRyxTQUFuRCxHQUErRCxJQUFoRjtBQUNBLGFBQUtDLElBQUwsR0FBWUosUUFBUUksSUFBUixJQUFnQixNQUE1QjtBQUNBLGFBQUtDLEtBQUwsR0FBYSxDQUFDLEVBQUQsQ0FBYjtBQUNIOztBQUVEOzs7Ozs7Ozs7O2dDQU1RQyxLLEVBQU9DLFksRUFDZjtBQUNJLGlCQUFLRixLQUFMLENBQVdHLElBQVgsQ0FBZ0JGLEtBQWhCO0FBQ0EsZ0JBQUlDLFlBQUosRUFDQTtBQUNJRCxzQkFB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QU9PLENBRDVCLElBQ2lDSCxJQUFJRyxDQUFKLEdBQVFILElBQUlJLE1BQVosR0FBcUJSLE9BQU9PLENBQVAsR0FBV1AsT0FBT1EsTUFENUUsRUFFQTtBQUNJLG9DQUFJTSxTQUFTZixNQUFULENBQUosRUFDQTtBQUNJLDJDQUFPLElBQVA7QUFDSDtBQUNKO0FBQ0o7QUFaTDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUM7QUFmTDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQWdCSSxtQkFBTyxLQUFQO0FBQ0g7O0FBRUQ7Ozs7Ozs7Z0NBS0E7QUFDSSxnQkFBSVYsVUFBVSxDQUFkO0FBQUEsZ0JBQWlCMEIsUUFBUSxDQUF6QjtBQURKO0FBQUE7QUFBQTs7QUFBQTtBQUVJLHVDQUFpQixLQUFLdEIsS0FBdEIsd0lBQ0E7QUFBQSx3QkFEU1UsSUFDVDs7QUFDSUEseUJBQUthLE9BQUwsQ0FBYSxrQkFDYjtBQUNJM0IsbUNBQVdVLE9BQU9WLE9BQVAsR0FBaUIsQ0FBakIsR0FBcUIsQ0FBaEM7QUFDQTBCO0FBQ0gscUJBSkQ7QUFLSDtBQVRMO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBVUksbUJBQU8sRUFBRUUsT0FBT0YsS0FBVCxFQUFnQjFCLGdCQUFoQixFQUF5QjZCLFFBQVFILFFBQVExQixPQUF6QyxFQUFQO0FBQ0g7Ozs7OztBQUdMOzs7Ozs7O0FBT0E4QixPQUFPQyxPQUFQLEdBQWlCakMsTUFBakIiLCJmaWxlIjoic2ltcGxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcGl4aS1jdWxsLlNwYXRpYWxIYXNoXHJcbi8vIENvcHlyaWdodCAyMDE4IFlPUEVZIFlPUEVZIExMQ1xyXG4vLyBEYXZpZCBGaWdhdG5lclxyXG4vLyBNSVQgTGljZW5zZVxyXG5cclxuY2xhc3MgU2ltcGxlXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogY3JlYXRlcyBhIHNpbXBsZSBjdWxsXHJcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnZpc2libGU9dmlzaWJsZV0gcGFyYW1ldGVyIG9mIHRoZSBvYmplY3QgdG8gc2V0ICh1c3VhbGx5IHZpc2libGUgb3IgcmVuZGVyYWJsZSlcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuY2FsY3VsYXRlUElYST10cnVlXSBjYWxjdWxhdGUgcGl4aS5qcyBib3VuZGluZyBib3ggYXV0b21hdGljYWxseTsgaWYgdGhpcyBpcyBzZXQgdG8gZmFsc2UgdGhlbiBpdCB1c2VzIG9iamVjdFtvcHRpb25zLkFBQkJdIGZvciBib3VuZGluZyBib3hcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5kaXJ0eVRlc3Q9dHJ1ZV0gb25seSB1cGRhdGUgc3BhdGlhbCBoYXNoIGZvciBvYmplY3RzIHdpdGggb2JqZWN0W29wdGlvbnMuZGlydHlUZXN0XT10cnVlOyB0aGlzIGhhcyBhIEhVR0UgaW1wYWN0IG9uIHBlcmZvcm1hbmNlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuQUFCQj1BQUJCXSBvYmplY3QgcHJvcGVydHkgdGhhdCBob2xkcyBib3VuZGluZyBib3ggc28gdGhhdCBvYmplY3RbdHlwZV0gPSB7IHg6IG51bWJlciwgeTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9OyBub3QgbmVlZGVkIGlmIG9wdGlvbnMuY2FsY3VsYXRlUElYST10cnVlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpXHJcbiAgICB7XHJcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cclxuICAgICAgICB0aGlzLnZpc2libGUgPSBvcHRpb25zLnZpc2libGUgfHwgJ3Zpc2libGUnXHJcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQSVhJID0gdHlwZW9mIG9wdGlvbnMuY2FsY3VsYXRlUElYSSAhPT0gJ3VuZGVmaW5lZCcgPyBvcHRpb25zLmNhbGN1bGF0ZVBJWEkgOiB0cnVlXHJcbiAgICAgICAgdGhpcy5kaXJ0eVRlc3QgPSB0eXBlb2Ygb3B0aW9ucy5kaXJ0eVRlc3QgIT09ICd1bmRlZmluZWQnID8gb3B0aW9ucy5kaXJ0eVRlc3QgOiB0cnVlXHJcbiAgICAgICAgdGhpcy5BQUJCID0gb3B0aW9ucy5BQUJCIHx8ICdBQUJCJ1xyXG4gICAgICAgIHRoaXMubGlzdHMgPSBbW11dXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBhZGQgYW4gYXJyYXkgb2Ygb2JqZWN0cyB0byBiZSBjdWxsZWRcclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5XHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtzdGF0aWNPYmplY3RdIHNldCB0byB0cnVlIGlmIHRoZSBvYmplY3QncyBwb3NpdGlvbi9zaXplIGRvZXMgbm90IGNoYW5nZVxyXG4gICAgICogQHJldHVybiB7QXJyYXl9IGFycmF5XHJcbiAgICAgKi9cclxuICAgIGFkZExpc3QoYXJyYXksIHN0YXRpY09iamVjdClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmxpc3RzLnB1c2goYXJyYXkpXHJcbiAgICAgICAgaWYgKHN0YXRpY09iamVjdClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGFycmF5LnN0YXRpY09iamVjdCA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFycmF5XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZW1vdmUgYW4gYXJyYXkgYWRkZWQgYnkgYWRkTGlzdCgpXHJcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheVxyXG4gICAgICogQHJldHVybiB7QXJyYXl9IGFycmF5XHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUxpc3QoYXJyYXkpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5saXN0cy5zcGxpY2UodGhpcy5saXN0cy5pbmRleE9mKGFycmF5KSwgMSlcclxuICAgICAgICByZXR1cm4gYXJyYXlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGFkZCBhbiBvYmplY3QgdG8gYmUgY3VsbGVkXHJcbiAgICAgKiBAcGFyYW0geyp9IG9iamVjdFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbc3RhdGljT2JqZWN0XSBzZXQgdG8gdHJ1ZSBpZiB0aGUgb2JqZWN0J3MgcG9zaXRpb24vc2l6ZSBkb2VzIG5vdCBjaGFuZ2VcclxuICAgICAqIEByZXR1cm4geyp9IG9iamVjdFxyXG4gICAgICovXHJcbiAgICBhZGQob2JqZWN0LCBzdGF0aWNPYmplY3QpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHN0YXRpY09iamVjdClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG9iamVjdC5zdGF0aWNPYmplY3QgPSB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdHNbMF0ucHVzaChvYmplY3QpXHJcbiAgICAgICAgcmV0dXJuIG9iamVjdFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmVtb3ZlIGFuIG9iamVjdCBhZGRlZCBieSBhZGQoKVxyXG4gICAgICogQHBhcmFtIHsqfSBvYmplY3RcclxuICAgICAqIEByZXR1cm4geyp9IG9iamVjdFxyXG4gICAgICovXHJcbiAgICByZW1vdmUob2JqZWN0KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMubGlzdHNbMF0uc3BsaWNlKHRoaXMubGlzdHNbMF0uaW5kZXhPZihvYmplY3QpLCAxKVxyXG4gICAgICAgIHJldHVybiBvYmplY3RcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGN1bGwgdGhlIGl0ZW1zIGluIHRoZSBsaXN0IGJ5IHNldHRpbmcgdmlzaWJsZSBwYXJhbWV0ZXJcclxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBib3VuZHNcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMueFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy55XHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLndpZHRoXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLmhlaWdodFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbc2tpcFVwZGF0ZV0gc2tpcCB1cGRhdGluZyB0aGUgQUFCQiBib3VuZGluZyBib3ggb2YgYWxsIG9iamVjdHNcclxuICAgICAqL1xyXG4gICAgY3VsbChib3VuZHMsIHNraXBVcGRhdGUpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FsY3VsYXRlUElYSSAmJiAhc2tpcFVwZGF0ZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT2JqZWN0cygpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IG9iamVjdCBvZiBsaXN0KVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib3ggPSBvYmplY3RbdGhpcy5BQUJCXVxyXG4gICAgICAgICAgICAgICAgb2JqZWN0W3RoaXMudmlzaWJsZV0gPVxyXG4gICAgICAgICAgICAgICAgICAgIGJveC54ICsgYm94LndpZHRoID4gYm91bmRzLnggJiYgYm94LnggPCBib3VuZHMueCArIGJvdW5kcy53aWR0aCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGJveC55ICsgYm94LmhlaWdodCA+IGJvdW5kcy55ICYmIGJveC55IDwgYm91bmRzLnkgKyBib3VuZHMuaGVpZ2h0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB1cGRhdGUgdGhlIEFBQkIgZm9yIGFsbCBvYmplY3RzXHJcbiAgICAgKiBhdXRvbWF0aWNhbGx5IGNhbGxlZCBmcm9tIHVwZGF0ZSgpIHdoZW4gY2FsY3VsYXRlUElYST10cnVlIGFuZCBza2lwVXBkYXRlPWZhbHNlXHJcbiAgICAgKi9cclxuICAgIHVwZGF0ZU9iamVjdHMoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLmRpcnR5VGVzdClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsaXN0LnN0YXRpY09iamVjdClcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBvYmplY3Qgb2YgbGlzdClcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqZWN0LnN0YXRpY09iamVjdCAmJiBvYmplY3RbdGhpcy5kaXJ0eV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT2JqZWN0KG9iamVjdClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFt0aGlzLmRpcnR5XSA9IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgbGlzdCBvZiB0aGlzLmxpc3RzKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWxpc3Quc3RhdGljT2JqZWN0KVxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG9iamVjdCBvZiBsaXN0KVxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvYmplY3Quc3RhdGljT2JqZWN0KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU9iamVjdChvYmplY3QpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB1cGRhdGUgdGhlIGhhcyBvZiBhbiBvYmplY3RcclxuICAgICAqIGF1dG9tYXRpY2FsbHkgY2FsbGVkIGZyb20gdXBkYXRlT2JqZWN0cygpXHJcbiAgICAgKiBAcGFyYW0geyp9IG9iamVjdFxyXG4gICAgICovXHJcbiAgICB1cGRhdGVPYmplY3Qob2JqZWN0KVxyXG4gICAge1xyXG4gICAgICAgIGNvbnN0IGJveCA9IG9iamVjdC5nZXRMb2NhbEJvdW5kcygpXHJcbiAgICAgICAgb2JqZWN0W3RoaXMuQUFCQl0ueCA9IG9iamVjdC54ICsgYm94LnggKiBvYmplY3Quc2NhbGUueFxyXG4gICAgICAgIG9iamVjdFt0aGlzLkFBQkJdLnkgPSBvYmplY3QueSArIGJveC55ICogb2JqZWN0LnNjYWxlLnlcclxuICAgICAgICBvYmplY3RbdGhpcy5BQUJCXS53aWR0aCA9IGJveC53aWR0aCAqIG9iamVjdC5zY2FsZS54XHJcbiAgICAgICAgb2JqZWN0W3RoaXMuQUFCQl0uaGVpZ2h0ID0gYm94LmhlaWdodCAqIG9iamVjdC5zY2FsZS55XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZXR1cm5zIGFuIGFycmF5IG9mIG9iamVjdHMgY29udGFpbmVkIHdpdGhpbiBib3VuZGluZyBib3hcclxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBib3VkbnMgYm91bmRpbmcgYm94IHRvIHNlYXJjaFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy54XHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLnlcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMud2lkdGhcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMuaGVpZ2h0XHJcbiAgICAgKiBAcmV0dXJuIHtvYmplY3RbXX0gc2VhcmNoIHJlc3VsdHNcclxuICAgICAqL1xyXG4gICAgcXVlcnkoYm91bmRzKVxyXG4gICAge1xyXG4gICAgICAgIGxldCByZXN1bHRzID0gW11cclxuICAgICAgICBmb3IgKGxldCBsaXN0IG9mIHRoaXMubGlzdHMpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBvYmplY3Qgb2YgbGlzdClcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm94ID0gb2JqZWN0W3RoaXMuQUFCQl1cclxuICAgICAgICAgICAgICAgIGlmIChib3gueCArIGJveC53aWR0aCA+IGJvdW5kcy54ICYmIGJveC54IC0gYm94LndpZHRoIDwgYm91bmRzLnggKyBib3VuZHMud2lkdGggJiZcclxuICAgICAgICAgICAgICAgICAgICBib3gueSArIGJveC5oZWlnaHQgPiBib3VuZHMueSAmJiBib3gueSAtIGJveC5oZWlnaHQgPCBib3VuZHMueSArIGJvdW5kcy5oZWlnaHQpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKG9iamVjdClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0c1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogaXRlcmF0ZXMgdGhyb3VnaCBvYmplY3RzIGNvbnRhaW5lZCB3aXRoaW4gYm91bmRpbmcgYm94XHJcbiAgICAgKiBzdG9wcyBpdGVyYXRpbmcgaWYgdGhlIGNhbGxiYWNrIHJldHVybnMgdHJ1ZVxyXG4gICAgICogQHBhcmFtIHtvYmplY3R9IGJvdW5kcyBib3VuZGluZyBib3ggdG8gc2VhcmNoXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLnhcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMueVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy53aWR0aFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy5oZWlnaHRcclxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXHJcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIGNhbGxiYWNrIHJldHVybmVkIGVhcmx5XHJcbiAgICAgKi9cclxuICAgIHF1ZXJ5Q2FsbGJhY2soYm91bmRzLCBjYWxsYmFjaylcclxuICAgIHtcclxuICAgICAgICBmb3IgKGxldCBsaXN0IG9mIHRoaXMubGlzdHMpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBvYmplY3Qgb2YgbGlzdClcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm94ID0gb2JqZWN0W3RoaXMuQUFCQl1cclxuICAgICAgICAgICAgICAgIGlmIChib3gueCArIGJveC53aWR0aCA+IGJvdW5kcy54ICYmIGJveC54IC0gYm94LndpZHRoIDwgYm91bmRzLnggKyBib3VuZHMud2lkdGggJiZcclxuICAgICAgICAgICAgICAgICAgICBib3gueSArIGJveC5oZWlnaHQgPiBib3VuZHMueSAmJiBib3gueSAtIGJveC5oZWlnaHQgPCBib3VuZHMueSArIGJvdW5kcy5oZWlnaHQpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKG9iamVjdCkpXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGdldCBzdGF0cyAob25seSB1cGRhdGVkIGFmdGVyIHVwZGF0ZSgpIGlzIGNhbGxlZClcclxuICAgICAqIEByZXR1cm4ge1NpbXBsZVN0YXRzfVxyXG4gICAgICovXHJcbiAgICBzdGF0cygpXHJcbiAgICB7XHJcbiAgICAgICAgbGV0IHZpc2libGUgPSAwLCBjb3VudCA9IDBcclxuICAgICAgICBmb3IgKGxldCBsaXN0IG9mIHRoaXMubGlzdHMpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBsaXN0LmZvckVhY2gob2JqZWN0ID0+XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZpc2libGUgKz0gb2JqZWN0LnZpc2libGUgPyAxIDogMFxyXG4gICAgICAgICAgICAgICAgY291bnQrK1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geyB0b3RhbDogY291bnQsIHZpc2libGUsIGN1bGxlZDogY291bnQgLSB2aXNpYmxlIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFNpbXBsZVN0YXRzXHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0b3RhbFxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gdmlzaWJsZVxyXG4gKiBAcHJvcGVydHkge251bWJlcn0gY3VsbGVkXHJcbiAqL1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBTaW1wbGUiXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NvZGUvc2ltcGxlLmpzIl0sIm5hbWVzIjpbIlNpbXBsZSIsIm9wdGlvbnMiLCJ2aXNpYmxlIiwiY2FsY3VsYXRlUElYSSIsImRpcnR5VGVzdCIsIkFBQkIiLCJsaXN0cyIsImFycmF5Iiwic3RhdGljT2JqZWN0IiwicHVzaCIsIm9iamVjdCIsInVwZGF0ZU9iamVjdCIsInNwbGljZSIsImluZGV4T2YiLCJib3VuZHMiLCJza2lwVXBkYXRlIiwidXBkYXRlT2JqZWN0cyIsImxpc3QiLCJib3giLCJ4Iiwid2lkdGgiLCJ5IiwiaGVpZ2h0IiwiZGlydHkiLCJnZXRMb2NhbEJvdW5kcyIsInNjYWxlIiwicmVzdWx0cyIsImNhbGxiYWNrIiwiY291bnQiLCJmb3JFYWNoIiwidG90YWwiLCJjdWxsZWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7SUFFTUEsTTtBQUVGOzs7Ozs7OztBQVFBLG9CQUFZQyxPQUFaLEVBQ0E7QUFBQTs7QUFDSUEsa0JBQVVBLFdBQVcsRUFBckI7QUFDQSxhQUFLQyxPQUFMLEdBQWVELFFBQVFDLE9BQVIsSUFBbUIsU0FBbEM7QUFDQSxhQUFLQyxhQUFMLEdBQXFCLE9BQU9GLFFBQVFFLGFBQWYsS0FBaUMsV0FBakMsR0FBK0NGLFFBQVFFLGFBQXZELEdBQXVFLElBQTVGO0FBQ0EsYUFBS0MsU0FBTCxHQUFpQixPQUFPSCxRQUFRRyxTQUFmLEtBQTZCLFdBQTdCLEdBQTJDSCxRQUFRRyxTQUFuRCxHQUErRCxJQUFoRjtBQUNBLGFBQUtDLElBQUwsR0FBWUosUUFBUUksSUFBUixJQUFnQixNQUE1QjtBQUNBLGFBQUtDLEtBQUwsR0FBYSxDQUFDLEVBQUQsQ0FBYjtBQUNIOztBQUVEOzs7Ozs7Ozs7O2dDQU1RQyxLLEVBQU9DLFksRUFDZjtBQUNJLGlCQUFLRixLQUFMLENBQVdHLElBQVgsQ0FBZ0JGLEtBQWhCO0FBQ0EsZ0JBQUlDLFlBQUosRUFDQTtBQUNJRCxzQkFB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cUIsQ0FBaEM7QUFDQTBCO0FBQ0gscUJBSkQ7QUFLSDtBQVRMO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBVUksbUJBQU8sRUFBRUUsT0FBT0YsS0FBVCxFQUFnQjFCLGdCQUFoQixFQUF5QjZCLFFBQVFILFFBQVExQixPQUF6QyxFQUFQO0FBQ0g7Ozs7OztBQUdMOzs7Ozs7O0FBT0E4QixPQUFPQyxPQUFQLEdBQWlCakMsTUFBakIiLCJmaWxlIjoic2ltcGxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcGl4aS1jdWxsLlNwYXRpYWxIYXNoXHJcbi8vIENvcHlyaWdodCAyMDE4IFlPUEVZIFlPUEVZIExMQ1xyXG4vLyBEYXZpZCBGaWdhdG5lclxyXG4vLyBNSVQgTGljZW5zZVxyXG5cclxuY2xhc3MgU2ltcGxlXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogY3JlYXRlcyBhIHNpbXBsZSBjdWxsXHJcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnZpc2libGU9dmlzaWJsZV0gcGFyYW1ldGVyIG9mIHRoZSBvYmplY3QgdG8gc2V0ICh1c3VhbGx5IHZpc2libGUgb3IgcmVuZGVyYWJsZSlcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuY2FsY3VsYXRlUElYST10cnVlXSBjYWxjdWxhdGUgcGl4aS5qcyBib3VuZGluZyBib3ggYXV0b21hdGljYWxseTsgaWYgdGhpcyBpcyBzZXQgdG8gZmFsc2UgdGhlbiBpdCB1c2VzIG9iamVjdFtvcHRpb25zLkFBQkJdIGZvciBib3VuZGluZyBib3hcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5kaXJ0eVRlc3Q9dHJ1ZV0gb25seSB1cGRhdGUgc3BhdGlhbCBoYXNoIGZvciBvYmplY3RzIHdpdGggb2JqZWN0W29wdGlvbnMuZGlydHlUZXN0XT10cnVlOyB0aGlzIGhhcyBhIEhVR0UgaW1wYWN0IG9uIHBlcmZvcm1hbmNlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuQUFCQj1BQUJCXSBvYmplY3QgcHJvcGVydHkgdGhhdCBob2xkcyBib3VuZGluZyBib3ggc28gdGhhdCBvYmplY3RbdHlwZV0gPSB7IHg6IG51bWJlciwgeTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9OyBub3QgbmVlZGVkIGlmIG9wdGlvbnMuY2FsY3VsYXRlUElYST10cnVlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpXHJcbiAgICB7XHJcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cclxuICAgICAgICB0aGlzLnZpc2libGUgPSBvcHRpb25zLnZpc2libGUgfHwgJ3Zpc2libGUnXHJcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQSVhJID0gdHlwZW9mIG9wdGlvbnMuY2FsY3VsYXRlUElYSSAhPT0gJ3VuZGVmaW5lZCcgPyBvcHRpb25zLmNhbGN1bGF0ZVBJWEkgOiB0cnVlXHJcbiAgICAgICAgdGhpcy5kaXJ0eVRlc3QgPSB0eXBlb2Ygb3B0aW9ucy5kaXJ0eVRlc3QgIT09ICd1bmRlZmluZWQnID8gb3B0aW9ucy5kaXJ0eVRlc3QgOiB0cnVlXHJcbiAgICAgICAgdGhpcy5BQUJCID0gb3B0aW9ucy5BQUJCIHx8ICdBQUJCJ1xyXG4gICAgICAgIHRoaXMubGlzdHMgPSBbW11dXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBhZGQgYW4gYXJyYXkgb2Ygb2JqZWN0cyB0byBiZSBjdWxsZWRcclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5XHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtzdGF0aWNPYmplY3RdIHNldCB0byB0cnVlIGlmIHRoZSBvYmplY3QncyBwb3NpdGlvbi9zaXplIGRvZXMgbm90IGNoYW5nZVxyXG4gICAgICogQHJldHVybiB7QXJyYXl9IGFycmF5XHJcbiAgICAgKi9cclxuICAgIGFkZExpc3QoYXJyYXksIHN0YXRpY09iamVjdClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmxpc3RzLnB1c2goYXJyYXkpXHJcbiAgICAgICAgaWYgKHN0YXRpY09iamVjdClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGFycmF5LnN0YXRpY09iamVjdCA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY2FsY3VsYXRlUElYSSAmJiB0aGlzLmRpcnR5VGVzdClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IG9iamVjdCBvZiBhcnJheSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPYmplY3Qob2JqZWN0KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhcnJheVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcmVtb3ZlIGFuIGFycmF5IGFkZGVkIGJ5IGFkZExpc3QoKVxyXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXlcclxuICAgICAqIEByZXR1cm4ge0FycmF5fSBhcnJheVxyXG4gICAgICovXHJcbiAgICByZW1vdmVMaXN0KGFycmF5KVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMubGlzdHMuc3BsaWNlKHRoaXMubGlzdHMuaW5kZXhPZihhcnJheSksIDEpXHJcbiAgICAgICAgcmV0dXJuIGFycmF5XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBhZGQgYW4gb2JqZWN0IHRvIGJlIGN1bGxlZFxyXG4gICAgICogQHBhcmFtIHsqfSBvYmplY3RcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3N0YXRpY09iamVjdF0gc2V0IHRvIHRydWUgaWYgdGhlIG9iamVjdCdzIHBvc2l0aW9uL3NpemUgZG9lcyBub3QgY2hhbmdlXHJcbiAgICAgKiBAcmV0dXJuIHsqfSBvYmplY3RcclxuICAgICAqL1xyXG4gICAgYWRkKG9iamVjdCwgc3RhdGljT2JqZWN0KVxyXG4gICAge1xyXG4gICAgICAgIGlmIChzdGF0aWNPYmplY3QpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBvYmplY3Quc3RhdGljT2JqZWN0ID0gdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jYWxjdWxhdGVQSVhJICYmICh0aGlzLmRpcnR5VGVzdCB8fCBzdGF0aWNPYmplY3QpKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVPYmplY3Qob2JqZWN0KVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RzWzBdLnB1c2gob2JqZWN0KVxyXG4gICAgICAgIHJldHVybiBvYmplY3RcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHJlbW92ZSBhbiBvYmplY3QgYWRkZWQgYnkgYWRkKClcclxuICAgICAqIEBwYXJhbSB7Kn0gb2JqZWN0XHJcbiAgICAgKiBAcmV0dXJuIHsqfSBvYmplY3RcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlKG9iamVjdClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmxpc3RzWzBdLnNwbGljZSh0aGlzLmxpc3RzWzBdLmluZGV4T2Yob2JqZWN0KSwgMSlcclxuICAgICAgICByZXR1cm4gb2JqZWN0XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjdWxsIHRoZSBpdGVtcyBpbiB0aGUgbGlzdCBieSBzZXR0aW5nIHZpc2libGUgcGFyYW1ldGVyXHJcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gYm91bmRzXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLnhcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMueVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy53aWR0aFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy5oZWlnaHRcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NraXBVcGRhdGVdIHNraXAgdXBkYXRpbmcgdGhlIEFBQkIgYm91bmRpbmcgYm94IG9mIGFsbCBvYmplY3RzXHJcbiAgICAgKi9cclxuICAgIGN1bGwoYm91bmRzLCBza2lwVXBkYXRlKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbGN1bGF0ZVBJWEkgJiYgIXNraXBVcGRhdGUpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9iamVjdHMoKVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBsaXN0IG9mIHRoaXMubGlzdHMpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBvYmplY3Qgb2YgbGlzdClcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm94ID0gb2JqZWN0W3RoaXMuQUFCQl1cclxuICAgICAgICAgICAgICAgIG9iamVjdFt0aGlzLnZpc2libGVdID1cclxuICAgICAgICAgICAgICAgICAgICBib3gueCArIGJveC53aWR0aCA+IGJvdW5kcy54ICYmIGJveC54IDwgYm91bmRzLnggKyBib3VuZHMud2lkdGggJiZcclxuICAgICAgICAgICAgICAgICAgICBib3gueSArIGJveC5oZWlnaHQgPiBib3VuZHMueSAmJiBib3gueSA8IGJvdW5kcy55ICsgYm91bmRzLmhlaWdodFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdXBkYXRlIHRoZSBBQUJCIGZvciBhbGwgb2JqZWN0c1xyXG4gICAgICogYXV0b21hdGljYWxseSBjYWxsZWQgZnJvbSB1cGRhdGUoKSB3aGVuIGNhbGN1bGF0ZVBJWEk9dHJ1ZSBhbmQgc2tpcFVwZGF0ZT1mYWxzZVxyXG4gICAgICovXHJcbiAgICB1cGRhdGVPYmplY3RzKClcclxuICAgIHtcclxuICAgICAgICBpZiAodGhpcy5kaXJ0eVRlc3QpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBsaXN0IG9mIHRoaXMubGlzdHMpXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlmICghbGlzdC5zdGF0aWNPYmplY3QpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgb2JqZWN0IG9mIGxpc3QpXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9iamVjdC5zdGF0aWNPYmplY3QgJiYgb2JqZWN0W3RoaXMuZGlydHldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU9iamVjdChvYmplY3QpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RbdGhpcy5kaXJ0eV0gPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsaXN0LnN0YXRpY09iamVjdClcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBvYmplY3Qgb2YgbGlzdClcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqZWN0LnN0YXRpY09iamVjdClcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPYmplY3Qob2JqZWN0KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdXBkYXRlIHRoZSBoYXMgb2YgYW4gb2JqZWN0XHJcbiAgICAgKiBhdXRvbWF0aWNhbGx5IGNhbGxlZCBmcm9tIHVwZGF0ZU9iamVjdHMoKVxyXG4gICAgICogQHBhcmFtIHsqfSBvYmplY3RcclxuICAgICAqL1xyXG4gICAgdXBkYXRlT2JqZWN0KG9iamVjdClcclxuICAgIHtcclxuICAgICAgICBjb25zdCBib3ggPSBvYmplY3QuZ2V0TG9jYWxCb3VuZHMoKVxyXG4gICAgICAgIG9iamVjdFt0aGlzLkFBQkJdID0gb2JqZWN0W3RoaXMuQUFCQl0gfHwge31cclxuICAgICAgICBvYmplY3RbdGhpcy5BQUJCXS54ID0gb2JqZWN0LnggKyBib3gueCAqIG9iamVjdC5zY2FsZS54XHJcbiAgICAgICAgb2JqZWN0W3RoaXMuQUFCQl0ueSA9IG9iamVjdC55ICsgYm94LnkgKiBvYmplY3Quc2NhbGUueVxyXG4gICAgICAgIG9iamVjdFt0aGlzLkFBQkJdLndpZHRoID0gYm94LndpZHRoICogb2JqZWN0LnNjYWxlLnhcclxuICAgICAgICBvYmplY3RbdGhpcy5BQUJCXS5oZWlnaHQgPSBib3guaGVpZ2h0ICogb2JqZWN0LnNjYWxlLnlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHJldHVybnMgYW4gYXJyYXkgb2Ygb2JqZWN0cyBjb250YWluZWQgd2l0aGluIGJvdW5kaW5nIGJveFxyXG4gICAgICogQHBhcmFtIHtvYmplY3R9IGJvdWRucyBib3VuZGluZyBib3ggdG8gc2VhcmNoXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLnhcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMueVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy53aWR0aFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy5oZWlnaHRcclxuICAgICAqIEByZXR1cm4ge29iamVjdFtdfSBzZWFyY2ggcmVzdWx0c1xyXG4gICAgICovXHJcbiAgICBxdWVyeShib3VuZHMpXHJcbiAgICB7XHJcbiAgICAgICAgbGV0IHJlc3VsdHMgPSBbXVxyXG4gICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IG9iamVjdCBvZiBsaXN0KVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib3ggPSBvYmplY3RbdGhpcy5BQUJCXVxyXG4gICAgICAgICAgICAgICAgaWYgKGJveC54ICsgYm94LndpZHRoID4gYm91bmRzLnggJiYgYm94LnggLSBib3gud2lkdGggPCBib3VuZHMueCArIGJvdW5kcy53aWR0aCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGJveC55ICsgYm94LmhlaWdodCA+IGJvdW5kcy55ICYmIGJveC55IC0gYm94LmhlaWdodCA8IGJvdW5kcy55ICsgYm91bmRzLmhlaWdodClcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gob2JqZWN0KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHRzXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBpdGVyYXRlcyB0aHJvdWdoIG9iamVjdHMgY29udGFpbmVkIHdpdGhpbiBib3VuZGluZyBib3hcclxuICAgICAqIHN0b3BzIGl0ZXJhdGluZyBpZiB0aGUgY2FsbGJhY2sgcmV0dXJucyB0cnVlXHJcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gYm91bmRzIGJvdW5kaW5nIGJveCB0byBzZWFyY2hcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBib3VuZHMueFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJvdW5kcy55XHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLndpZHRoXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYm91bmRzLmhlaWdodFxyXG4gICAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcclxuICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgY2FsbGJhY2sgcmV0dXJuZWQgZWFybHlcclxuICAgICAqL1xyXG4gICAgcXVlcnlDYWxsYmFjayhib3VuZHMsIGNhbGxiYWNrKVxyXG4gICAge1xyXG4gICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IG9iamVjdCBvZiBsaXN0KVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib3ggPSBvYmplY3RbdGhpcy5BQUJCXVxyXG4gICAgICAgICAgICAgICAgaWYgKGJveC54ICsgYm94LndpZHRoID4gYm91bmRzLnggJiYgYm94LnggLSBib3gud2lkdGggPCBib3VuZHMueCArIGJvdW5kcy53aWR0aCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGJveC55ICsgYm94LmhlaWdodCA+IGJvdW5kcy55ICYmIGJveC55IC0gYm94LmhlaWdodCA8IGJvdW5kcy55ICsgYm91bmRzLmhlaWdodClcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sob2JqZWN0KSlcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogZ2V0IHN0YXRzIChvbmx5IHVwZGF0ZWQgYWZ0ZXIgdXBkYXRlKCkgaXMgY2FsbGVkKVxyXG4gICAgICogQHJldHVybiB7U2ltcGxlU3RhdHN9XHJcbiAgICAgKi9cclxuICAgIHN0YXRzKClcclxuICAgIHtcclxuICAgICAgICBsZXQgdmlzaWJsZSA9IDAsIGNvdW50ID0gMFxyXG4gICAgICAgIGZvciAobGV0IGxpc3Qgb2YgdGhpcy5saXN0cylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaChvYmplY3QgPT5cclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmlzaWJsZSArPSBvYmplY3QudmlzaWJsZSA/IDEgOiAwXHJcbiAgICAgICAgICAgICAgICBjb3VudCsrXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IHRvdGFsOiBjb3VudCwgdmlzaWJsZSwgY3VsbGVkOiBjb3VudCAtIHZpc2libGUgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHR5cGVkZWYge29iamVjdH0gU2ltcGxlU3RhdHNcclxuICogQHByb3BlcnR5IHtudW1iZXJ9IHRvdGFsXHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB2aXNpYmxlXHJcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjdWxsZWRcclxuICovXHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IFNpbXBsZSJdfQ==

@@ -7,3 +7,3 @@ const PIXI = require('pixi.js')

const Cull = require('../code/')
const Cull = require('../code')

@@ -10,0 +10,0 @@ let _application, _viewport, _dots, _div, _simple, _hash, _mode = 'simple', _stats, _fps //, _test

{
"name": "pixi-cull",
"version": "0.2.5",
"version": "0.3.0",
"description": "a library to visibly cull objects designed to work with pixi.js",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -25,4 +25,4 @@ # pixi-cull

var viewport = new Viewport({
screenWidth: window.innerWidth,
screenHeight: window.innerHeight,
screenWidth: app.view.offsetWidth,
screenHeight: app.view.offsetHeight,
worldWidth: 10000,

@@ -33,7 +33,7 @@ worldHeight: 10000

app.stage.addChild(viewport);
viewport.drag().pinch().wheel().decelerate();
viewport.drag().pinch().wheel().decelerate().moveCenter(5000, 5000);
// add red boxes
for (var i = 0; i < 100; i++)
{
for (var i = 0; i < 500; i++)
{
var sprite = viewport.addChild(new PIXI.Sprite(PIXI.Texture.WHITE));

@@ -48,2 +48,12 @@ sprite.tint = 0xff0000;

cull.cull(viewport.getVisibleBounds());
// cull whenever the viewport moves
PIXI.ticker.shared.add(() =>
{
if (viewport.dirty)
{
cull.cull(viewport.getVisibleBounds());
viewport.dirty = false;
}
});
```

@@ -50,0 +60,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc