//>>built define("dojo/_base/declare dojo/_base/lang dojo/Deferred dojo/when dojo/promise/all dojo/store/util/SimpleQueryEngine dojo/store/util/QueryResults".split(" "),function(A,M,N,I,O,J,T){function B(a){var b=new N;a.onsuccess=function(a){b.resolve(a.target.result)};a.onerror=function(){a.error.message=a.webkitErrorMessage;b.reject(a.error)};return b.promise}function D(a,b,c){if(l||q.length){a&&(q.push({cursor:a,priority:b,retry:c}),q.sort(function(a,b){return a.priority>b.priority?1:-1}));if(1<=l)return; var e=q.pop();a=e&&e.cursor}if(a)try{a["continue"](),l++}catch(g){if("TransactionInactiveError"!==g.name&&0!==g.name||!e)throw g;e.retry()}}function U(){return!0}function P(a){function b(b,d){e?b&&c.then(function(a){a.forEach(b,d)}):(b&&g.push(b),c||(c=a.filter(function(a){e=!0;for(var b=0,c=g.length;bA))return A=b,u=a,!0;E++}b=b||{};var e=b.start||0,g=b.count||Infinity,r=b.sort,d=this;if(a.forEach){var q={sort:r},m=this.queryEngine({}, q),h=[],n=0,w=0;return P({total:{then:function(){return O(h).then(function(a){return a.reduce(function(a,b){return a+b})*n/(w||1)}).then.apply(this,arguments)}},filter:function(b,c){var Q=0,f=[],k,p={},l=[];return O(a.map(function(a,S){function R(a){V.push(a);for(var d=[],p=[];f.every(function(a){if(0=e+g||0===p.length){k=!0;return}a=m(p)[0];f[d.indexOf(a)].shift();if(Q++>=e&&(l.push(a),!b.call(c,a))){k=!0;return}d=[];p=[]}return!0}var V=f[S]= [];a=d.query(a,q);h[S]=a.total;return a.filter(function(a){if(!k){var b=d.getIdentity(a);w++;if(b in p)return!0;n++;p[b]=!0;return R(a)}}).then(function(a){R(null);return a})})).then(function(){return l})}})}var C,F=JSON.stringify(a)+"-"+JSON.stringify(b.sort),x,u,A=0,E=0,f,G;for(G in a){f=a[G];var B=!1,y,z=null;if("boolean"!==typeof f){if(f)if(f.from||f.to)B=!0,function(a,b){z={test:function(c){return!a||a<=c&&(!b||b>=c)},keyRange:a?b?t.bound(a,b,f.excludeFrom,f.excludeTo):t.lowerBound(a,f.excludeFrom): t.upperBound(b,f.excludeTo)}}(f.from,f.to);else if("object"===typeof f&&f.contains)(function(a){var b,c=(b=a[0])&&b.match&&b.match(K);c?(b=c[1],b=t.bound(b,b+"~")):b=t.only(b);z={test:function(b){return a.every(function(a){var c=a&&a.match&&a.match(K);return c?(a=c[1],b&&b.some(function(b){return b.slice(0,a.length)===a})):b&&-1E&&(k.offset=k.preFilterOffset=(x=e)-1));var J=this.queryEngine(a);v={total:{then:function(a){function b(a){d.cachedCount[F]=a;return Math.round((k.offset+ 1.01)/(k.preFilterOffset+1.01)*a)}var c=d.cachedCount[F];return c?a(b(c)):(this.then=(C?d._callOnStore("count",[C],u):d._callOnStore("count")).then(b)).then.apply(this,arguments)}},filter:function(a,c){function f(){I(d._callOnStore("openCursor",L,u,!0),function(d){l++;d.onsuccess=function(n){l--;var p=n.target.result;if(p){if(x){p.advance(x);l++;x=!1;return}k.preFilterOffset++;try{var q=p.value;b.join&&(q=b.join(q));return I(q,function(l){if(J.matches(l)&&(k.offset++,k.offset>=e&&(m.push(l),!a.call(c, l)||k.offset>=e+g-1))){d.lastCursor=p;h.resolve(m);D();return}return D(p,b.priority,function(){x=k.preFilterOffset;f()})})}catch(W){h.reject(W)}}else h.resolve(m);D()};d.onerror=function(a){l--;h.reject(a);D()}})}var h=new N,m=[];f();return h.promise}};return H?(m=this.queryEngine({},b),H=M.delegate(v.filter(U).then(function(a){return m(a)})),H.total=v.total,new T(H)):b.rawResults?v:P(v)}})});