//>>built define(["dijit","dojo","dojox"],function(_1,_2,_3){ _2.provide("dojox.sql._crypto"); _2.mixin(_3.sql._crypto,{_POOL_SIZE:100,encrypt:function(_4,_5,_6){ this._initWorkerPool(); var _7={plaintext:_4,password:_5}; _7=_2.toJson(_7); _7="encr:"+String(_7); this._assignWork(_7,_6); },decrypt:function(_8,_9,_a){ this._initWorkerPool(); var _b={ciphertext:_8,password:_9}; _b=_2.toJson(_b); _b="decr:"+String(_b); this._assignWork(_b,_a); },_initWorkerPool:function(){ if(!this._manager){ try{ this._manager=google.gears.factory.create("beta.workerpool","1.0"); this._unemployed=[]; this._employed={}; this._handleMessage=[]; var _c=this; this._manager.onmessage=function(_d,_e){ var _f=_c._employed["_"+_e]; _c._employed["_"+_e]=undefined; _c._unemployed.push("_"+_e); if(_c._handleMessage.length){ var _10=_c._handleMessage.shift(); _c._assignWork(_10.msg,_10.callback); } _f(_d); }; var _11="function _workerInit(){"+"gearsWorkerPool.onmessage = "+String(this._workerHandler)+";"+"}"; var _12=_11+" _workerInit();"; for(var i=0;i6&&i%Nk==4){ _23=_24(_23); } } for(var t=0;t<4;t++){ w[i][t]=w[i-Nk][t]^_23[t]; } } return w; }; function _24(w){ for(var i=0;i<4;i++){ w[i]=_16[w[i]]; } return w; }; function _25(w){ w[4]=w[0]; for(var i=0;i<4;i++){ w[i]=w[i+1]; } return w; }; function _26(_27,_28,_29){ if(!(_29==128||_29==192||_29==256)){ return ""; } var _2a=_29/8; var _2b=new Array(_2a); for(var i=0;i<_2a;i++){ _2b[i]=_28.charCodeAt(i)&255; } var key=_18(_2b,_22(_2b)); key=key.concat(key.slice(0,_2a-16)); var _2c=16; var _2d=new Array(_2c); var _2e=(new Date()).getTime(); for(var i=0;i<4;i++){ _2d[i]=(_2e>>>i*8)&255; } for(var i=0;i<4;i++){ _2d[i+4]=(_2e/4294967296>>>i*8)&255; } var _2f=_22(key); var _30=Math.ceil(_27.length/_2c); var _31=new Array(_30); for(var b=0;b<_30;b++){ for(var c=0;c<4;c++){ _2d[15-c]=(b>>>c*8)&255; } for(var c=0;c<4;c++){ _2d[15-c-4]=(b/4294967296>>>c*8); } var _32=_18(_2d,_2f); var _33=b<_30-1?_2c:(_27.length-1)%_2c+1; var ct=""; for(var i=0;i<_33;i++){ var _34=_27.charCodeAt(b*_2c+i); var _35=_34^_32[i]; ct+=String.fromCharCode(_35); } _31[b]=_36(ct); } var _37=""; for(var i=0;i<8;i++){ _37+=String.fromCharCode(_2d[i]); } _37=_36(_37); return _37+"-"+_31.join("-"); }; function _38(_39,_3a,_3b){ if(!(_3b==128||_3b==192||_3b==256)){ return ""; } var _3c=_3b/8; var _3d=new Array(_3c); for(var i=0;i<_3c;i++){ _3d[i]=_3a.charCodeAt(i)&255; } var _3e=_22(_3d); var key=_18(_3d,_3e); key=key.concat(key.slice(0,_3c-16)); var _3f=_22(key); _39=_39.split("-"); var _40=16; var _41=new Array(_40); var _42=_43(_39[0]); for(var i=0;i<8;i++){ _41[i]=_42.charCodeAt(i); } var _44=new Array(_39.length-1); for(var b=1;b<_39.length;b++){ for(var c=0;c<4;c++){ _41[15-c]=((b-1)>>>c*8)&255; } for(var c=0;c<4;c++){ _41[15-c-4]=((b/4294967296-1)>>>c*8)&255; } var _45=_18(_41,_3f); _39[b]=_43(_39[b]); var pt=""; for(var i=0;i<_39[b].length;i++){ var _46=_39[b].charCodeAt(i); var _47=_46^_45[i]; pt+=String.fromCharCode(_47); } _44[b-1]=pt; } return _44.join(""); }; function _36(str){ return str.replace(/[\0\t\n\v\f\r\xa0!-]/g,function(c){ return "!"+c.charCodeAt(0)+"!"; }); }; function _43(str){ return str.replace(/!\d\d?\d?!/g,function(c){ return String.fromCharCode(c.slice(1,-1)); }); }; function _48(_49,_4a){ return _26(_49,_4a,256); }; function _4b(_4c,_4d){ return _38(_4c,_4d,256); }; var cmd=msg.substr(0,4); var arg=msg.substr(5); if(cmd=="encr"){ arg=eval("("+arg+")"); var _4e=arg.plaintext; var _4f=arg.password; var _50=_48(_4e,_4f); gearsWorkerPool.sendMessage(String(_50),_15); }else{ if(cmd=="decr"){ arg=eval("("+arg+")"); var _51=arg.ciphertext; var _4f=arg.password; var _50=_4b(_51,_4f); gearsWorkerPool.sendMessage(String(_50),_15); } } }}); });