vendor: 23,883 bytes, lines 1-214
1/** 2 * @fileoverview 3 * - Using the 'QRCode for Javascript library' 4 * - Fixed dataset of 'QRCode for Javascript library' for support full-spec. 5 * - this library has no dependencies. 6 * 7 * @author davidshimjs 8 * @see <a href="http://www.d-project.com/" target="_blank">http://www.d-project.com/</a> 9 * @see <a href="http://jeromeetienne.github.com/jquery-qrcode/" target="_blank">http://jeromeetienne.github.com/jquery-qrcode/</a> 10 */ 11var QRCode; 12 13(function () { 14 //--------------------------------------------------------------------- 15 // QRCode for JavaScript 16 // 17 // Copyright (c) 2009 Kazuhiko Arase 18 // 19 // URL: http://www.d-project.com/ 20 // 21 // Licensed under the MIT license: 22 // http://www.opensource.org/licenses/mit-license.php 23 // 24 // The word "QR Code" is registered trademark of 25 // DENSO WAVE INCORPORATED 26 // http://www.denso-wave.com/qrcode/faqpatent-e.html 27 // 28 //--------------------------------------------------------------------- 29 function QR8bitByte(data){this.mode=QRMode.MODE_8BIT_BYTE;this.data=data;} 30 QR8bitByte.prototype={getLength:function(buffer){return this.data.length;},write:function(buffer){for(var i=0;i<this.data.length;i++){buffer.put(this.data.charCodeAt(i),8);}}};function QRCodeModel(typeNumber,errorCorrectLevel){this.typeNumber=typeNumber;this.errorCorrectLevel=errorCorrectLevel;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[];} 31 QRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+","+col);} 32 return this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row<this.moduleCount;row++){this.modules[row]=new Array(this.moduleCount);for(var col=0;col<this.moduleCount;col++){this.modules[row][col]=null;}} 33 this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-7,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(test,maskPattern);if(this.typeNumber>=7){this.setupTypeNumber(test);} 34 if(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);} 35 this.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}} 36 return pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row<this.modules.length;row++){var y=row*cs;for(var col=0;col<this.modules[row].length;col++){var x=col*cs;var dark=this.modules[row][col];if(dark){qr_mc.beginFill(0,100);qr_mc.moveTo(x,y);qr_mc.lineTo(x+cs,y);qr_mc.lineTo(x+cs,y+cs);qr_mc.lineTo(x,y+cs);qr_mc.endFill();}}} 37 return qr_mc;},setupTimingPattern:function(){for(var r=8;r<this.moduleCount-8;r++){if(this.modules[r][6]!=null){continue;} 38 this.modules[r][6]=(r%2==0);} 39 for(var c=8;c<this.moduleCount-8;c++){if(this.modules[6][c]!=null){continue;} 40 this.modules[6][c]=(c%2==0);}},setupPositionAdjustPattern:function(){var pos=QRUtil.getPatternPosition(this.typeNumber);for(var i=0;i<pos.length;i++){for(var j=0;j<pos.length;j++){var row=pos[i];var col=pos[j];if(this.modules[row][col]!=null){continue;} 41 for(var r=-2;r<=2;r++){for(var c=-2;c<=2;c++){if(r==-2||r==2||c==-2||c==2||(r==0&&c==0)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}}}},setupTypeNumber:function(test){var bits=QRUtil.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;} 42 for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}} 43 for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}} 44 this.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex<data.length){dark=(((data[byteIndex]>>>bitIndex)&1)==1);} 45 var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;} 46 this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}} 47 row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;i<dataList.length;i++){var data=dataList[i];buffer.put(data.mode,4);buffer.put(data.getLength(),QRUtil.getLengthInBits(data.mode,typeNumber));data.write(buffer);} 48 var totalDataCount=0;for(var i=0;i<rsBlocks.length;i++){totalDataCount+=rsBlocks[i].dataCount;} 49 if(buffer.getLengthInBits()>totalDataCount*8){throw new Error("code length overflow. (" 50 +buffer.getLengthInBits() 51 +">" 52 +totalDataCount*8 53 +")");} 54 if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);} 55 while(buffer.getLengthInBits()%8!=0){buffer.putBit(false);} 56 while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;} 57 buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;} 58 buffer.put(QRCodeModel.PAD1,8);} 59 return QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r<rsBlocks.length;r++){var dcCount=rsBlocks[r].dataCount;var ecCount=rsBlocks[r].totalCount-dcCount;maxDcCount=Math.max(maxDcCount,dcCount);maxEcCount=Math.max(maxEcCount,ecCount);dcdata[r]=new Array(dcCount);for(var i=0;i<dcdata[r].length;i++){dcdata[r][i]=0xff&buffer.buffer[i+offset];} 60 offset+=dcCount;var rsPoly=QRUtil.getErrorCorrectPolynomial(ecCount);var rawPoly=new QRPolynomial(dcdata[r],rsPoly.getLength()-1);var modPoly=rawPoly.mod(rsPoly);ecdata[r]=new Array(rsPoly.getLength()-1);for(var i=0;i<ecdata[r].length;i++){var modIndex=i+modPoly.getLength()-ecdata[r].length;ecdata[r][i]=(modIndex>=0)?modPoly.get(modIndex):0;}} 61 var totalCodeCount=0;for(var i=0;i<rsBlocks.length;i++){totalCodeCount+=rsBlocks[i].totalCount;} 62 var data=new Array(totalCodeCount);var index=0;for(var i=0;i<maxDcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<dcdata[r].length){data[index++]=dcdata[r][i];}}} 63 for(var i=0;i<maxEcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<ecdata[r].length){data[index++]=ecdata[r][i];}}} 64 return data;};var QRMode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};var QRErrorCorrectLevel={L:1,M:0,Q:3,H:2};var QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var QRUtil={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:(1<<10)|(1<<8)|(1<<5)|(1<<4)|(1<<2)|(1<<1)|(1<<0),G18:(1<<12)|(1<<11)|(1<<10)|(1<<9)|(1<<8)|(1<<5)|(1<<2)|(1<<0),G15_MASK:(1<<14)|(1<<12)|(1<<10)|(1<<4)|(1<<1),getBCHTypeInfo:function(data){var d=data<<10;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)>=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));} 65 return((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));} 66 return(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;} 67 return digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i<errorCorrectLength;i++){a=a.multiply(new QRPolynomial([1,QRMath.gexp(i)],0));} 68 return a;},getLengthInBits:function(mode,type){if(1<=type&&type<10){switch(mode){case QRMode.MODE_NUMBER:return 10;case QRMode.MODE_ALPHA_NUM:return 9;case QRMode.MODE_8BIT_BYTE:return 8;case QRMode.MODE_KANJI:return 8;default:throw new Error("mode:"+mode);}}else if(type<27){switch(mode){case QRMode.MODE_NUMBER:return 12;case QRMode.MODE_ALPHA_NUM:return 11;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 10;default:throw new Error("mode:"+mode);}}else if(type<41){switch(mode){case QRMode.MODE_NUMBER:return 14;case QRMode.MODE_ALPHA_NUM:return 13;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 12;default:throw new Error("mode:"+mode);}}else{throw new Error("type:"+type);}},getLostPoint:function(qrCode){var moduleCount=qrCode.getModuleCount();var lostPoint=0;for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount;col++){var sameCount=0;var dark=qrCode.isDark(row,col);for(var r=-1;r<=1;r++){if(row+r<0||moduleCount<=row+r){continue;} 69 for(var c=-1;c<=1;c++){if(col+c<0||moduleCount<=col+c){continue;} 70 if(r==0&&c==0){continue;} 71 if(dark==qrCode.isDark(row+r,col+c)){sameCount++;}}} 72 if(sameCount>5){lostPoint+=(3+sameCount-5);}}} 73 for(var row=0;row<moduleCount-1;row++){for(var col=0;col<moduleCount-1;col++){var count=0;if(qrCode.isDark(row,col))count++;if(qrCode.isDark(row+1,col))count++;if(qrCode.isDark(row,col+1))count++;if(qrCode.isDark(row+1,col+1))count++;if(count==0||count==4){lostPoint+=3;}}} 74 for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount-6;col++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row,col+1)&&qrCode.isDark(row,col+2)&&qrCode.isDark(row,col+3)&&qrCode.isDark(row,col+4)&&!qrCode.isDark(row,col+5)&&qrCode.isDark(row,col+6)){lostPoint+=40;}}} 75 for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount-6;row++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row+1,col)&&qrCode.isDark(row+2,col)&&qrCode.isDark(row+3,col)&&qrCode.isDark(row+4,col)&&!qrCode.isDark(row+5,col)&&qrCode.isDark(row+6,col)){lostPoint+=40;}}} 76 var darkCount=0;for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount;row++){if(qrCode.isDark(row,col)){darkCount++;}}} 77 var ratio=Math.abs(100*darkCount/moduleCount/moduleCount-50)/5;lostPoint+=ratio*10;return lostPoint;}};var QRMath={glog:function(n){if(n<1){throw new Error("glog("+n+")");} 78 return QRMath.LOG_TABLE[n];},gexp:function(n){while(n<0){n+=255;} 79 while(n>=256){n-=255;} 80 return QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<<i;} 81 for(var i=8;i<256;i++){QRMath.EXP_TABLE[i]=QRMath.EXP_TABLE[i-4]^QRMath.EXP_TABLE[i-5]^QRMath.EXP_TABLE[i-6]^QRMath.EXP_TABLE[i-8];} 82 for(var i=0;i<255;i++){QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]]=i;} 83 function QRPolynomial(num,shift){if(num.length==undefined){throw new Error(num.length+"/"+shift);} 84 var offset=0;while(offset<num.length&&num[offset]==0){offset++;} 85 this.num=new Array(num.length-offset+shift);for(var i=0;i<num.length-offset;i++){this.num[i]=num[i+offset];}} 86 QRPolynomial.prototype={get:function(index){return this.num[index];},getLength:function(){return this.num.length;},multiply:function(e){var num=new Array(this.getLength()+e.getLength()-1);for(var i=0;i<this.getLength();i++){for(var j=0;j<e.getLength();j++){num[i+j]^=QRMath.gexp(QRMath.glog(this.get(i))+QRMath.glog(e.get(j)));}} 87 return new QRPolynomial(num,0);},mod:function(e){if(this.getLength()-e.getLength()<0){return this;} 88 var ratio=QRMath.glog(this.get(0))-QRMath.glog(e.get(0));var num=new Array(this.getLength());for(var i=0;i<this.getLength();i++){num[i]=this.get(i);} 89 for(var i=0;i<e.getLength();i++){num[i]^=QRMath.gexp(QRMath.glog(e.get(i))+ratio);} 90 return new QRPolynomial(num,0).mod(e);}};function QRRSBlock(totalCount,dataCount){this.totalCount=totalCount;this.dataCount=dataCount;} 91 QRRSBlock.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];QRRSBlock.getRSBlocks=function(typeNumber,errorCorrectLevel){var rsBlock=QRRSBlock.getRsBlockTable(typeNumber,errorCorrectLevel);if(rsBlock==undefined){throw new Error("bad rs block @ typeNumber:"+typeNumber+"/errorCorrectLevel:"+errorCorrectLevel);} 92 var length=rsBlock.length/3;var list=[];for(var i=0;i<length;i++){var count=rsBlock[i*3+0];var totalCount=rsBlock[i*3+1];var dataCount=rsBlock[i*3+2];for(var j=0;j<count;j++){list.push(new QRRSBlock(totalCount,dataCount));}} 93 return list;};QRRSBlock.getRsBlockTable=function(typeNumber,errorCorrectLevel){switch(errorCorrectLevel){case QRErrorCorrectLevel.L:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+0];case QRErrorCorrectLevel.M:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+1];case QRErrorCorrectLevel.Q:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+2];case QRErrorCorrectLevel.H:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+3];default:return undefined;}};function QRBitBuffer(){this.buffer=[];this.length=0;} 94 QRBitBuffer.prototype={get:function(index){var bufIndex=Math.floor(index/8);return((this.buffer[bufIndex]>>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i<length;i++){this.putBit(((num>>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);} 95 if(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));} 96 this.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]]; 97 98 function _isSupportCanvas() { 99 return typeof CanvasRenderingContext2D != "undefined"; 100 } 101 102 // android 2.x doesn't support Data-URI spec 103 function _getAndroid() { 104 var android = false; 105 var sAgent = navigator.userAgent; 106 107 if (/android/i.test(sAgent)) { // android 108 android = true; 109 aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i); 110 111 if (aMat && aMat[1]) { 112 android = parseFloat(aMat[1]); 113 } 114 } 115 116 return android; 117 } 118 119 // Drawing in DOM by using Table tag 120 var Drawing = !_isSupportCanvas() ? (function () { 121 var Drawing = function (el, htOption) { 122 this._el = el; 123 this._htOption = htOption; 124 }; 125 126 /** 127 * Draw the QRCode 128 * 129 * @param {QRCode} oQRCode 130 */ 131 Drawing.prototype.draw = function (oQRCode) { 132 var _htOption = this._htOption; 133 var _el = this._el; 134 var nCount = oQRCode.getModuleCount(); 135 var nWidth = Math.floor(_htOption.width / nCount); 136 var nHeight = Math.floor(_htOption.height / nCount); 137 var aHTML = ['<table style="border:0;border-collapse:collapse;">']; 138 139 for (var row = 0; row < nCount; row++) { 140 aHTML.push('<tr>'); 141 142 for (var col = 0; col < nCount; col++) { 143 aHTML.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + (oQRCode.isDark(row, col) ? _htOption.colorDark : _htOption.colorLight) + ';"></td>'); 144 } 145 146 aHTML.push('</tr>'); 147 } 148 149 aHTML.push('</table>'); 150 _el.innerHTML = aHTML.join(''); 151 152 // Fix the margin values as real size. 153 var elTable = _el.childNodes[0]; 154 var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2; 155 var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2; 156 157 if (nLeftMarginTable > 0 && nTopMarginTable > 0) { 158 elTable.style.margin = nTopMarginTable + "px " + nLeftMarginTable + "px"; 159 } 160 }; 161 162 /** 163 * Clear the QRCode 164 */ 165 Drawing.prototype.clear = function () { 166 this._el.innerHTML = ''; 167 }; 168 169 return Drawing; 170 })() : (function () { // Drawing in Canvas 171 function _onMakeImage() { 172 this._elImage.src = this._elCanvas.toDataURL("image/png"); 173 this._elImage.style.display = "block"; 174 this._elCanvas.style.display = "none"; 175 } 176 177 // Android 2.1 bug workaround 178 // http://code.google.com/p/android/issues/detail?id=5141 179 if (this._android && this._android <= 2.1) { 180 var factor = 1 / window.devicePixelRatio; 181 var drawImage = CanvasRenderingContext2D.prototype.drawImage; 182 CanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) { 183 if (("nodeName" in image) && /img/i.test(image.nodeName)) { 184 for (var i = arguments.length - 1; i >= 1; i--) { 185 arguments[i] = arguments[i] * factor; 186 } 187 } else if (typeof dw == "undefined") { 188 arguments[1] *= factor; 189 arguments[2] *= factor; 190 arguments[3] *= factor; 191 arguments[4] *= factor; 192 } 193 194 drawImage.apply(this, arguments); 195 }; 196 } 197 198 /** 199 * Check whether the user's browser supports Data URI or not 200 * 201 * @private 202 * @param {Function} fSuccess Occurs if it supports Data URI 203 * @param {Function} fFail Occurs if it doesn't support Data URI 204 */ 205 function _safeSetDataURI(fSuccess, fFail) { 206 var self = this; 207 self._fFail = fFail; 208 self._fSuccess = fSuccess; 209 210 // Check it just once 211 if (self._bSupportDataURI === null) { 212 var el = document.createElement("img"); 213 var fOnError = function() { 214 self._bSupportDataURI = false;
215 216 if (self._fFail) { 217 _fFail.call(self); 218 } 219 }; 220 var fOnSuccess = function() { 221 self._bSupportDataURI = true; 222 223 if (self._fSuccess) { 224 self._fSuccess.call(self); 225 } 226 }; 227 228 el.onabort = fOnError; 229 el.onerror = fOnError; 230 el.onload = fOnSuccess; 231 el.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; // the Image contains 1px data. 232 return; 233 } else if (self._bSupportDataURI === true && self._fSuccess) { 234 self._fSuccess.call(self); 235 } else if (self._bSupportDataURI === false && self._fFail) { 236 self._fFail.call(self); 237 } 238 }; 239 240 /** 241 * Drawing QRCode by using canvas 242 * 243 * @constructor 244 * @param {HTMLElement} el 245 * @param {Object} htOption QRCode Options 246 */ 247 var Drawing = function (el, htOption) { 248 this._bIsPainted = false; 249 this._android = _getAndroid(); 250 251 this._htOption = htOption; 252 this._elCanvas = document.createElement("canvas"); 253 this._elCanvas.width = htOption.width; 254 this._elCanvas.height = htOption.height; 255 el.appendChild(this._elCanvas); 256 this._el = el; 257 this._oContext = this._elCanvas.getContext("2d"); 258 this._bIsPainted = false; 259 this._elImage = document.createElement("img"); 260 this._elImage.style.display = "none"; 261 this._el.appendChild(this._elImage); 262 this._bSupportDataURI = null; 263 }; 264 265 /** 266 * Draw the QRCode 267 * 268 * @param {QRCode} oQRCode 269 */ 270 Drawing.prototype.draw = function (oQRCode) { 271 var _elImage = this._elImage; 272 var _oContext = this._oContext; 273 var _htOption = this._htOption; 274 275 var nCount = oQRCode.getModuleCount(); 276 var nWidth = Math.floor(_htOption.width / nCount); 277 var nHeight = Math.floor(_htOption.height / nCount); 278 var nLeftOffset = Math.floor(_htOption.width % nCount / 2); 279 var nTopOffset = Math.floor(_htOption.height % nCount / 2); 280 _elImage.style.display = "none"; 281 this.clear(); 282 283 for (var row = 0; row < nCount; row++) { 284 for (var col = 0; col < nCount; col++) { 285 var nLeft = col * nWidth + nLeftOffset; 286 var nTop = row * nHeight + nTopOffset; 287 _oContext.fillStyle = oQRCode.isDark(row, col) 288 ? _htOption.colorDark : _htOption.colorLight; 289 _oContext.fillRect(nLeft, nTop, nWidth, nHeight); 290 } 291 } 292 293 this._bIsPainted = true; 294 }; 295 296 /** 297 * Make the image from Canvas if the browser supports Data URI. 298 */ 299 Drawing.prototype.makeImage = function () { 300 if (this._bIsPainted) { 301 _safeSetDataURI.call(this, _onMakeImage); 302 } 303 }; 304 305 /** 306 * Return whether the QRCode is painted or not 307 * 308 * @return {Boolean} 309 */ 310 Drawing.prototype.isPainted = function () { 311 return this._bIsPainted; 312 }; 313 314 /** 315 * Clear the QRCode 316 */ 317 Drawing.prototype.clear = function () { 318 this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height); 319 this._bIsPainted = false; 320 }; 321 322 /** 323 * @private 324 * @param {Number} nNumber 325 */ 326 Drawing.prototype.round = function (nNumber) { 327 if (!nNumber) { 328 return nNumber; 329 } 330 331 return Math.floor(nNumber * 1000) / 1000; 332 }; 333 334 return Drawing; 335 })(); 336 337 /** 338 * Get the type by string length 339 * 340 * @private 341 * @param {String} sText 342 * @param {Number} nCorrectLevel 343 * @return {Number} type 344 */ 345 function _getTypeNumber(sText, nCorrectLevel) { 346 var nType = 1; 347 348 for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) { 349 var nLimit = 0; 350 351 switch (nCorrectLevel) { 352 case QRErrorCorrectLevel.L : 353 nLimit = QRCodeLimitLength[i][0]; 354 break; 355 case QRErrorCorrectLevel.M : 356 nLimit = QRCodeLimitLength[i][1]; 357 break; 358 case QRErrorCorrectLevel.Q : 359 nLimit = QRCodeLimitLength[i][2]; 360 break; 361 case QRErrorCorrectLevel.H : 362 nLimit = QRCodeLimitLength[i][3]; 363 break; 364 } 365 366 if (sText.length <= nLimit) { 367 break; 368 } else { 369 nType++; 370 } 371 } 372 373 if (nType > QRCodeLimitLength.length) { 374 throw new Error("Too long data"); 375 } 376 377 return nType; 378 } 379 380 /** 381 * @class QRCode 382 * @constructor 383 * @example 384 * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie"); 385 * 386 * @example 387 * var oQRCode = new QRCode("test", { 388 * text : "http://naver.com", 389 * width : 128, 390 * height : 128 391 * }); 392 * 393 * oQRCode.clear(); // Clear the QRCode. 394 * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode. 395 * 396 * @param {HTMLElement|String} el target element or 'id' attribute of element. 397 * @param {Object|String} vOption 398 * @param {String} vOption.text QRCode link data 399 * @param {Number} [vOption.width=256] 400 * @param {Number} [vOption.height=256] 401 * @param {String} [vOption.colorDark="#000000"] 402 * @param {String} [vOption.colorLight="#ffffff"] 403 * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] 404 */ 405 QRCode = function (el, vOption) { 406 this._htOption = { 407 width : 256, 408 height : 256, 409 typeNumber : 4, 410 colorDark : "#000000", 411 colorLight : "#ffffff", 412 correctLevel : QRErrorCorrectLevel.H 413 }; 414 415 if (typeof vOption === 'string') { 416 vOption = { 417 text : vOption 418 }; 419 } 420 421 // Overwrites options 422 if (vOption) { 423 for (var i in vOption) { 424 this._htOption[i] = vOption[i]; 425 } 426 } 427 428 if (typeof el == "string") { 429 el = document.getElementById(el); 430 } 431 432 this._android = _getAndroid(); 433 this._el = el; 434 this._oQRCode = null; 435 this._oDrawing = new Drawing(this._el, this._htOption); 436 437 if (this._htOption.text) { 438 this.makeCode(this._htOption.text); 439 } 440 }; 441 442 /** 443 * Make the QRCode 444 * 445 * @param {String} sText link data 446 */ 447 QRCode.prototype.makeCode = function (sText) { 448 var version = _getTypeNumber(sText, this._htOption.correctLevel); 449 if (version < this._htOption.codeMinVersion) 450 version = this._htOption.codeMinVersion; 451 452 this._oQRCode = new QRCodeModel(version, this._htOption.correctLevel); 453 this._oQRCode.addData(sText); 454 this._oQRCode.make(); 455 this._el.title = sText; 456 this._oDrawing.draw(this._oQRCode); 457 this.makeImage(); 458 }; 459 460 /** 461 * Make the Image from Canvas element 462 * - It occurs automatically 463 * - Android below 3 doesn't support Data-URI spec. 464 * 465 * @private 466 */ 467 QRCode.prototype.makeImage = function () { 468 if (typeof this._oDrawing.makeImage == "function" && (!this._android || this._android >= 3)) { 469 this._oDrawing.makeImage(); 470 } 471 }; 472 473 /** 474 * Clear the QRCode 475 */ 476 QRCode.prototype.clear = function () { 477 this._oDrawing.clear(); 478 }; 479 480 /** 481 * @name QRCode.CorrectLevel 482 */ 483 QRCode.CorrectLevel = QRErrorCorrectLevel; 484})(); 485jQuery.extend({ 486 487 488 createUploadIframe: function(id, uri) 489 { 490 //create frame 491 var frameId = 'jUploadFrame' + id; 492 var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"'; 493 if(window.ActiveXObject) 494 { 495 if(typeof uri== 'boolean'){ 496 iframeHtml += ' src="' + 'javascript:false' + '"'; 497 498 } 499 else if(typeof uri== 'string'){ 500 iframeHtml += ' src="' + uri + '"'; 501 502 } 503 } 504 iframeHtml += ' />'; 505 jQuery(iframeHtml).appendTo(document.body); 506 507 return jQuery('#' + frameId).get(0); 508 }, 509 createUploadForm: function(id, fileElementsId, data) 510 { 511 //create form 512 var formId = 'jUploadForm' + id; 513 var fileId = 'jUploadFile' + id; 514 var form = jQuery('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>'); 515 if(data) 516 { 517 for(var i in data) 518 { 519 if(i == "json"){ 520 var ele = document.createElement("input"); 521 ele.type = "hidden"; 522 ele.name = i; 523 ele.value = YAHOO.lang.JSON.stringify(data[i]); 524 jQuery(ele).appendTo(form); 525 }else 526 jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form); 527 } 528 } 529 for(var i in fileElementsId){ 530 var oldElement = jQuery('#' + fileElementsId[i]); 531 var newElement = jQuery(oldElement).clone(); 532 jQuery(oldElement).attr('id', fileId+i); 533 jQuery(oldElement).before(newElement); 534 jQuery(oldElement).appendTo(form); 535 } 536 537 538 //set attributes 539 jQuery(form).css('position', 'absolute');
540 jQuery(form).css('top', '-1200px'); 541 jQuery(form).css('left', '-1200px'); 542 jQuery(form).appendTo('body'); 543 return form; 544 }, 545 546 ajaxFileUpload: function(s) { 547 // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout 548 s = jQuery.extend({}, jQuery.ajaxSettings, s); 549 var id = new Date().getTime() 550 var form = jQuery.createUploadForm(id, s.fileElementsId, (typeof(s.data)=='undefined'?false:s.data)); 551 var io = jQuery.createUploadIframe(id, s.secureuri); 552 var frameId = 'jUploadFrame' + id; 553 var formId = 'jUploadForm' + id; 554 // Watch for a new set of requests 555 if ( s.global && ! jQuery.active++ ) 556 { 557 jQuery.event.trigger( "ajaxStart" ); 558 } 559 var requestDone = false; 560 // Create the request object 561 var xml = {} 562 if ( s.global ) 563 jQuery.event.trigger("ajaxSend", [xml, s]); 564 // Wait for a response to come back 565 var uploadCallback = function(isTimeout) 566 { 567 var io = document.getElementById(frameId); 568 try 569 { 570 /* 571 upload in most browser response comes like below 572 <body><pre>response text</pre></body> 573 574 upload in IE response comes like below 575 <body>response text</body> 576 */ 577 xml.responseText = null; 578 var ioContent = (io.contentWindow || io.contentDocument); 579 if(ioContent) 580 { 581 var ioDocument = (ioContent.document || ioContent); 582 xml.responseText = $(ioDocument.body).text(); 583 } 584 }catch(e) 585 { 586 jQuery.handleError(s, xml, null, e); 587 } 588 if ( xml || isTimeout == "timeout") 589 { 590 requestDone = true; 591 var status; 592 try { 593 status = "success"; 594 // Make sure that the request was successful or notmodified 595 if ( status != "error" ) 596 { 597 // process the data (runs the xml through httpData regardless of callback) 598 var data = jQuery.uploadHttpData( xml, s.dataType ); 599 // If a local callback was specified, fire it and pass it the data 600 if ( s.success ) 601 s.success( data, status ); 602 // Fire the global callback 603 if( s.global ) 604 jQuery.event.trigger( "ajaxSuccess", [xml, s] ); 605 } else 606 jQuery.handleError(s, xml, status); 607 } catch(e) 608 { 609 status = "error"; 610 jQuery.handleError(s, xml, status, e); 611 } 612 613 // The request was completed 614 if( s.global ) 615 jQuery.event.trigger( "ajaxComplete", [xml, s] ); 616 617 // Handle the global AJAX counter 618 if ( s.global && ! --jQuery.active ) 619 jQuery.event.trigger( "ajaxStop" ); 620 621 // Process result 622 if ( s.complete ) 623 s.complete(xml, status); 624 625 jQuery(io).unbind() 626 627 setTimeout(function() 628 { try 629 { 630 jQuery(io).remove(); 631 jQuery(form).remove(); 632 633 } catch(e) 634 { 635 jQuery.handleError(s, xml, null, e); 636 } 637 638 }, 100) 639 640 xml = null 641 642 } 643 } 644 // Timeout checker 645 if ( s.timeout > 0 ) 646 { 647 setTimeout(function(){ 648 // Check to see if the request is still happening 649 if( !requestDone ) uploadCallback( "timeout" ); 650 }, s.timeout); 651 } 652 try 653 { 654 655 var form = jQuery('#' + formId); 656 jQuery(form).attr('action', s.url); 657 jQuery(form).attr('method', 'POST'); 658 jQuery(form).attr('target', frameId); 659 if(form.encoding) 660 { 661 jQuery(form).attr('encoding', 'multipart/form-data'); 662 } 663 else 664 { 665 jQuery(form).attr('enctype', 'multipart/form-data'); 666 } 667 jQuery(form).submit(); 668 669 } catch(e) 670 { 671 jQuery.handleError(s, xml, null, e); 672 } 673 674 jQuery('#' + frameId).load(uploadCallback); 675 return {abort: function () {}}; 676 677 }, 678
vendor: 4,104 bytes, lines 679-698
679 uploadHttpData: function( r, type ) { 680 return r.responseText; 681 } 682}) 683 684/* 685CryptoJS v3.1.2 686code.google.com/p/crypto-js 687(c) 2009-2013 by Jeff Mott. All rights reserved. 688code.google.com/p/crypto-js/wiki/License 689*/ 690var CryptoJS=CryptoJS||function(u,p){var d={},l=d.lib={},s=function(){},t=l.Base={extend:function(a){s.prototype=this;var c=new s;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}, 691r=l.WordArray=t.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=p?c:4*a.length},toString:function(a){return(a||v).stringify(this)},concat:function(a){var c=this.words,e=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var k=0;k<a;k++)c[j+k>>>2]|=(e[k>>>2]>>>24-8*(k%4)&255)<<24-8*((j+k)%4);else if(65535<e.length)for(k=0;k<a;k+=4)c[j+k>>>2]=e[k>>>2];else c.push.apply(c,e);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<< 69232-8*(c%4);a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],e=0;e<a;e+=4)c.push(4294967296*u.random()|0);return new r.init(c,a)}}),w=d.enc={},v=w.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++){var k=c[j>>>2]>>>24-8*(j%4)&255;e.push((k>>>4).toString(16));e.push((k&15).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j+=2)e[j>>>3]|=parseInt(a.substr(j, 6932),16)<<24-4*(j%8);return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++)e.push(String.fromCharCode(c[j>>>2]>>>24-8*(j%4)&255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j++)e[j>>>2]|=(a.charCodeAt(j)&255)<<24-8*(j%4);return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}}, 694q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=x.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k),b=a?u.ceil(b):u.max((b|0)-this._minBufferSize,0);a=b*k;j=u.min(4*a,j);if(a){for(var q=0;q<a;q+=k)this._doProcessBlock(e,q);q=e.splice(0,a);c.sigBytes-=j}return new r.init(q,j)},clone:function(){var a=t.clone.call(this); 695a._data=this._data.clone();return a},_minBufferSize:0});l.Hasher=q.extend({cfg:t.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){q.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,e){return(new a.init(e)).finalize(b)}},_createHmacHelper:function(a){return function(b,e){return(new n.HMAC.init(a, 696e)).finalize(b)}}});var n=d.algo={};return d}(Math); 697(function(){var u=CryptoJS,p=u.lib.WordArray;u.enc.Base64={stringify:function(d){var l=d.words,p=d.sigBytes,t=this._map;d.clamp();d=[];for(var r=0;r<p;r+=3)for(var w=(l[r>>>2]>>>24-8*(r%4)&255)<<16|(l[r+1>>>2]>>>24-8*((r+1)%4)&255)<<8|l[r+2>>>2]>>>24-8*((r+2)%4)&255,v=0;4>v&&r+0.75*v<p;v++)d.push(t.charAt(w>>>6*(3-v)&63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map,t=s.charAt(64);t&&(t=d.indexOf(t),-1!=t&&(l=t));for(var t=[],r=0,w=0;w< 698l;w++)if(w%4){var v=s.indexOf(d.charAt(w-1))<<2*(w%4),b=s.indexOf(d.charAt(w))>>>6-2*(w%4);t[r>>>2]|=(v|b)<<24-8*(r%4);r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
698+/="}})(); 699(function(u){function p(b,n,a,c,e,j,k){b=b+(n&a|~n&c)+e+k;return(b<<j|b>>>32-j)+n}function d(b,n,a,c,e,j,k){b=b+(n&c|a&~c)+e+k;return(b<<j|b>>>32-j)+n}function l(b,n,a,c,e,j,k){b=b+(n^a^c)+e+k;return(b<<j|b>>>32-j)+n}function s(b,n,a,c,e,j,k){b=b+(a^(n|~c))+e+k;return(b<<j|b>>>32-j)+n}for(var t=CryptoJS,r=t.lib,w=r.WordArray,v=r.Hasher,r=t.algo,b=[],x=0;64>x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])}, 700_doProcessBlock:function(q,n){for(var a=0;16>a;a++){var c=n+a,e=q[c];q[c]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360}var a=this._hash.words,c=q[n+0],e=q[n+1],j=q[n+2],k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=a[0],m=a[1],g=a[2],h=a[3],f=p(f,m,g,h,c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]),f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]), 701f=p(f,m,g,h,v,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),m=p(m,g,h,f,x,22,b[15]),f=d(f,m,g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f, 702m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),m=d(m,g,h,f,u,20,b[31]),f=l(f,m,g,h,r,4,b[32]),h=l(h,f,m,g,v,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),m=l(m,g,h,f,j,23,b[47]),f=s(f,m,g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m, 703E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]);a[0]=a[0]+f|0;a[1]=a[1]+m|0;a[2]=a[2]+g|0;a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c>>>5]|=128<<24-c%32;var e=u.floor(a/ 7044294967296);n[(c+64>>>9<<4)+15]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360;n[(c+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;b.sigBytes=4*(n.length+1);this._process();b=this._hash;n=b.words;for(a=0;4>a;a++)c=n[a],n[a]=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360;return b},clone:function(){var b=v.clone.call(this);b._hash=this._hash.clone();return b}});t.MD5=v._createHelper(r);t.HmacMD5=v._createHmacHelper(r)})(Math); 705(function(){var u=CryptoJS,p=u.lib,d=p.Base,l=p.WordArray,p=u.algo,s=p.EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var p=this.cfg,s=p.hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.length<q;){n&&s.update(n);var n=s.update(d).finalize(r);s.reset();for(var a=1;a<p;a++)n=s.finalize(n),s.reset();b.concat(n)}b.sigBytes=4*q;return b}});u.EvpKDF=function(d,l,p){return s.create(p).compute(d, 706l)}})(); 707CryptoJS.lib.Cipher||function(u){var p=CryptoJS,d=p.lib,l=d.Base,s=d.WordArray,t=d.BufferedBlockAlgorithm,r=p.enc.Base64,w=p.algo.EvpKDF,v=d.Cipher=t.extend({cfg:l.extend(),createEncryptor:function(e,a){return this.create(this._ENC_XFORM_MODE,e,a)},createDecryptor:function(e,a){return this.create(this._DEC_XFORM_MODE,e,a)},init:function(e,a,b){this.cfg=this.cfg.extend(b);this._xformMode=e;this._key=a;this.reset()},reset:function(){t.reset.call(this);this._doReset()},process:function(e){this._append(e);return this._process()}, 708finalize:function(e){e&&this._append(e);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(b,k,d){return("string"==typeof k?c:a).encrypt
vendor: 6,444 bytes, lines 708-736
708(e,b,k,d)},decrypt:function(b,k,d){return("string"==typeof k?c:a).decrypt(e,b,k,d)}}}});d.StreamCipher=v.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var b=p.mode={},x=function(e,a,b){var c=this._iv;c?this._iv=u:c=this._prevBlock;for(var d=0;d<b;d++)e[a+d]^= 709c[d]},q=(d.BlockCipherMode=l.extend({createEncryptor:function(e,a){return this.Encryptor.create(e,a)},createDecryptor:function(e,a){return this.Decryptor.create(e,a)},init:function(e,a){this._cipher=e;this._iv=a}})).extend();q.Encryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize;x.call(this,e,a,c);b.encryptBlock(e,a);this._prevBlock=e.slice(a,a+c)}});q.Decryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize,d=e.slice(a,a+c);b.decryptBlock(e,a);x.call(this, 710e,a,c);this._prevBlock=d}});b=b.CBC=q;q=(p.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,l=[],n=0;n<c;n+=4)l.push(d);c=s.create(l,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};d.BlockCipher=v.extend({cfg:v.cfg.extend({mode:b,padding:q}),reset:function(){v.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a, 711this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;return(a?s.create([1398893684, 7121701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},a=d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);b=l.finalize(b);l=l.cfg;return n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})}, 713decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c}).compute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d, 714b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}(); 715(function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256>c;c++)a[c]=128>c?c<<1:c<<1^283;for(var e=0,j=0,c=0;256>c;c++){var k=j^j<<1^j<<2^j<<3^j<<4,k=k>>>8^k&255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y<<24|y>>>8;r[e]=y<<16|y>>>16;w[e]=y<<8|y>>>24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y<<24|y>>>8;x[k]=y<<16|y>>>16;q[k]=y<<8|y>>>24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8, 71616,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;j<a;j++)if(j<d)e[j]=c[j];else{var k=e[j-1];j%d?6<d&&4==j%d&&(k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255]):(k=k<<8|k>>>24,k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255],k^=H[j/d|0]<<24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;d<a;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4>d||4>=j?k:b[l[k>>>24]]^x[l[k>>>16&255]]^q[l[k>>> 7178&255]]^n[l[k&255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;r<m;r++)var q=d[g>>>24]^e[h>>>16&255]^j[k>>>8&255]^l[n&255]^c[p++],s=d[h>>>24]^e[k>>>16&255]^j[n>>>8&255]^l[g&255]^c[p++],t= 718d[k>>>24]^e[n>>>16&255]^j[g>>>8&255]^l[h&255]^c[p++],n=d[n>>>24]^e[g>>>16&255]^j[h>>>8&255]^l[k&255]^c[p++],g=q,h=s,k=t;q=(f[g>>>24]<<24|f[h>>>16&255]<<16|f[k>>>8&255]<<8|f[n&255])^c[p++];s=(f[h>>>24]<<24|f[k>>>16&255]<<16|f[n>>>8&255]<<8|f[g&255])^c[p++];t=(f[k>>>24]<<24|f[n>>>16&255]<<16|f[g>>>8&255]<<8|f[h&255])^c[p++];n=(f[n>>>24]<<24|f[g>>>16&255]<<16|f[h>>>8&255]<<8|f[k&255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})(); 719/* 720Copyright (c) 2017 Thomas Parisot 721 722Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 723associated documentation files (the "Software"), to deal in the Software without restriction, 724including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 725and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 726subject to the following conditions: 727 728The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 729 730THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 731FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 732 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 733 734github.com/oncletom/tld.js/blob/master/LICENSE 735*/ 736(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}
736var 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){window.TLDJS=window.TLDJS||require("tldjs")},{tldjs:2}],2:[function(require,module,exports){"use strict";var Trie=require("./lib/suffix-trie.js");var allRules=Trie.fromJson(require("./rules.json"));var extractHostname=require("./lib/clean-host.js");var getDomain=require("./lib/domain.js");var getPublicSuffix=require("./lib/public-suffix.js");var getSubdomain=require("./lib/subdomain.js");var isValid=require("./lib/is-valid.js");var isIp=require("./lib/is-ip.js");var tldExists=require("./lib/tld-exists.js");var TLD_EXISTS=1;var PUBLIC_SUFFIX=2;var DOMAIN=3;var SUB_DOMAIN=4;var ALL=5;function factory(options){var rules=options.rules||allRules||{};var validHosts=options.validHosts||[];var _extractHostname=options.extractHostname||extractHostname;function parse(url,_step){var step=_step||ALL;var result={hostname:_extractHostname(url),isValid:null,isIp:null,tldExists:false,publicSuffix:null,domain:null,subdomain:null};if(result.hostname===null){result.isIp=false;result.isValid=false;return result}result.isIp=isIp(result.hostname);if(result.isIp){result.isValid=true;return result}result.isValid=isValid(result.hostname);if(result.isValid===false)return result;if(step===ALL||step===TLD_EXISTS){result.tldExists=tldExists(rules,result.hostname)}if(step===TLD_EXISTS)return result;result.publicSuffix=getPublicSuffix(rules,result.hostname);if(step===PUBLIC_SUFFIX)return result;result.domain=getDomain(validHosts,result.publicSuffix,result.hostname);if(step===DOMAIN)return result;result.subdomain=getSubdomain(result.hostname,result.domain);return result}return{extractHostname:_extractHostname,isValid:isValid,parse:parse,tldExists:function(url){return parse(url,TLD_EXISTS).tldExists},getPublicSuffix:function(url){return parse(url,PUBLIC_SUFFIX).publicSuffix},getDomain:function(url){return parse(url,DOMAIN).domain},getSubdomain:function(url){return parse(url,SUB_DOMAIN).subdomain},fromUserSettings:factory}}module.exports=factory({})},{"./lib/clean-host.js":3,"./lib/domain.js":4,"./lib/is-ip.js":6,"./lib/is-valid.js":7,"./lib/public-suffix.js":8,"./lib/subdomain.js":9,"./lib/suffix-trie.js":10,"./lib/tld-exists.js":11,"./rules.json":12}],3:[function(require,module,exports){var URL=require("url");var isValid=require("./is-valid.js");var hasPrefixRE=/^(([a-z][a-z0-9+.-]*)?:)?\/\//;function trimTrailingDots(value){if(value[value.length-1]==="."){return value.substr(0,value.length-1)}return value}function checkTrimmingNeeded(value){return value.length>0&&(value.charCodeAt(0)<=32||value.charCodeAt(value.length-1)<=32)}function checkLowerCaseNeeded(value){for(var i=0;i<value.length;i+=1){var code=value.charCodeAt(i);if(code>=65&&code<=90){return true}}return false}module.exports=function extractHostname(value){if(isValid(value)){return trimTrailingDots(value)}var url=value;if(typeof url!=="string"){url=""+url}var needsTrimming=checkTrimmingNeeded(url);if(needsTrimming){url=url.trim()}var needsLowerCase=checkLowerCaseNeeded(url);if(needsLowerCase){url=url.toLowerCase()}if((needsLowerCase||needsTrimming)&&isValid(url)){return trimTrailingDots(url)}if(!hasPrefixRE.test(url)){url="//"+url}var parts=URL.parse(url,null,true);if(parts.hostname){return trimTrailingDots(parts.hostname)}return null}},{"./is-valid.js":7,url:17}],4:[function(require,module,exports){"use strict";function endsWith(str,pattern){return str.lastIndexOf(pattern)===str.length-pattern.length}function shareSameDomainSuffix(hostname,vhost){if(endsWith(hostname,vhost)){return hostname.length===vhost.length||hostname[hostname.length-vhost.length-1]==="."}return false}function extractDomainWithSuffix(hostname,publicSuffix){var publicSuffixIndex=hostname.length-publicSuffix.length-2;var lastDotBeforeSuffixIndex=hostname.lastIndexOf(".",publicSuffixIndex);if(lastDotBeforeSuffixIndex===-1){return hostname}return hostname.substr(lastDotBeforeSuffixIndex+1)}module.exports=function getDomain(validHosts,suffix,hostname){for(var i=0;i<validHosts.length;i+=1){var vhost=validHosts[i];if(shareSameDomainSuffix(hostname,vhost)){return vhost}}if(suffix===null){return null}
736if(suffix.length===hostname.length){return null}return extractDomainWithSuffix(hostname,suffix)}},{}],5:[function(require,module,exports){"use strict";module.exports=function extractTldFromHost(hostname){var lastDotIndex=hostname.lastIndexOf(".");if(lastDotIndex===-1){return null}return hostname.substr(lastDotIndex+1)}},{}],6:[function(require,module,exports){"use strict";function isProbablyIpv4(hostname){var numberOfDots=0;for(var i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(code===46){numberOfDots+=1}else if(code<48||code>57){return false}}return numberOfDots===3&&hostname[0]!=="."&&hostname[hostname.length-1]!=="."}function isProbablyIpv6(hostname){var hasColon=false;for(var i=0;i<hostname.length;i+=1){var code=hostname.charCodeAt(i);if(code===58){hasColon=true}else if(!(code>=48&&code<=57||code>=97&&code<=102)){return false}}return hasColon}module.exports=function isIp(hostname){if(typeof hostname!=="string"){return false}if(hostname.length===0){return false}return isProbablyIpv6(hostname)||isProbablyIpv4(hostname)}},{}],7:[function(require,module,exports){"use strict";function isDigit(code){return code>=48&&code<=57}function isAlpha(code){return code>=97&&code<=122}module.exports=function isValid(hostname){if(typeof hostname!=="string"){return false}if(hostname.length>255){return false}if(hostname.length===0){return false}var firstCharCode=hostname.charCodeAt(0);if(!(isAlpha(firstCharCode)||isDigit(firstCharCode))){return false}var lastDotIndex=-1;var lastCharCode;var code;var len=hostname.length;for(var i=0;i<len;i+=1){code=hostname.charCodeAt(i);if(code===46){if(i-lastDotIndex>64||lastCharCode===46||lastCharCode===45){return false}lastDotIndex=i}else if(!(isAlpha(code)||isDigit(code)||code===45)){return false}lastCharCode=code}return len-lastDotIndex-1<=63&&lastCharCode!==45}},{}],8:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function getPublicSuffix(rules,hostname){if(rules.hasTld(hostname)){return hostname}var candidate=rules.suffixLookup(hostname);if(candidate===null){return extractTldFromHost(hostname)}return candidate}},{"./from-host.js":5}],9:[function(require,module,exports){"use strict";module.exports=function getSubdomain(hostname,domain){if(domain===null){return null}return hostname.substr(0,hostname.length-domain.length-1)}},{}],10:[function(require,module,exports){"use strict";var VALID_HOSTNAME_VALUE=0;function minIndex(a,b){if(a===null){return b}else if(b===null){return a}return a<b?a:b}function insertInTrie(rule,trie){var parts=rule.parts;var node=trie;for(var i=0;i<parts.length;i+=1){var part=parts[i];var nextNode=node[part];if(nextNode===undefined){nextNode=Object.create(null);node[part]=nextNode}node=nextNode}node.$=VALID_HOSTNAME_VALUE;return trie}function lookupInTrie(parts,trie,index){var part;var nextNode;var publicSuffixIndex=null;if(trie.$!==undefined){publicSuffixIndex=index+1}if(index===-1){return publicSuffixIndex}part=parts[index];nextNode=trie[part];if(nextNode!==undefined){publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))}nextNode=trie["*"];if(nextNode!==undefined){publicSuffixIndex=minIndex(publicSuffixIndex,lookupInTrie(parts,nextNode,index-1))}return publicSuffixIndex}function SuffixTrie(rules){this.exceptions=Object.create(null);this.rules=Object.create(null);if(rules){for(var i=0;i<rules.length;i+=1){var rule=rules[i];if(rule.exception){insertInTrie(rule,this.exceptions)}else{insertInTrie(rule,this.rules)}}}}SuffixTrie.fromJson=function(json){var trie=new SuffixTrie;trie.exceptions=json.exceptions;trie.rules=json.rules;return trie};SuffixTrie.prototype.hasTld=function(value){return this.rules[value]!==undefined};SuffixTrie.prototype.suffixLookup=function(hostname){var parts=hostname.split(".");var publicSuffixIndex=lookupInTrie(parts,this.rules,parts.length-1);if(publicSuffixIndex===null){return null}var exceptionIndex=lookupInTrie(parts,this.exceptions,parts.length-1);if(exceptionIndex!==null){return parts.slice(exceptionIndex+1).join(".")}return parts.slice(publicSuffixIndex).join(".")};module.exports=SuffixTrie},{}],11:[function(require,module,exports){"use strict";var extractTldFromHost=require("./from-host.js");module.exports=function tldExists(rules,hostname){if(rules.hasTld(hostname)){return true}var hostTld=extractTldFromHost(hostname);if(hostTld===null){return false}return rules.hasTld(hostTld)}},{"./from-host.js":5}],12:[function(require,module,exports){module.exports={exceptions:{ck:{www:{$:0}},jp:{kawasaki:{city:{$:0}},kitakyushu:{city:{$:0}},kobe:{city:{$:0}},nagoya:{city:{$:0}},sapporo:{city:{$:0}},sendai:{city:{$:0}},yokohama:{city:{$:0}}}},rules:{ac:{$:0,com:{$:0},edu:{$:0},gov:{$:0}
736,net:{$:0},mil:{$:0},org:{$:0}},ad:{$:0,nom:{$:0}},ae:{$:0,co:{$:0},net:{$:0},org:{$:0},sch:{$:0},ac:{$:0},gov:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},aero:{$:0,"accident-investigation":{$:0},"accident-prevention":{$:0},aerobatic:{$:0},aeroclub:{$:0},aerodrome:{$:0},agents:{$:0},aircraft:{$:0},airline:{$:0},airport:{$:0},"air-surveillance":{$:0},airtraffic:{$:0},"air-traffic-control":{$:0},ambulance:{$:0},amusement:{$:0},association:{$:0},author:{$:0},ballooning:{$:0},broker:{$:0},caa:{$:0},cargo:{$:0},catering:{$:0},certification:{$:0},championship:{$:0},charter:{$:0},civilaviation:{$:0},club:{$:0},conference:{$:0},consultant:{$:0},consulting:{$:0},control:{$:0},council:{$:0},crew:{$:0},design:{$:0},dgca:{$:0},educator:{$:0},emergency:{$:0},engine:{$:0},engineer:{$:0},entertainment:{$:0},equipment:{$:0},exchange:{$:0},express:{$:0},federation:{$:0},flight:{$:0},freight:{$:0},fuel:{$:0},gliding:{$:0},government:{$:0},groundhandling:{$:0},group:{$:0},hanggliding:{$:0},homebuilt:{$:0},insurance:{$:0},journal:{$:0},journalist:{$:0},leasing:{$:0},logistics:{$:0},magazine:{$:0},maintenance:{$:0},media:{$:0},microlight:{$:0},modelling:{$:0},navigation:{$:0},parachuting:{$:0},paragliding:{$:0},"passenger-association":{$:0},pilot:{$:0},press:{$:0},production:{$:0},recreation:{$:0},repbody:{$:0},res:{$:0},research:{$:0},rotorcraft:{$:0},safety:{$:0},scientist:{$:0},services:{$:0},show:{$:0},skydiving:{$:0},software:{$:0},student:{$:0},trader:{$:0},trading:{$:0},trainer:{$:0},union:{$:0},workinggroup:{$:0},works:{$:0}},af:{$:0,gov:{$:0},com:{$:0},org:{$:0}
vendor: 2,434 bytes, line 736
736,net:{$:0},edu:{$:0}},ag:{$:0,com:{$:0},org:{$:0},net:{$:0},co:{$:0},nom:{$:0}},ai:{$:0,off:{$:0},com:{$:0},net:{$:0},org:{$:0},nom:{$:0}},al:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},am:{$:0,blogspot:{$:0}},ao:{$:0,ed:{$:0},gv:{$:0},og:{$:0},co:{$:0},pb:{$:0},it:{$:0}},aq:{$:0},ar:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gob:{$:0},gov:{$:0},int:{$:0},mil:{$:0},musica:{$:0},net:{$:0},org:{$:0},tur:{$:0}},arpa:{$:0,e164:{$:0},"in-addr":{$:0},ip6:{$:0},iris:{$:0},uri:{$:0},urn:{$:0}},as:{$:0,gov:{$:0}},asia:{$:0,cloudns:{$:0}},at:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gv:{$:0},or:{$:0},futurecms:{"*":{$:0}},futurehosting:{$:0},futuremailing:{$:0},ortsinfo:{ex:{"*":{$:0}},kunden:{"*":{$:0}}},biz:{$:0},info:{$:0},priv:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},au:{$:0,com:{$:0,blogspot:{$:0}},net:{$:0},org:{$:0},edu:{$:0,act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},gov:{$:0,qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},asn:{$:0},id:{$:0},info:{$:0},conf:{$:0},oz:{$:0},act:{$:0},nsw:{$:0},nt:{$:0},qld:{$:0},sa:{$:0},tas:{$:0},vic:{$:0},wa:{$:0}},aw:{$:0,com:{$:0}},ax:{$:0},az:{$:0,com:{$:0},net:{$:0},int:{$:0},gov:{$:0},org:{$:0},edu:{$:0},info:{$:0},pp:{$:0},mil:{$:0},name:{$:0},pro:{$:0},biz:{$:0}},ba:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},blogspot:{$:0}},bb:{$:0,biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},net:{$:0},org:{$:0},store:{$:0},tv:{$:0}},bd:{"*":{$:0}},be:{$:0,ac:{$:0},webhosting:{$:0},blogspot:{$:0},transurl:{"*":{$:0}}},bf:{$:0,gov:{$:0}},bg:{0:{$:0},1:{$:0},2:{$:0},3:{$:0},4:{$:0},5:{$:0},6:{$:0},7:{$:0},8:{$:0},9:{$:0},$:0,a:{$:0},b:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},g:{$:0},h:{$:0},i:{$:0},j:{$:0},k:{$:0},l:{$:0},m:{$:0},n:{$:0},o:{$:0},p:{$:0},q:{$:0},r:{$:0},s:{$:0},t:{$:0},u:{$:0},v:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},blogspot:{$:0},barsy:{$:0}},bh:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0}},bi:{$:0,co:{$:0},com:{$:0},edu:{$:0},or:{$:0},org:{$:0}},biz:{$:0,cloudns:{$:0},dyndns:{$:0},"for-better":{$:0},"for-more":{$:0},"for-some":{$:0},"for-the":{$:0},selfip:{$:0},webhop:{$:0},mmafan:{$:0},myftp:{$:0},"no-ip":{$:0},dscloud:{$:0}},bj:{$:0,asso:{$:0},barreau:{$:0},gouv:{$:0},blogspot:{$:0}},bm:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bn:{"*":{$:0}},bo:{$:0,com:{$:0},edu:{$:0},gob:{$:0},int:{$:0},org:{$:0}
736,net:{$:0},mil:{$:0},tv:{$:0},web:{$:0},academia:{$:0},agro:{$:0},arte:{$:0},blog:{$:0},bolivia:{$:0},ciencia:{$:0},cooperativa:{$:0},democracia:{$:0},deporte:{$:0},ecologia:{$:0},economia:{$:0},empresa:{$:0},indigena:{$:0},industria:{$:0},info:{$:0},medicina:{$:0},movimiento:{$:0},musica:{$:0},natural:{$:0},nombre:{$:0},noticias:{$:0},patria:{$:0},politica:{$:0},profesional:{$:0},plurinacional:{$:0},pueblo:{$:0},revista:{$:0},salud:{$:0},tecnologia:{$:0},tksat:{$:0},transporte:{$:0},wiki:{$:0}},br:{$:0,"9guacu":{$:0},abc:{$:0},adm:{$:0},adv:{$:0},agr:{$:0},aju:{$:0},am:{$:0},anani:{$:0},aparecida:{$:0},arq:{$:0},art:{$:0},ato:{$:0},b:{$:0},belem:{$:0},bhz:{$:0},bio:{$:0},blog:{$:0},bmd:{$:0},boavista:{$:0},bsb:{$:0},campinagrande:{$:0},campinas:{$:0},caxias:{$:0},cim:{$:0},cng:{$:0},cnt:{$:0},com:{$:0,blogspot:{$:0}},contagem:{$:0},coop:{$:0},cri:{$:0},cuiaba:{$:0},curitiba:{$:0},def:{$:0},ecn:{$:0},eco:{$:0},edu:{$:0},emp:{$:0},eng:{$:0},esp:{$:0},etc:{$:0},eti:{$:0},far:{$:0},feira:{$:0},flog:{$:0},floripa:{$:0},fm:{$:0},fnd:{$:0},fortal:{$:0},fot:{$:0},foz:{$:0},fst:{$:0},g12:{$:0},ggf:{$:0},goiania:{$:0},gov:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},gru:{$:0},imb:{$:0},ind:{$:0},inf:{$:0},jab:{$:0},jampa:{$:0},jdf:{$:0},joinville:{$:0},jor:{$:0},jus:{$:0},leg:{$:0,ac:{$:0},al:{$:0},am:{$:0},ap:{$:0},ba:{$:0},ce:{$:0},df:{$:0},es:{$:0},go:{$:0},ma:{$:0},mg:{$:0},ms:{$:0},mt:{$:0},pa:{$:0},pb:{$:0},pe:{$:0},pi:{$:0},pr:{$:0},rj:{$:0},rn:{$:0},ro:{$:0},rr:{$:0},rs:{$:0},sc:{$:0},se:{$:0},sp:{$:0},to:{$:0}},lel:{$:0},londrina:{$:0},macapa:{$:0},maceio:{$:0},manaus:{$:0},maringa:{$:0},mat:{$:0},med:{$:0},mil:{$:0},morena:{$:0},mp:{$:0},mus:{$:0},natal:{$:0},net:{$:0},niteroi:{$:0},nom:{"*":{$:0}},not:{$:0},ntr:{$:0},odo:{$:0},org:{$:0},osasco:{$:0},palmas:{$:0},poa:{$:0},ppg:{$:0},pro:{$:0},psc:{$:0},psi:{$:0},pvh:{$:0},qsl:{$:0},radio:{$:0},rec:{$:0},recife:{$:0},ribeirao:{$:0},rio:{$:0},riobranco:{$:0},riopreto:{$:0},salvador:{$:0},sampa:{$:0},santamaria:{$:0},santoandre:{$:0},saobernardo:{$:0},saogonca:{$:0},sjc:{$:0},slg:{$:0},slz:{$:0},sorocaba:{$:0},srv:{$:0},taxi:{$:0},teo:{$:0},the:{$:0},tmp:{$:0},trd:{$:0},tur:{$:0},tv:{$:0},udi:{$:0},vet:{$:0},vix:{$:0},vlog:{$:0},wiki:{$:0},zlg:{$:0}},bs:{$:0,com:{$:0}
vendor: 11,922 bytes, line 736
736,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},we:{$:0}},bt:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},bv:{$:0},bw:{$:0,co:{$:0},org:{$:0}},by:{$:0,gov:{$:0},mil:{$:0},com:{$:0,blogspot:{$:0}},of:{$:0},nym:{$:0}},bz:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},za:{$:0},nym:{$:0}},ca:{$:0,ab:{$:0},bc:{$:0},mb:{$:0},nb:{$:0},nf:{$:0},nl:{$:0},ns:{$:0},nt:{$:0},nu:{$:0},on:{$:0},pe:{$:0},qc:{$:0},sk:{$:0},yk:{$:0},gc:{$:0},"1password":{$:0},awdev:{"*":{$:0}},co:{$:0},blogspot:{$:0},"no-ip":{$:0}},cat:{$:0},cc:{$:0,cloudns:{$:0},ftpaccess:{$:0},"game-server":{$:0},myphotos:{$:0},scrapping:{$:0},twmail:{$:0},fantasyleague:{$:0}},cd:{$:0,gov:{$:0}},cf:{$:0,blogspot:{$:0}},cg:{$:0},ch:{$:0,square7:{$:0},blogspot:{$:0},gotdns:{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0}},ci:{$:0,org:{$:0},or:{$:0},com:{$:0},co:{$:0},edu:{$:0},ed:{$:0},ac:{$:0},net:{$:0},go:{$:0},asso:{$:0},"xn--aroport-bya":{$:0},int:{$:0},presse:{$:0},md:{$:0},gouv:{$:0}},ck:{"*":{$:0}},cl:{$:0,gov:{$:0},gob:{$:0},co:{$:0},mil:{$:0},blogspot:{$:0},nom:{$:0}},cm:{$:0,co:{$:0},com:{$:0},gov:{$:0},net:{$:0}},cn:{$:0,ac:{$:0},com:{$:0,amazonaws:{compute:{"*":{$:0}},eb:{"cn-north-1":{$:0}},elb:{"*":{$:0}},"cn-north-1":{s3:{$:0}}}},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0},mil:{$:0},"xn--55qx5d":{$:0},"xn--io0a7i":{$:0},"xn--od0alg":{$:0},ah:{$:0},bj:{$:0},cq:{$:0},fj:{$:0},gd:{$:0},gs:{$:0},gz:{$:0},gx:{$:0},ha:{$:0},hb:{$:0},he:{$:0},hi:{$:0},hl:{$:0},hn:{$:0},jl:{$:0},js:{$:0},jx:{$:0},ln:{$:0},nm:{$:0},nx:{$:0},qh:{$:0},sc:{$:0},sd:{$:0},sh:{$:0},sn:{$:0},sx:{$:0},tj:{$:0},xj:{$:0},xz:{$:0},yn:{$:0},zj:{$:0},hk:{$:0},mo:{$:0},tw:{$:0}},co:{$:0,arts:{$:0},com:{$:0,blogspot:{$:0}},edu:{$:0},firm:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},rec:{$:0},web:{$:0},nodum:{$:0}},com:{$:0,"1password":{$:0},amazonaws:{compute:{"*":{$:0}},"compute-1":{"*":{$:0}},"us-east-1":{$:0,dualstack:{s3:{$:0}}},elb:{"*":{$:0}},s3:{$:0},"s3-ap-northeast-1":{$:0},"s3-ap-northeast-2":{$:0},"s3-ap-south-1":{$:0},"s3-ap-southeast-1":{$:0},"s3-ap-southeast-2":{$:0},"s3-ca-central-1":{$:0},"s3-eu-central-1":{$:0},"s3-eu-west-1":{$:0},"s3-eu-west-2":{$:0},"s3-eu-west-3":{$:0},"s3-external-1":{$:0},"s3-fips-us-gov-west-1":{$:0},"s3-sa-east-1":{$:0},"s3-us-gov-west-1":{$:0},"s3-us-east-2":{$:0},"s3-us-west-1":{$:0},"s3-us-west-2":{$:0},"ap-northeast-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-south-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ca-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-central-1":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"eu-west-3":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"us-east-2":{s3:{$:0},dualstack:{s3:{$:0}},"s3-website":{$:0}},"ap-northeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-1":{dualstack:{s3:{$:0}}},"ap-southeast-2":{dualstack:{s3:{$:0}}},"eu-west-1":{dualstack:{s3:{$:0}}},"sa-east-1":{dualstack:{s3:{$:0}}},"s3-website-us-east-1":{$:0},"s3-website-us-west-1":{$:0},"s3-website-us-west-2":{$:0},"s3-website-ap-northeast-1":{$:0},"s3-website-ap-southeast-1":{$:0},"s3-website-ap-southeast-2":{$:0},"s3-website-eu-west-1":{$:0},"s3-website-sa-east-1":{$:0}},elasticbeanstalk:{$:0,"ap-northeast-1":{$:0},"ap-northeast-2":{$:0},"ap-south-1":{$:0},"ap-southeast-1":{$:0},"ap-southeast-2":{$:0},"ca-central-1":{$:0},"eu-central-1":{$:0},"eu-west-1":{$:0},"eu-west-2":{$:0},"eu-west-3":{$:0},"sa-east-1":{$:0},"us-east-1":{$:0},"us-east-2":{$:0},"us-gov-west-1":{$:0},"us-west-1":{$:0},"us-west-2":{$:0}},"on-aptible":{$:0},myasustor:{$:0},betainabox:{$:0},bplaced:{$:0},ar:{$:0},br:{$:0},cn:{$:0},de:{$:0},eu:{$:0},gb:{$:0},hu:{$:0},jpn:{$:0},kr:{$:0},mex:{$:0},no:{$:0},qc:{$:0},ru:{$:0},sa:{$:0},se:{$:0},uk:{$:0},us:{$:0},uy:{$:0},za:{$:0},africa:{$:0},gr:{$:0},co:{$:0},xenapponazure:{$:0},jdevcloud:{$:0},wpdevcloud:{$:0},cloudcontrolled:{$:0},cloudcontrolapp:{$:0},drayddns:{$:0},dreamhosters:{$:0},mydrobo:{$:0},"dyndns-at-home":{$:0},"dyndns-at-work":{$:0},"dyndns-blog":{$:0},"dyndns-free":{$:0},"dyndns-home":{$:0},"dyndns-ip":{$:0},"dyndns-mail":{$:0},"dyndns-office":{$:0},"dyndns-pics":{$:0},"dyndns-remote":{$:0},"dyndns-server":{$:0},"dyndns-web":{$:0},"dyndns-wiki":{$:0},"dyndns-work":{$:0},blogdns:{$:0},cechire:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},"dyn-o-saur":{$:0},dynalias:{$:0},"est-a-la-maison":{$:0},"est-a-la-masion":{$:0},"est-le-patron":{$:0},"est-mon-blogueur":{$:0},"from-ak":{$:0},"from-al":{$:0},"from-ar":{$:0},"from-ca":{$:0},"from-ct":{$:0},"from-dc":{$:0},"from-de":{$:0},"from-fl":{$:0},"from-ga":{$:0},"from-hi":{$:0},"from-ia":{$:0},"from-id":{$:0},"from-il":{$:0},"from-in":{$:0},"from-ks":{$:0},"from-ky":{$:0},"from-ma":{$:0},"from-md":{$:0},"from-mi":{$:0},"from-mn":{$:0},"from-mo":{$:0},"from-ms":{$:0},"from-mt":{$:0},"from-nc":{$:0},"from-nd":{$:0},"from-ne":{$:0},"from-nh":{$:0},"from-nj":{$:0},"from-nm":{$:0},"from-nv":{$:0},"from-oh":{$:0},"from-ok":{$:0},"from-or":{$:0},"from-pa":{$:0},"from-pr":{$:0},"from-ri":{$:0},"from-sc":{$:0},"from-sd":{$:0},"from-tn":{$:0},"from-tx":{$:0},"from-ut":{$:0},"from-va":{$:0},"from-vt":{$:0},"from-wa":{$:0},"from-wi":{$:0},"from-wv":{$:0},"from-wy":{$:0},getmyip:{$:0},gotdns:{$:0},"hobby-site":{$:0},homelinux:{$:0},homeunix:{$:0},iamallama:{$:0},"is-a-anarchist":{$:0},"is-a-blogger":{$:0},"is-a-bookkeeper":{$:0},"is-a-bulls-fan":{$:0},"is-a-caterer":{$:0},"is-a-chef":{$:0},"is-a-conservative":{$:0},"is-a-cpa":{$:0},"is-a-cubicle-slave":{$:0},"is-a-democrat":{$:0},"is-a-designer":{$:0},"is-a-doctor":{$:0},"is-a-financialadvisor":{$:0},"is-a-geek":{$:0},"is-a-green":{$:0},"is-a-guru":{$:0},"is-a-hard-worker":{$:0},"is-a-hunter":{$:0},"is-a-landscaper":{$:0},"is-a-lawyer":{$:0},"is-a-liberal":{$:0},"is-a-libertarian":{$:0},"is-a-llama":{$:0},"is-a-musician":{$:0},"is-a-nascarfan":{$:0},"is-a-nurse":{$:0},"is-a-painter":{$:0},"is-a-personaltrainer":{$:0},"is-a-photographer":{$:0},"is-a-player":{$:0},"is-a-republican":{$:0},"is-a-rockstar":{$:0},"is-a-socialist":{$:0},"is-a-student":{$:0},"is-a-teacher":{$:0},"is-a-techie":{$:0},"is-a-therapist":{$:0},"is-an-accountant":{$:0},"is-an-actor":{$:0},"is-an-actress":{$:0},"is-an-anarchist":{$:0},"is-an-artist":{$:0},"is-an-engineer":{$:0},"is-an-entertainer":{$:0},"is-certified":{$:0},"is-gone":{$:0},"is-into-anime":{$:0},"is-into-cars":{$:0},"is-into-cartoons":{$:0},"is-into-games":{$:0},"is-leet":{$:0},"is-not-certified":{$:0},"is-slick":{$:0},"is-uberleet":{$:0},"is-with-theband":{$:0},"isa-geek":{$:0},"isa-hockeynut":{$:0},issmarterthanyou:{$:0},"likes-pie":{$:0},likescandy:{$:0},"neat-url":{$:0},"saves-the-whales":{$:0},selfip:{$:0},"sells-for-less":{$:0},"sells-for-u":{$:0},servebbs:{$:0},"simple-url":{$:0},"space-to-rent":{$:0},"teaches-yoga":{$:0},writesthisblog:{$:0},ddnsfree:{$:0},ddnsgeek:{$:0},giize:{$:0},gleeze:{$:0},kozow:{$:0},loseyourip:{$:0},ooguy:{$:0},theworkpc:{$:0},mytuleap:{$:0},evennode:{"eu-1":{$:0},"eu-2":{$:0},"eu-3":{$:0},"eu-4":{$:0},"us-1":{$:0},"us-2":{$:0},"us-3":{$:0},"us-4":{$:0}},fbsbx:{apps:{$:0}},firebaseapp:{$:0},flynnhub:{$:0},"freebox-os":{$:0},freeboxos:{$:0},githubusercontent:{$:0},"0emm":{"*":{$:0}},appspot:{$:0},blogspot:{$:0},codespot:{$:0},googleapis:{$:0},googlecode:{$:0},pagespeedmobilizer:{$:0},publishproxy:{$:0},withgoogle:{$:0},withyoutube:{$:0},herokuapp:{$:0},herokussl:{$:0},pixolino:{$:0},joyent:{cns:{"*":{$:0}}},barsyonline:{$:0},meteorapp:{$:0,eu:{$:0}},bitballoon:{$:0},netlify:{$:0},"4u":{$:0},nfshost:{$:0},blogsyte:{$:0},ciscofreak:{$:0},damnserver:{$:0},ditchyourip:{$:0},dnsiskinky:{$:0},dynns:{$:0},geekgalaxy:{$:0},"health-carereform":{$:0},homesecuritymac:{$:0},homesecuritypc:{$:0},myactivedirectory:{$:0},mysecuritycamera:{$:0},"net-freaks":{$:0},onthewifi:{$:0},point2this:{$:0},quicksytes:{$:0},securitytactics:{$:0},serveexchange:{$:0},servehumour:{$:0},servep2p:{$:0},servesarcasm:{$:0},stufftoread:{$:0},unusualperson:{$:0},workisboring:{$:0},"3utilities":{$:0},ddnsking:{$:0},myvnc:{$:0},servebeer:{$:0},servecounterstrike:{$:0},serveftp:{$:0},servegame:{$:0},servehalflife:{$:0},servehttp:{$:0},serveirc:{$:0},servemp3:{$:0},servepics:{$:0},servequake:{$:0},operaunite:{$:0},outsystemscloud:{$:0},ownprovider:{$:0},pgfog:{$:0},pagefrontapp:{$:0},gotpantheon:{$:0},prgmr:{xen:{$:0}},qa2:{$:0},"dev-myqnapcloud":{$:0},"alpha-myqnapcloud":{$:0},myqnapcloud:{$:0},quipelements:{"*":{$:0}},rackmaze:{$:0},rhcloud:{$:0},logoip:{$:0},scrysec:{$:0},"firewall-gateway":{$:0},myshopblocks:{$:0},"1kapp":{$:0},appchizi:{$:0},applinzi:{$:0},sinaapp:{$:0},vipsinaapp:{$:0},"bounty-full":{$:0,alpha:{$:0},beta:{$:0}},"temp-dns":{$:0},dsmynas:{$:0},familyds:{$:0},bloxcms:{$:0},"townnews-staging":{$:0},hk:{$:0},remotewd:{$:0},yolasite:{$:0}},coop:{$:0},cr:{$:0,ac:{$:0},co:{$:0},ed:{$:0},fi:{$:0},go:{$:0},or:{$:0},sa:{$:0}},cu:{$:0,com:{$:0},edu:{$:0},org:{$:0},net:{$:0},gov:{$:0},inf:{$:0}},cv:{$:0,blogspot:{$:0}},cw:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},cx:{$:0,gov:{$:0},ath:{$:0},info:{$:0}},cy:{$:0,ac:{$:0},biz:{$:0},com:{$:0,blogspot:{$:0}},ekloges:{$:0},gov:{$:0},ltd:{$:0},name:{$:0},net:{$:0},org:{$:0},parliament:{$:0},press:{$:0},pro:{$:0},tm:{$:0}},cz:{$:0,co:{$:0},realm:{$:0},e4:{$:0},blogspot:{$:0},metacentrum:{cloud:{$:0},custom:{$:0}}},de:{$:0,bplaced:{$:0},square7:{$:0},com:{$:0},cosidns:{dyn:{$:0}},"dynamisches-dns":{$:0},dnsupdater:{$:0},"internet-dns":{$:0},"l-o-g-i-n":{$:0},dnshome:{$:0},fuettertdasnetz:{$:0},isteingeek:{$:0},istmein:{$:0},lebtimnetz:{$:0},leitungsen:{$:0},traeumtgerade:{$:0},ddnss:{$:0,dyn:{$:0},dyndns:{$:0}},dyndns1:{$:0},"dyn-ip24":{$:0},"home-webserver":{$:0,dyn:{$:0}},"myhome-server":{$:0},goip:{$:0},blogspot:{$:0},keymachine:{$:0},"git-repos":{$:0},"lcube-server":{$:0},"svn-repos":{$:0},barsy:{$:0},logoip:{$:0},"firewall-gateway":{$:0},"my-gateway":{$:0},"my-router":{$:0},spdns:{$:0},"taifun-dns":{$:0},"12hp":{$:0},"2ix":{$:0},"4lima":{$:0},"lima-city":{$:0},"dd-dns":{$:0},"dray-dns":{$:0},draydns:{$:0},"dyn-vpn":{$:0},dynvpn:{$:0},"mein-vigor":{$:0},"my-vigor":{$:0},"my-wan":{$:0},"syno-ds":{$:0},"synology-diskstation":{$:0},"synology-ds":{$:0}},dj:{$:0},dk:{$:0,biz:{$:0},co:{$:0},firm:{$:0},reg:{$:0},store:{$:0},blogspot:{$:0}},dm:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},do:{$:0,art:{$:0},com:{$:0},edu:{$:0},gob:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},sld:{$:0},web:{$:0}},dz:{$:0,com:{$:0},org:{$:0},net:{$:0},gov:{$:0},edu:{$:0},asso:{$:0},pol:{$:0},art:{$:0}},ec:{$:0,com:{$:0},info:{$:0},net:{$:0},fin:{$:0},k12:{$:0},med:{$:0},pro:{$:0},org:{$:0},edu:{$:0},gov:{$:0},gob:{$:0},mil:{$:0}},edu:{$:0},ee:{$:0,edu:{$:0},gov:{$:0},riik:{$:0},lib:{$:0},med:{$:0},com:{$:0,blogspot:{$:0}},pri:{$:0},aip:{$:0},org:{$:0},fie:{$:0}},eg:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},eun:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sci:{$:0}},er:{"*":{$:0}},es:{$:0,com:{$:0,blogspot:{$:0}},nom:{$:0},org:{$:0},gob:{$:0},edu:{$:0}},et:{$:0,com:{$:0},gov:{$:0},org:{$:0},edu:{$:0},biz:{$:0},name:{$:0},info:{$:0},net:{$:0}},eu:{$:0,"1password":{$:0},mycd:{$:0},cloudns:{$:0},barsy:{$:0},wellbeingzone:{$:0},spdns:{$:0},transurl:{"*":{$:0}},diskstation:{$:0}},fi:{$:0,aland:{$:0},dy:{$:0},blogspot:{$:0},iki:{$:0}},fj:{"*":{$:0}},fk:{"*":{$:0}},fm:{$:0},fo:{$:0},fr:{$:0,com:{$:0},asso:{$:0},nom:{$:0},prd:{$:0},presse:{$:0},tm:{$:0},aeroport:{$:0},assedic:{$:0},avocat:{$:0},avoues:{$:0},cci:{$:0},chambagri:{$:0},"chirurgiens-dentistes":{$:0},"experts-comptables":{$:0},"geometre-expert":{$:0},gouv:{$:0},greta:{$:0},"huissier-justice":{$:0},medecin:{$:0},notaires:{$:0},pharmacien:{$:0},port:{$:0},veterinaire:{$:0},"fbx-os":{$:0},fbxos:{$:0},"freebox-os":{$:0},freeboxos:{$:0},blogspot:{$:0},"on-web":{$:0},"chirurgiens-dentistes-en-france":{$:0}},ga:{$:0},gb:{$:0},gd:{$:0,nom:{$:0}},ge:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}
736,net:{$:0},pvt:{$:0}},gf:{$:0},gg:{$:0,co:{$:0},net:{$:0},org:{$:0},cya:{$:0}},gh:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0}},gi:{$:0,com:{$:0},ltd:{$:0},gov:{$:0},mod:{$:0},edu:{$:0},org:{$:0}},gl:{$:0,co:{$:0},com:{$:0},edu:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gm:{$:0},gn:{$:0,ac:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},gov:{$:0},gp:{$:0,com:{$:0},net:{$:0},mobi:{$:0},edu:{$:0},org:{$:0},asso:{$:0}},gq:{$:0},gr:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0},gov:{$:0},blogspot:{$:0},nym:{$:0}},gs:{$:0},gt:{$:0,com:{$:0},edu:{$:0},gob:{$:0},ind:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},gu:{"*":{$:0}},gw:{$:0},gy:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},hk:{$:0,com:{$:0},edu:{$:0},gov:{$:0},idv:{$:0},net:{$:0},org:{$:0},"xn--55qx5d":{$:0},"xn--wcvs22d":{$:0},"xn--lcvr32d":{$:0},"xn--mxtq1m":{$:0},"xn--gmqw5a":{$:0},"xn--ciqpn":{$:0},"xn--gmq050i":{$:0},"xn--zf0avx":{$:0},"xn--io0a7i":{$:0},"xn--mk0axi":{$:0},"xn--od0alg":{$:0},"xn--od0aq3b":{$:0},"xn--tn0ag":{$:0},"xn--uc0atv":{$:0},"xn--uc0ay4a":{$:0},blogspot:{$:0},ltd:{$:0},inc:{$:0}},hm:{$:0},hn:{$:0,com:{$:0},edu:{$:0},org:{$:0}
vendor: 2,174 bytes, line 736
736,net:{$:0},mil:{$:0},gob:{$:0},nom:{$:0}},hr:{$:0,iz:{$:0},from:{$:0},name:{$:0},com:{$:0},blogspot:{$:0}},ht:{$:0,com:{$:0},shop:{$:0},firm:{$:0},info:{$:0},adult:{$:0},net:{$:0},pro:{$:0},org:{$:0},med:{$:0},art:{$:0},coop:{$:0},pol:{$:0},asso:{$:0},edu:{$:0},rel:{$:0},gouv:{$:0},perso:{$:0}},hu:{2e3:{$:0},$:0,co:{$:0},info:{$:0},org:{$:0},priv:{$:0},sport:{$:0},tm:{$:0},agrar:{$:0},bolt:{$:0},casino:{$:0},city:{$:0},erotica:{$:0},erotika:{$:0},film:{$:0},forum:{$:0},games:{$:0},hotel:{$:0},ingatlan:{$:0},jogasz:{$:0},konyvelo:{$:0},lakas:{$:0},media:{$:0},news:{$:0},reklam:{$:0},sex:{$:0},shop:{$:0},suli:{$:0},szex:{$:0},tozsde:{$:0},utazas:{$:0},video:{$:0},blogspot:{$:0}},id:{$:0,ac:{$:0},biz:{$:0},co:{$:0,blogspot:{$:0}},desa:{$:0},go:{$:0},mil:{$:0},my:{$:0},net:{$:0},or:{$:0},sch:{$:0},web:{$:0}},ie:{$:0,gov:{$:0},blogspot:{$:0}},il:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},gov:{$:0},idf:{$:0},k12:{$:0},muni:{$:0},net:{$:0},org:{$:0}},im:{$:0,ac:{$:0},co:{$:0,ltd:{$:0},plc:{$:0}},com:{$:0},net:{$:0},org:{$:0},tt:{$:0},tv:{$:0},ro:{$:0},nom:{$:0}},in:{$:0,co:{$:0},firm:{$:0},net:{$:0},org:{$:0},gen:{$:0},ind:{$:0},nic:{$:0},ac:{$:0},edu:{$:0},res:{$:0},gov:{$:0},mil:{$:0},cloudns:{$:0},blogspot:{$:0},barsy:{$:0}},info:{$:0,cloudns:{$:0},"dynamic-dns":{$:0},dyndns:{$:0},"barrel-of-knowledge":{$:0},"barrell-of-knowledge":{$:0},"for-our":{$:0},"groks-the":{$:0},"groks-this":{$:0},"here-for-more":{$:0},knowsitall:{$:0},selfip:{$:0},webhop:{$:0},nsupdate:{$:0},dvrcam:{$:0},ilovecollege:{$:0},"no-ip":{$:0},"v-info":{$:0}},int:{$:0,eu:{$:0}},io:{$:0,com:{$:0},backplaneapp:{$:0},boxfuse:{$:0},browsersafetymark:{$:0},dedyn:{$:0},drud:{$:0},definima:{$:0},enonic:{$:0,customer:{$:0}},github:{$:0},gitlab:{$:0},"hasura-app":{$:0},ngrok:{$:0},nodeart:{stage:{$:0}},nodum:{$:0},nid:{$:0},pantheonsite:{$:0},protonet:{$:0},vaporcloud:{$:0},resindevice:{$:0},resinstaging:{devices:{$:0}},hzc:{$:0},sandcats:{$:0},s5y:{"*":{$:0}},shiftedit:{$:0},lair:{apps:{$:0}},stolos:{"*":{$:0}},spacekit:{$:0},thingdust:{dev:{cust:{$:0}},disrec:{cust:{$:0}},prod:{cust:{$:0}},testing:{cust:{$:0}}},wedeploy:{$:0}},iq:{$:0,gov:{$:0},edu:{$:0},mil:{$:0},com:{$:0},org:{$:0}
736,net:{$:0}},ir:{$:0,ac:{$:0},co:{$:0},gov:{$:0},id:{$:0},net:{$:0},org:{$:0},sch:{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0}},is:{$:0,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},int:{$:0},cupcake:{$:0},blogspot:{$:0}},it:{$:0,gov:{$:0},edu:{$:0},abr:{$:0},abruzzo:{$:0},"aosta-valley":{$:0},aostavalley:{$:0},bas:{$:0},basilicata:{$:0},cal:{$:0},calabria:{$:0},cam:{$:0},campania:{$:0},"emilia-romagna":{$:0},emiliaromagna:{$:0},emr:{$:0},"friuli-v-giulia":{$:0},"friuli-ve-giulia":{$:0},"friuli-vegiulia":{$:0},"friuli-venezia-giulia":{$:0},"friuli-veneziagiulia":{$:0},"friuli-vgiulia":{$:0},"friuliv-giulia":{$:0},"friulive-giulia":{$:0},friulivegiulia:{$:0},"friulivenezia-giulia":{$:0},friuliveneziagiulia:{$:0},friulivgiulia:{$:0},fvg:{$:0},laz:{$:0},lazio:{$:0},lig:{$:0},liguria:{$:0},lom:{$:0},lombardia:{$:0},lombardy:{$:0},lucania:{$:0},mar:{$:0},marche:{$:0},mol:{$:0},molise:{$:0},piedmont:{$:0},piemonte:{$:0},pmn:{$:0},pug:{$:0},puglia:{$:0},sar:{$:0},sardegna:{$:0},sardinia:{$:0},sic:{$:0},sicilia:{$:0},sicily:{$:0},taa:{$:0},tos:{$:0},toscana:{$:0},"trentino-a-adige":{$:0},"trentino-aadige":{$:0},"trentino-alto-adige":{$:0},"trentino-altoadige":{$:0},"trentino-s-tirol":{$:0},"trentino-stirol":{$:0},"trentino-sud-tirol":{$:0},"trentino-sudtirol":{$:0},"trentino-sued-tirol":{$:0},"trentino-suedtirol":{$:0},"trentinoa-adige":{$:0},trentinoaadige:{$:0},"trentinoalto-adige":{$:0},trentinoaltoadige:{$:0},"trentinos-tirol":{$:0},trentinostirol:{$:0},"trentinosud-tirol":{$:0},trentinosudtirol:{$:0},"trentinosued-tirol":{$:0},trentinosuedtirol:{$:0},tuscany:{$:0},umb:{$:0},umbria:{$:0},"val-d-aosta":{$:0},"val-daosta":{$:0},"vald-aosta":{$:0},valdaosta:{$:0},"valle-aosta":{$:0},"valle-d-aosta":{$:0},"valle-daosta":{$:0},valleaosta:{$:0},"valled-aosta":{$:0},valledaosta:{$:0},"vallee-aoste":{$:0},valleeaoste:{$:0},vao:{$:0},vda:{$:0},ven:{$:0},veneto:{$:0},ag:{$:0},agrigento:{$:0},al:{$:0},alessandria:{$:0},"alto-adige":{$:0},altoadige:{$:0},an:{$:0},ancona:{$:0},"andria-barletta-trani":{$:0},"andria-trani-barletta":{$:0},andriabarlettatrani:{$:0},andriatranibarletta:{$:0},ao:{$:0},aosta:{$:0},aoste:{$:0},ap:{$:0},aq:{$:0},aquila:{$:0},ar:{$:0},arezzo:{$:0},"ascoli-piceno":{$:0},ascolipiceno:{$:0},asti:{$:0},at:{$:0},av:{$:0},avellino:{$:0},ba:{$:0},balsan:{$:0},bari:{$:0},"barletta-trani-andria":{$:0},barlettatraniandria:{$:0},belluno:{$:0},benevento:{$:0},bergamo:{$:0},bg:{$:0},bi:{$:0},biella:{$:0},bl:{$:0},bn:{$:0},bo:{$:0},bologna:{$:0},bolzano:{$:0},bozen:{$:0},br:{$:0},brescia:{$:0},brindisi:{$:0},bs:{$:0},bt:{$:0},bz:{$:0},ca:{$:0},cagliari:{$:0},caltanissetta:{$:0},"campidano-medio":{$:0},campidanomedio:{$:0},campobasso:{$:0},"carbonia-iglesias":{$:0},carboniaiglesias:{$:0},"carrara-massa":{$:0},carraramassa:{$:0},caserta:{$:0},catania:{$:0},catanzaro:{$:0},cb:{$:0},ce:{$:0},"cesena-forli":{$:0},cesenaforli:{$:0},ch:{$:0},chieti:{$:0},ci:{$:0},cl:{$:0},cn:{$:0},co:{$:0},como:{$:0},cosenza:{$:0},cr:{$:0},cremona:{$:0},crotone:{$:0},cs:{$:0},ct:{$:0},cuneo:{$:0},cz:{$:0},"dell-ogliastra":{$:0},dellogliastra:{$:0},en:{$:0},enna:{$:0},fc:{$:0},fe:{$:0},fermo:{$:0},ferrara:{$:0},fg:{$:0},fi:{$:0},firenze:{$:0},florence:{$:0},fm:{$:0},foggia:{$:0},"forli-cesena":{$:0},forlicesena:{$:0},fr:{$:0},frosinone:{$:0},ge:{$:0},genoa:{$:0},genova:{$:0},go:{$:0},gorizia:{$:0},gr:{$:0},grosseto:{$:0},"iglesias-carbonia":{$:0},iglesiascarbonia:{$:0},im:{$:0},imperia:{$:0},is:{$:0},isernia:{$:0},kr:{$:0},"la-spezia":{$:0},laquila:{$:0},laspezia:{$:0},latina:{$:0},lc:{$:0},le:{$:0},lecce:{$:0},lecco:{$:0},li:{$:0},livorno:{$:0},lo:{$:0},lodi:{$:0},lt:{$:0},lu:{$:0},lucca:{$:0},macerata:{$:0},mantova:{$:0},"massa-carrara":{$:0},massacarrara:{$:0},matera:{$:0},mb:{$:0},mc:{$:0},me:{$:0},"medio-campidano":{$:0},mediocampidano:{$:0},messina:{$:0},mi:{$:0},milan:{$:0},milano:{$:0},mn:{$:0},mo:{$:0},modena:{$:0},"monza-brianza":{$:0},"monza-e-della-brianza":{$:0},monza:{$:0},monzabrianza:{$:0},monzaebrianza:{$:0},monzaedellabrianza:{$:0},ms:{$:0},mt:{$:0},na:{$:0},naples:{$:0},napoli:{$:0},no:{$:0},novara:{$:0},nu:{$:0},nuoro:{$:0},og:{$:0},ogliastra:{$:0},"olbia-tempio":{$:0},olbiatempio:{$:0},or:{$:0},oristano:{$:0},ot:{$:0},pa:{$:0},padova:{$:0},padua:{$:0},palermo:{$:0},parma:{$:0},pavia:{$:0},pc:{$:0},pd:{$:0},pe:{$:0},perugia:{$:0},"pesaro-urbino":{$:0},pesarourbino:{$:0},pescara:{$:0},pg:{$:0},pi:{$:0},piacenza:{$:0},pisa:{$:0},pistoia:{$:0}
736,pn:{$:0},po:{$:0},pordenone:{$:0},potenza:{$:0},pr:{$:0},prato:{$:0},pt:{$:0},pu:{$:0},pv:{$:0},pz:{$:0},ra:{$:0},ragusa:{$:0},ravenna:{$:0},rc:{$:0},re:{$:0},"reggio-calabria":{$:0},"reggio-emilia":{$:0},reggiocalabria:{$:0},reggioemilia:{$:0},rg:{$:0},ri:{$:0},rieti:{$:0},rimini:{$:0},rm:{$:0},rn:{$:0},ro:{$:0},roma:{$:0},rome:{$:0},rovigo:{$:0},sa:{$:0},salerno:{$:0},sassari:{$:0},savona:{$:0},si:{$:0},siena:{$:0},siracusa:{$:0},so:{$:0},sondrio:{$:0},sp:{$:0},sr:{$:0},ss:{$:0},suedtirol:{$:0},sv:{$:0},ta:{$:0},taranto:{$:0},te:{$:0},"tempio-olbia":{$:0},tempioolbia:{$:0},teramo:{$:0},terni:{$:0},tn:{$:0},to:{$:0},torino:{$:0},tp:{$:0},tr:{$:0},"trani-andria-barletta":{$:0},"trani-barletta-andria":{$:0},traniandriabarletta:{$:0},tranibarlettaandria:{$:0},trapani:{$:0},trentino:{$:0},trento:{$:0},treviso:{$:0},trieste:{$:0},ts:{$:0},turin:{$:0},tv:{$:0},ud:{$:0},udine:{$:0},"urbino-pesaro":{$:0},urbinopesaro:{$:0},va:{$:0},varese:{$:0},vb:{$:0},vc:{$:0},ve:{$:0},venezia:{$:0},venice:{$:0},verbania:{$:0},vercelli:{$:0},verona:{$:0},vi:{$:0},"vibo-valentia":{$:0},vibovalentia:{$:0},vicenza:{$:0},viterbo:{$:0},vr:{$:0},vs:{$:0},vt:{$:0},vv:{$:0},blogspot:{$:0}},je:{$:0,co:{$:0},net:{$:0},org:{$:0}},jm:{"*":{$:0}},jo:{$:0,com:{$:0},org:{$:0}
736,net:{$:0},edu:{$:0},sch:{$:0},gov:{$:0},mil:{$:0},name:{$:0}},jobs:{$:0},jp:{$:0,ac:{$:0},ad:{$:0},co:{$:0},ed:{$:0},go:{$:0},gr:{$:0},lg:{$:0},ne:{$:0
vendor: 23,752 bytes, line 736
736},or:{$:0},aichi:{$:0,aisai:{$:0},ama:{$:0},anjo:{$:0},asuke:{$:0},chiryu:{$:0},chita:{$:0},fuso:{$:0},gamagori:{$:0},handa:{$:0},hazu:{$:0},hekinan:{$:0},higashiura:{$:0},ichinomiya:{$:0},inazawa:{$:0},inuyama:{$:0},isshiki:{$:0},iwakura:{$:0},kanie:{$:0},kariya:{$:0},kasugai:{$:0},kira:{$:0},kiyosu:{$:0},komaki:{$:0},konan:{$:0},kota:{$:0},mihama:{$:0},miyoshi:{$:0},nishio:{$:0},nisshin:{$:0},obu:{$:0},oguchi:{$:0},oharu:{$:0},okazaki:{$:0},owariasahi:{$:0},seto:{$:0},shikatsu:{$:0},shinshiro:{$:0},shitara:{$:0},tahara:{$:0},takahama:{$:0},tobishima:{$:0},toei:{$:0},togo:{$:0},tokai:{$:0},tokoname:{$:0},toyoake:{$:0},toyohashi:{$:0},toyokawa:{$:0},toyone:{$:0},toyota:{$:0},tsushima:{$:0},yatomi:{$:0}},akita:{$:0,akita:{$:0},daisen:{$:0},fujisato:{$:0},gojome:{$:0},hachirogata:{$:0},happou:{$:0},higashinaruse:{$:0},honjo:{$:0},honjyo:{$:0},ikawa:{$:0},kamikoani:{$:0},kamioka:{$:0},katagami:{$:0},kazuno:{$:0},kitaakita:{$:0},kosaka:{$:0},kyowa:{$:0},misato:{$:0},mitane:{$:0},moriyoshi:{$:0},nikaho:{$:0},noshiro:{$:0},odate:{$:0},oga:{$:0},ogata:{$:0},semboku:{$:0},yokote:{$:0},yurihonjo:{$:0}},aomori:{$:0,aomori:{$:0},gonohe:{$:0},hachinohe:{$:0},hashikami:{$:0},hiranai:{$:0},hirosaki:{$:0},itayanagi:{$:0},kuroishi:{$:0},misawa:{$:0},mutsu:{$:0},nakadomari:{$:0},noheji:{$:0},oirase:{$:0},owani:{$:0},rokunohe:{$:0},sannohe:{$:0},shichinohe:{$:0},shingo:{$:0},takko:{$:0},towada:{$:0},tsugaru:{$:0},tsuruta:{$:0}},chiba:{$:0,abiko:{$:0},asahi:{$:0},chonan:{$:0},chosei:{$:0},choshi:{$:0},chuo:{$:0},funabashi:{$:0},futtsu:{$:0},hanamigawa:{$:0},ichihara:{$:0},ichikawa:{$:0},ichinomiya:{$:0},inzai:{$:0},isumi:{$:0},kamagaya:{$:0},kamogawa:{$:0},kashiwa:{$:0},katori:{$:0},katsuura:{$:0},kimitsu:{$:0},kisarazu:{$:0},kozaki:{$:0},kujukuri:{$:0},kyonan:{$:0},matsudo:{$:0},midori:{$:0},mihama:{$:0},minamiboso:{$:0},mobara:{$:0},mutsuzawa:{$:0},nagara:{$:0},nagareyama:{$:0},narashino:{$:0},narita:{$:0},noda:{$:0},oamishirasato:{$:0},omigawa:{$:0},onjuku:{$:0},otaki:{$:0},sakae:{$:0},sakura:{$:0},shimofusa:{$:0},shirako:{$:0},shiroi:{$:0},shisui:{$:0},sodegaura:{$:0},sosa:{$:0},tako:{$:0},tateyama:{$:0},togane:{$:0},tohnosho:{$:0},tomisato:{$:0},urayasu:{$:0},yachimata:{$:0},yachiyo:{$:0},yokaichiba:{$:0},yokoshibahikari:{$:0},yotsukaido:{$:0}},ehime:{$:0,ainan:{$:0},honai:{$:0},ikata:{$:0},imabari:{$:0},iyo:{$:0},kamijima:{$:0},kihoku:{$:0},kumakogen:{$:0},masaki:{$:0},matsuno:{$:0},matsuyama:{$:0},namikata:{$:0},niihama:{$:0},ozu:{$:0},saijo:{$:0},seiyo:{$:0},shikokuchuo:{$:0},tobe:{$:0},toon:{$:0},uchiko:{$:0},uwajima:{$:0},yawatahama:{$:0}},fukui:{$:0,echizen:{$:0},eiheiji:{$:0},fukui:{$:0},ikeda:{$:0},katsuyama:{$:0},mihama:{$:0},minamiechizen:{$:0},obama:{$:0},ohi:{$:0},ono:{$:0},sabae:{$:0},sakai:{$:0},takahama:{$:0},tsuruga:{$:0},wakasa:{$:0}},fukuoka:{$:0,ashiya:{$:0},buzen:{$:0},chikugo:{$:0},chikuho:{$:0},chikujo:{$:0},chikushino:{$:0},chikuzen:{$:0},chuo:{$:0},dazaifu:{$:0},fukuchi:{$:0},hakata:{$:0},higashi:{$:0},hirokawa:{$:0},hisayama:{$:0},iizuka:{$:0},inatsuki:{$:0},kaho:{$:0},kasuga:{$:0},kasuya:{$:0},kawara:{$:0},keisen:{$:0},koga:{$:0},kurate:{$:0},kurogi:{$:0},kurume:{$:0},minami:{$:0},miyako:{$:0},miyama:{$:0},miyawaka:{$:0},mizumaki:{$:0},munakata:{$:0},nakagawa:{$:0},nakama:{$:0},nishi:{$:0},nogata:{$:0},ogori:{$:0},okagaki:{$:0},okawa:{$:0},oki:{$:0},omuta:{$:0},onga:{$:0},onojo:{$:0},oto:{$:0},saigawa:{$:0},sasaguri:{$:0},shingu:{$:0},shinyoshitomi:{$:0},shonai:{$:0},soeda:{$:0},sue:{$:0},tachiarai:{$:0},tagawa:{$:0},takata:{$:0},toho:{$:0},toyotsu:{$:0},tsuiki:{$:0},ukiha:{$:0},umi:{$:0},usui:{$:0},yamada:{$:0},yame:{$:0},yanagawa:{$:0},yukuhashi:{$:0}},fukushima:{$:0,aizubange:{$:0},aizumisato:{$:0},aizuwakamatsu:{$:0},asakawa:{$:0},bandai:{$:0},date:{$:0},fukushima:{$:0},furudono:{$:0},futaba:{$:0},hanawa:{$:0},higashi:{$:0},hirata:{$:0},hirono:{$:0},iitate:{$:0},inawashiro:{$:0},ishikawa:{$:0},iwaki:{$:0},izumizaki:{$:0},kagamiishi:{$:0},kaneyama:{$:0},kawamata:{$:0},kitakata:{$:0},kitashiobara:{$:0},koori:{$:0},koriyama:{$:0},kunimi:{$:0},miharu:{$:0},mishima:{$:0},namie:{$:0},nango:{$:0},nishiaizu:{$:0},nishigo:{$:0},okuma:{$:0},omotego:{$:0},ono:{$:0},otama:{$:0},samegawa:{$:0},shimogo:{$:0},shirakawa:{$:0},showa:{$:0},soma:{$:0},sukagawa:{$:0},taishin:{$:0},tamakawa:{$:0},tanagura:{$:0},tenei:{$:0},yabuki:{$:0},yamato:{$:0},yamatsuri:{$:0},yanaizu:{$:0},yugawa:{$:0}},gifu:{$:0,anpachi:{$:0},ena:{$:0},gifu:{$:0},ginan:{$:0},godo:{$:0},gujo:{$:0},hashima:{$:0},hichiso:{$:0},hida:{$:0},higashishirakawa:{$:0},ibigawa:{$:0},ikeda:{$:0},kakamigahara:{$:0},kani:{$:0},kasahara:{$:0},kasamatsu:{$:0},kawaue:{$:0},kitagata:{$:0},mino:{$:0},minokamo:{$:0},mitake:{$:0},mizunami:{$:0},motosu:{$:0},nakatsugawa:{$:0},ogaki:{$:0},sakahogi:{$:0},seki:{$:0},sekigahara:{$:0},shirakawa:{$:0},tajimi:{$:0},takayama:{$:0},tarui:{$:0},toki:{$:0},tomika:{$:0},wanouchi:{$:0},yamagata:{$:0},yaotsu:{$:0},yoro:{$:0}},gunma:{$:0,annaka:{$:0},chiyoda:{$:0},fujioka:{$:0},higashiagatsuma:{$:0},isesaki:{$:0},itakura:{$:0},kanna:{$:0},kanra:{$:0},katashina:{$:0},kawaba:{$:0},kiryu:{$:0},kusatsu:{$:0},maebashi:{$:0},meiwa:{$:0},midori:{$:0},minakami:{$:0},naganohara:{$:0},nakanojo:{$:0},nanmoku:{$:0},numata:{$:0},oizumi:{$:0},ora:{$:0},ota:{$:0},shibukawa:{$:0},shimonita:{$:0},shinto:{$:0},showa:{$:0},takasaki:{$:0},takayama:{$:0},tamamura:{$:0},tatebayashi:{$:0},tomioka:{$:0},tsukiyono:{$:0},tsumagoi:{$:0},ueno:{$:0},yoshioka:{$:0}},hiroshima:{$:0,asaminami:{$:0},daiwa:{$:0},etajima:{$:0},fuchu:{$:0},fukuyama:{$:0},hatsukaichi:{$:0},higashihiroshima:{$:0},hongo:{$:0},jinsekikogen:{$:0},kaita:{$:0},kui:{$:0},kumano:{$:0},kure:{$:0},mihara:{$:0},miyoshi:{$:0},naka:{$:0},onomichi:{$:0},osakikamijima:{$:0},otake:{$:0},saka:{$:0},sera:{$:0},seranishi:{$:0},shinichi:{$:0},shobara:{$:0},takehara:{$:0}},hokkaido:{$:0,abashiri:{$:0},abira:{$:0},aibetsu:{$:0},akabira:{$:0},akkeshi:{$:0},asahikawa:{$:0},ashibetsu:{$:0},ashoro:{$:0},assabu:{$:0},atsuma:{$:0},bibai:{$:0},biei:{$:0},bifuka:{$:0},bihoro:{$:0},biratori:{$:0},chippubetsu:{$:0},chitose:{$:0},date:{$:0},ebetsu:{$:0},embetsu:{$:0},eniwa:{$:0},erimo:{$:0},esan:{$:0},esashi:{$:0},fukagawa:{$:0},fukushima:{$:0},furano:{$:0},furubira:{$:0},haboro:{$:0},hakodate:{$:0},hamatonbetsu:{$:0},hidaka:{$:0},higashikagura:{$:0},higashikawa:{$:0},hiroo:{$:0},hokuryu:{$:0},hokuto:{$:0},honbetsu:{$:0},horokanai:{$:0},horonobe:{$:0},ikeda:{$:0},imakane:{$:0},ishikari:{$:0},iwamizawa:{$:0},iwanai:{$:0},kamifurano:{$:0},kamikawa:{$:0},kamishihoro:{$:0},kamisunagawa:{$:0},kamoenai:{$:0},kayabe:{$:0},kembuchi:{$:0},kikonai:{$:0},kimobetsu:{$:0},kitahiroshima:{$:0},kitami:{$:0},kiyosato:{$:0},koshimizu:{$:0},kunneppu:{$:0},kuriyama:{$:0},kuromatsunai:{$:0},kushiro:{$:0},kutchan:{$:0},kyowa:{$:0},mashike:{$:0},matsumae:{$:0},mikasa:{$:0},minamifurano:{$:0},mombetsu:{$:0},moseushi:{$:0},mukawa:{$:0},muroran:{$:0},naie:{$:0},nakagawa:{$:0},nakasatsunai:{$:0},nakatombetsu:{$:0},nanae:{$:0},nanporo:{$:0},nayoro:{$:0},nemuro:{$:0},niikappu:{$:0},niki:{$:0},nishiokoppe:{$:0},noboribetsu:{$:0},numata:{$:0},obihiro:{$:0},obira:{$:0},oketo:{$:0},okoppe:{$:0},otaru:{$:0},otobe:{$:0},otofuke:{$:0},otoineppu:{$:0},oumu:{$:0},ozora:{$:0},pippu:{$:0},rankoshi:{$:0},rebun:{$:0},rikubetsu:{$:0},rishiri:{$:0},rishirifuji:{$:0},saroma:{$:0},sarufutsu:{$:0},shakotan:{$:0},shari:{$:0},shibecha:{$:0},shibetsu:{$:0},shikabe:{$:0},shikaoi:{$:0},shimamaki:{$:0},shimizu:{$:0},shimokawa:{$:0},shinshinotsu:{$:0},shintoku:{$:0},shiranuka:{$:0},shiraoi:{$:0},shiriuchi:{$:0},sobetsu:{$:0},sunagawa:{$:0},taiki:{$:0},takasu:{$:0},takikawa:{$:0},takinoue:{$:0},teshikaga:{$:0},tobetsu:{$:0},tohma:{$:0},tomakomai:{$:0},tomari:{$:0},toya:{$:0},toyako:{$:0},toyotomi:{$:0},toyoura:{$:0},tsubetsu:{$:0},tsukigata:{$:0},urakawa:{$:0},urausu:{$:0},uryu:{$:0},utashinai:{$:0},wakkanai:{$:0},wassamu:{$:0},yakumo:{$:0},yoichi:{$:0}},hyogo:{$:0,aioi:{$:0},akashi:{$:0},ako:{$:0},amagasaki:{$:0},aogaki:{$:0},asago:{$:0},ashiya:{$:0},awaji:{$:0},fukusaki:{$:0},goshiki:{$:0},harima:{$:0},himeji:{$:0},ichikawa:{$:0},inagawa:{$:0},itami:{$:0},kakogawa:{$:0},kamigori:{$:0},kamikawa:{$:0},kasai:{$:0},kasuga:{$:0},kawanishi:{$:0},miki:{$:0},minamiawaji:{$:0},nishinomiya:{$:0},nishiwaki:{$:0},ono:{$:0},sanda:{$:0},sannan:{$:0},sasayama:{$:0},sayo:{$:0},shingu:{$:0},shinonsen:{$:0},shiso:{$:0},sumoto:{$:0},taishi:{$:0},taka:{$:0},takarazuka:{$:0},takasago:{$:0},takino:{$:0},tamba:{$:0},tatsuno:{$:0},toyooka:{$:0},yabu:{$:0},yashiro:{$:0},yoka:{$:0},yokawa:{$:0}},ibaraki:{$:0,ami:{$:0},asahi:{$:0},bando:{$:0},chikusei:{$:0},daigo:{$:0},fujishiro:{$:0},hitachi:{$:0},hitachinaka:{$:0},hitachiomiya:{$:0},hitachiota:{$:0},ibaraki:{$:0},ina:{$:0},inashiki:{$:0},itako:{$:0},iwama:{$:0},joso:{$:0},kamisu:{$:0},kasama:{$:0},kashima:{$:0},kasumigaura:{$:0},koga:{$:0},miho:{$:0},mito:{$:0},moriya:{$:0},naka:{$:0},namegata:{$:0},oarai:{$:0},ogawa:{$:0},omitama:{$:0},ryugasaki:{$:0},sakai:{$:0},sakuragawa:{$:0},shimodate:{$:0},shimotsuma:{$:0},shirosato:{$:0},sowa:{$:0},suifu:{$:0},takahagi:{$:0},tamatsukuri:{$:0},tokai:{$:0},tomobe:{$:0},tone:{$:0},toride:{$:0},tsuchiura:{$:0},tsukuba:{$:0},uchihara:{$:0},ushiku:{$:0},yachiyo:{$:0},yamagata:{$:0},yawara:{$:0},yuki:{$:0}},ishikawa:{$:0,anamizu:{$:0},hakui:{$:0},hakusan:{$:0},kaga:{$:0},kahoku:{$:0},kanazawa:{$:0},kawakita:{$:0},komatsu:{$:0},nakanoto:{$:0},nanao:{$:0},nomi:{$:0},nonoichi:{$:0},noto:{$:0},shika:{$:0},suzu:{$:0},tsubata:{$:0},tsurugi:{$:0},uchinada:{$:0},wajima:{$:0}},iwate:{$:0,fudai:{$:0},fujisawa:{$:0},hanamaki:{$:0},hiraizumi:{$:0},hirono:{$:0},ichinohe:{$:0},ichinoseki:{$:0},iwaizumi:{$:0},iwate:{$:0},joboji:{$:0},kamaishi:{$:0},kanegasaki:{$:0},karumai:{$:0},kawai:{$:0},kitakami:{$:0},kuji:{$:0},kunohe:{$:0},kuzumaki:{$:0},miyako:{$:0},mizusawa:{$:0},morioka:{$:0},ninohe:{$:0},noda:{$:0},ofunato:{$:0},oshu:{$:0},otsuchi:{$:0},rikuzentakata:{$:0},shiwa:{$:0},shizukuishi:{$:0},sumita:{$:0},tanohata:{$:0},tono:{$:0},yahaba:{$:0},yamada:{$:0}},kagawa:{$:0,ayagawa:{$:0},higashikagawa:{$:0},kanonji:{$:0},kotohira:{$:0},manno:{$:0},marugame:{$:0},mitoyo:{$:0},naoshima:{$:0},sanuki:{$:0},tadotsu:{$:0},takamatsu:{$:0},tonosho:{$:0},uchinomi:{$:0},utazu:{$:0},zentsuji:{$:0}},kagoshima:{$:0,akune:{$:0},amami:{$:0},hioki:{$:0},isa:{$:0},isen:{$:0},izumi:{$:0},kagoshima:{$:0},kanoya:{$:0},kawanabe:{$:0},kinko:{$:0},kouyama:{$:0},makurazaki:{$:0},matsumoto:{$:0},minamitane:{$:0},nakatane:{$:0},nishinoomote:{$:0},satsumasendai:{$:0},soo:{$:0},tarumizu:{$:0},yusui:{$:0}},kanagawa:{$:0,aikawa:{$:0},atsugi:{$:0},ayase:{$:0},chigasaki:{$:0},ebina:{$:0},fujisawa:{$:0},hadano:{$:0},hakone:{$:0},hiratsuka:{$:0},isehara:{$:0},kaisei:{$:0},kamakura:{$:0},kiyokawa:{$:0},matsuda:{$:0},minamiashigara:{$:0},miura:{$:0},nakai:{$:0},ninomiya:{$:0},odawara:{$:0},oi:{$:0},oiso:{$:0},sagamihara:{$:0},samukawa:{$:0},tsukui:{$:0},yamakita:{$:0},yamato:{$:0},yokosuka:{$:0},yugawara:{$:0},zama:{$:0},zushi:{$:0}},kochi:{$:0,aki:{$:0},geisei:{$:0},hidaka:{$:0},higashitsuno:{$:0},ino:{$:0},kagami:{$:0},kami:{$:0},kitagawa:{$:0},kochi:{$:0},mihara:{$:0},motoyama:{$:0},muroto:{$:0},nahari:{$:0},nakamura:{$:0},nankoku:{$:0},nishitosa:{$:0},niyodogawa:{$:0},ochi:{$:0},okawa:{$:0},otoyo:{$:0},otsuki:{$:0},sakawa:{$:0},sukumo:{$:0},susaki:{$:0},tosa:{$:0},tosashimizu:{$:0},toyo:{$:0},tsuno:{$:0},umaji:{$:0},yasuda:{$:0},yusuhara:{$:0}},kumamoto:{$:0,amakusa:{$:0},arao:{$:0},aso:{$:0},choyo:{$:0},gyokuto:{$:0},kamiamakusa:{$:0},kikuchi:{$:0},kumamoto:{$:0},mashiki:{$:0},mifune:{$:0},minamata:{$:0},minamioguni:{$:0},nagasu:{$:0},nishihara:{$:0},oguni:{$:0},ozu:{$:0},sumoto:{$:0},takamori:{$:0},uki:{$:0},uto:{$:0},yamaga:{$:0},yamato:{$:0},yatsushiro:{$:0}},kyoto:{$:0,ayabe:{$:0},fukuchiyama:{$:0},higashiyama:{$:0},ide:{$:0},ine:{$:0},joyo:{$:0},kameoka:{$:0},kamo:{$:0},kita:{$:0},kizu:{$:0},kumiyama:{$:0},kyotamba:{$:0},kyotanabe:{$:0},kyotango:{$:0},maizuru:{$:0},minami:{$:0},minamiyamashiro:{$:0},miyazu:{$:0},muko:{$:0},nagaokakyo:{$:0},nakagyo:{$:0},nantan:{$:0},oyamazaki:{$:0},sakyo:{$:0},seika:{$:0},tanabe:{$:0},uji:{$:0},ujitawara:{$:0},wazuka:{$:0},yamashina:{$:0},yawata:{$:0}},mie:{$:0,asahi:{$:0},inabe:{$:0},ise:{$:0},kameyama:{$:0},kawagoe:{$:0},kiho:{$:0},kisosaki:{$:0},kiwa:{$:0},komono:{$:0},kumano:{$:0},kuwana:{$:0},matsusaka:{$:0},meiwa:{$:0},mihama:{$:0},minamiise:{$:0},misugi:{$:0},miyama:{$:0},nabari:{$:0},shima:{$:0},suzuka:{$:0},tado:{$:0},taiki:{$:0},taki:{$:0},tamaki:{$:0},toba:{$:0},tsu:{$:0},udono:{$:0},ureshino:{$:0},watarai:{$:0},yokkaichi:{$:0}},miyagi:{$:0,furukawa:{$:0},higashimatsushima:{$:0},ishinomaki:{$:0},iwanuma:{$:0},kakuda:{$:0},kami:{$:0},kawasaki:{$:0},marumori:{$:0},matsushima:{$:0},minamisanriku:{$:0},misato:{$:0},murata:{$:0},natori:{$:0},ogawara:{$:0},ohira:{$:0},onagawa:{$:0},osaki:{$:0},rifu:{$:0},semine:{$:0},shibata:{$:0},shichikashuku:{$:0},shikama:{$:0},shiogama:{$:0},shiroishi:{$:0},tagajo:{$:0},taiwa:{$:0},tome:{$:0},tomiya:{$:0},wakuya:{$:0},watari:{$:0},yamamoto:{$:0},zao:{$:0}},miyazaki:{$:0,aya:{$:0},ebino:{$:0},gokase:{$:0},hyuga:{$:0},kadogawa:{$:0},kawaminami:{$:0},kijo:{$:0},kitagawa:{$:0},kitakata:{$:0},kitaura:{$:0},kobayashi:{$:0},kunitomi:{$:0},kushima:{$:0},mimata:{$:0},miyakonojo:{$:0},miyazaki:{$:0},morotsuka:{$:0},nichinan:{$:0},nishimera:{$:0},nobeoka:{$:0},saito:{$:0},shiiba:{$:0},shintomi:{$:0},takaharu:{$:0},takanabe:{$:0},takazaki:{$:0},tsuno:{$:0}},nagano:{$:0,achi:{$:0},agematsu:{$:0},anan:{$:0},aoki:{$:0},asahi:{$:0},azumino:{$:0},chikuhoku:{$:0},chikuma:{$:0},chino:{$:0},fujimi:{$:0},hakuba:{$:0},hara:{$:0},hiraya:{$:0},iida:{$:0},iijima:{$:0},iiyama:{$:0},iizuna:{$:0},ikeda:{$:0},ikusaka:{$:0},ina:{$:0},karuizawa:{$:0},kawakami:{$:0},kiso:{$:0},kisofukushima:{$:0},kitaaiki:{$:0},komagane:{$:0},komoro:{$:0},matsukawa:{$:0},matsumoto:{$:0},miasa:{$:0},minamiaiki:{$:0},minamimaki:{$:0},minamiminowa:{$:0},minowa:{$:0},miyada:{$:0},miyota:{$:0},mochizuki:{$:0},nagano:{$:0},nagawa:{$:0},nagiso:{$:0},nakagawa:{$:0},nakano:{$:0},nozawaonsen:{$:0},obuse:{$:0},ogawa:{$:0},okaya:{$:0},omachi:{$:0},omi:{$:0},ookuwa:{$:0},ooshika:{$:0},otaki:{$:0},otari:{$:0},sakae:{$:0},sakaki:{$:0},saku:{$:0},sakuho:{$:0},shimosuwa:{$:0},shinanomachi:{$:0},shiojiri:{$:0},suwa:{$:0},suzaka:{$:0},takagi:{$:0},takamori:{$:0},takayama:{$:0},tateshina:{$:0},tatsuno:{$:0},togakushi:{$:0},togura:{$:0},tomi:{$:0},ueda:{$:0},wada:{$:0},yamagata:{$:0},yamanouchi:{$:0},yasaka:{$:0},yasuoka:{$:0}},nagasaki:{$:0,chijiwa:{$:0},futsu:{$:0},goto:{$:0},hasami:{$:0},hirado:{$:0},iki:{$:0},isahaya:{$:0},kawatana:{$:0},kuchinotsu:{$:0},matsuura:{$:0},nagasaki:{$:0},obama:{$:0},omura:{$:0},oseto:{$:0},saikai:{$:0},sasebo:{$:0},seihi:{$:0},shimabara:{$:0},shinkamigoto:{$:0},togitsu:{$:0},tsushima:{$:0},unzen:{$:0}},nara:{$:0,ando:{$:0},gose:{$:0},heguri:{$:0},higashiyoshino:{$:0},ikaruga:{$:0},ikoma:{$:0},kamikitayama:{$:0},kanmaki:{$:0},kashiba:{$:0},kashihara:{$:0},katsuragi:{$:0},kawai:{$:0},kawakami:{$:0},kawanishi:{$:0},koryo:{$:0},kurotaki:{$:0},mitsue:{$:0},miyake:{$:0},nara:{$:0},nosegawa:{$:0},oji:{$:0},ouda:{$:0},oyodo:{$:0},sakurai:{$:0},sango:{$:0},shimoichi:{$:0},shimokitayama:{$:0},shinjo:{$:0},soni:{$:0},takatori:{$:0},tawaramoto:{$:0},tenkawa:{$:0},tenri:{$:0},uda:{$:0},yamatokoriyama:{$:0},yamatotakada:{$:0},yamazoe:{$:0},yoshino:{$:0}},niigata:{$:0,aga:{$:0},agano:{$:0},gosen:{$:0},itoigawa:{$:0},izumozaki:{$:0},joetsu:{$:0},kamo:{$:0},kariwa:{$:0},kashiwazaki:{$:0},minamiuonuma:{$:0},mitsuke:{$:0},muika:{$:0},murakami:{$:0},myoko:{$:0},nagaoka:{$:0},niigata:{$:0},ojiya:{$:0},omi:{$:0},sado:{$:0},sanjo:{$:0},seiro:{$:0},seirou:{$:0},sekikawa:{$:0},shibata:{$:0},tagami:{$:0},tainai:{$:0},tochio:{$:0},tokamachi:{$:0},tsubame:{$:0},tsunan:{$:0},uonuma:{$:0},yahiko:{$:0},yoita:{$:0},yuzawa:{$:0}},oita:{$:0,beppu:{$:0},bungoono:{$:0},bungotakada:{$:0},hasama:{$:0},hiji:{$:0},himeshima:{$:0},hita:{$:0},kamitsue:{$:0},kokonoe:{$:0},kuju:{$:0},kunisaki:{$:0},kusu:{$:0},oita:{$:0},saiki:{$:0},taketa:{$:0},tsukumi:{$:0},usa:{$:0},usuki:{$:0},yufu:{$:0}},okayama:{$:0,akaiwa:{$:0},asakuchi:{$:0},bizen:{$:0},hayashima:{$:0},ibara:{$:0},kagamino:{$:0},kasaoka:{$:0},kibichuo:{$:0},kumenan:{$:0},kurashiki:{$:0},maniwa:{$:0},misaki:{$:0},nagi:{$:0},niimi:{$:0},nishiawakura:{$:0},okayama:{$:0},satosho:{$:0},setouchi:{$:0},shinjo:{$:0},shoo:{$:0},soja:{$:0},takahashi:{$:0},tamano:{$:0},tsuyama:{$:0},wake:{$:0},yakage:{$:0}},okinawa:{$:0,aguni:{$:0},ginowan:{$:0},ginoza:{$:0},gushikami:{$:0},haebaru:{$:0},higashi:{$:0},hirara:{$:0},iheya:{$:0},ishigaki:{$:0},ishikawa:{$:0},itoman:{$:0},izena:{$:0},kadena:{$:0},kin:{$:0},kitadaito:{$:0},kitanakagusuku:{$:0},kumejima:{$:0},kunigami:{$:0},minamidaito:{$:0},motobu:{$:0},nago:{$:0},naha:{$:0},nakagusuku:{$:0},nakijin:{$:0},nanjo:{$:0},nishihara:{$:0},ogimi:{$:0},okinawa:{$:0},onna:{$:0},shimoji:{$:0},taketomi:{$:0},tarama:{$:0},tokashiki:{$:0},tomigusuku:{$:0},tonaki:{$:0},urasoe:{$:0},uruma:{$:0},yaese:{$:0},yomitan:{$:0},yonabaru:{$:0},yonaguni:{$:0},zamami:{$:0}},osaka:{$:0,abeno:{$:0},chihayaakasaka:{$:0},chuo:{$:0},daito:{$:0},fujiidera:{$:0},habikino:{$:0},hannan:{$:0},higashiosaka:{$:0},higashisumiyoshi:{$:0},higashiyodogawa:{$:0},hirakata:{$:0},ibaraki:{$:0},ikeda:{$:0},izumi:{$:0},izumiotsu:{$:0},izumisano:{$:0},kadoma:{$:0},kaizuka:{$:0},kanan:{$:0},kashiwara:{$:0},katano:{$:0},kawachinagano:{$:0},kishiwada:{$:0},kita:{$:0},kumatori:{$:0},matsubara:{$:0},minato:{$:0},minoh:{$:0},misaki:{$:0},moriguchi:{$:0},neyagawa:{$:0},nishi:{$:0},nose:{$:0},osakasayama:{$:0},sakai:{$:0},sayama:{$:0},sennan:{$:0},settsu:{$:0},shijonawate:{$:0},shimamoto:{$:0},suita:{$:0},tadaoka:{$:0},taishi:{$:0},tajiri:{$:0},takaishi:{$:0},takatsuki:{$:0},tondabayashi:{$:0},toyonaka:{$:0},toyono:{$:0},yao:{$:0}},saga:{$:0,ariake:{$:0},arita:{$:0},fukudomi:{$:0},genkai:{$:0},hamatama:{$:0},hizen:{$:0},imari:{$:0},kamimine:{$:0},kanzaki:{$:0},karatsu:{$:0},kashima:{$:0},kitagata:{$:0},kitahata:{$:0},kiyama:{$:0},kouhoku:{$:0},kyuragi:{$:0},nishiarita:{$:0},ogi:{$:0},omachi:{$:0},ouchi:{$:0},saga:{$:0},shiroishi:{$:0},taku:{$:0},tara:{$:0},tosu:{$:0},yoshinogari:{$:0}},saitama:{$:0,arakawa:{$:0},asaka:{$:0},chichibu:{$:0},fujimi:{$:0},fujimino:{$:0},fukaya:{$:0},hanno:{$:0},hanyu:{$:0},hasuda:{$:0},hatogaya:{$:0},hatoyama:{$:0},hidaka:{$:0},higashichichibu:{$:0},higashimatsuyama:{$:0},honjo:{$:0},ina:{$:0},iruma:{$:0},iwatsuki:{$:0},kamiizumi:{$:0},kamikawa:{$:0},kamisato:{$:0},kasukabe:{$:0},kawagoe:{$:0},kawaguchi:{$:0},kawajima:{$:0},kazo:{$:0},kitamoto:{$:0},koshigaya:{$:0},kounosu:{$:0},kuki:{$:0},kumagaya:{$:0},matsubushi:{$:0},minano:{$:0},misato:{$:0},miyashiro:{$:0},miyoshi:{$:0},moroyama:{$:0},nagatoro:{$:0},namegawa:{$:0},niiza:{$:0},ogano:{$:0},ogawa:{$:0},ogose:{$:0},okegawa:{$:0},omiya:{$:0},otaki:{$:0},ranzan:{$:0},ryokami:{$:0},saitama:{$:0},sakado:{$:0},satte:{$:0},sayama:{$:0},shiki:{$:0},shiraoka:{$:0},soka:{$:0},sugito:{$:0},toda:{$:0},tokigawa:{$:0},tokorozawa:{$:0},tsurugashima:{$:0},urawa:{$:0},warabi:{$:0},yashio:{$:0},yokoze:{$:0},yono:{$:0},yorii:{$:0},yoshida:{$:0},yoshikawa:{$:0},yoshimi:{$:0}},shiga:{$:0,aisho:{$:0},gamo:{$:0},higashiomi:{$:0},hikone:{$:0},koka:{$:0},konan:{$:0},kosei:{$:0},koto:{$:0},kusatsu:{$:0},maibara:{$:0},moriyama:{$:0},nagahama:{$:0},nishiazai:{$:0},notogawa:{$:0},omihachiman:{$:0},otsu:{$:0},ritto:{$:0},ryuoh:{$:0},takashima:{$:0},takatsuki:{$:0},torahime:{$:0},toyosato:{$:0},yasu:{$:0}},shimane:{$:0,akagi:{$:0},ama:{$:0},gotsu:{$:0},hamada:{$:0},higashiizumo:{$:0},hikawa:{$:0},hikimi:{$:0},izumo:{$:0},kakinoki:{$:0},masuda:{$:0},matsue:{$:0},misato:{$:0},nishinoshima:{$:0},ohda:{$:0},okinoshima:{$:0},okuizumo:{$:0},shimane:{$:0},tamayu:{$:0},tsuwano:{$:0},unnan:{$:0},yakumo:{$:0},yasugi:{$:0},yatsuka:{$:0}},shizuoka:{$:0,arai:{$:0},atami:{$:0},fuji:{$:0},fujieda:{$:0},fujikawa:{$:0},fujinomiya:{$:0},fukuroi:{$:0},gotemba:{$:0},haibara:{$:0},hamamatsu:{$:0},higashiizu:{$:0},ito:{$:0},iwata:{$:0},izu:{$:0},izunokuni:{$:0},kakegawa:{$:0},kannami:{$:0},kawanehon:{$:0},kawazu:{$:0},kikugawa:{$:0},kosai:{$:0},makinohara:{$:0},matsuzaki:{$:0},minamiizu:{$:0},mishima:{$:0},morimachi:{$:0},nishiizu:{$:0},numazu:{$:0},omaezaki:{$:0},shimada:{$:0},shimizu:{$:0},shimoda:{$:0},shizuoka:{$:0},susono:{$:0},yaizu:{$:0},yoshida:{$:0}},tochigi:{$:0,ashikaga:{$:0},bato:{$:0},haga:{$:0},ichikai:{$:0},iwafune:{$:0},kaminokawa:{$:0},kanuma:{$:0},karasuyama:{$:0},kuroiso:{$:0},mashiko:{$:0},mibu:{$:0},moka:{$:0},motegi:{$:0},nasu:{$:0},nasushiobara:{$:0},nikko:{$:0},nishikata:{$:0},nogi:{$:0},ohira:{$:0},ohtawara:{$:0},oyama:{$:0},sakura:{$:0},sano:{$:0},shimotsuke:{$:0},shioya:{$:0},takanezawa:{$:0},tochigi:{$:0},tsuga:{$:0},ujiie:{$:0},utsunomiya:{$:0},yaita:{$:0}},tokushima:{$:0,aizumi:{$:0},anan:{$:0},ichiba:{$:0},itano:{$:0},kainan:{$:0},komatsushima:{$:0},matsushige:{$:0},mima:{$:0},minami:{$:0},miyoshi:{$:0},mugi:{$:0},nakagawa:{$:0},naruto:{$:0},sanagochi:{$:0},shishikui:{$:0},tokushima:{$:0},wajiki:{$:0}},tokyo:{$:0,adachi:{$:0},akiruno:{$:0},akishima:{$:0},aogashima:{$:0},arakawa:{$:0},bunkyo:{$:0},chiyoda:{$:0},chofu:{$:0},chuo:{$:0},edogawa:{$:0},fuchu:{$:0},fussa:{$:0},hachijo:{$:0},hachioji:{$:0},hamura:{$:0},higashikurume:{$:0},higashimurayama:{$:0},higashiyamato:{$:0},hino:{$:0},hinode:{$:0},hinohara:{$:0},inagi:{$:0},itabashi:{$:0},katsushika:{$:0},kita:{$:0},kiyose:{$:0},kodaira:{$:0},koganei:{$:0},kokubunji:{$:0},komae:{$:0},koto:{$:0},kouzushima:{$:0},kunitachi:{$:0},machida:{$:0},meguro:{$:0},minato:{$:0},mitaka:{$:0},mizuho:{$:0},musashimurayama:{$:0},musashino:{$:0},nakano:{$:0},nerima:{$:0},ogasawara:{$:0},okutama:{$:0},ome:{$:0},oshima:{$:0},ota:{$:0},setagaya:{$:0},shibuya:{$:0},shinagawa:{$:0},shinjuku:{$:0},suginami:{$:0},sumida:{$:0},tachikawa:{$:0},taito:{$:0},tama:{$:0},toshima:{$:0}},tottori:{$:0,chizu:{$:0},hino:{$:0},kawahara:{$:0},koge:{$:0},kotoura:{$:0},misasa:{$:0},nanbu:{$:0},nichinan:{$:0},sakaiminato:{$:0},tottori:{$:0},wakasa:{$:0},yazu:{$:0},yonago:{$:0}},toyama:{$:0,asahi:{$:0},fuchu:{$:0},fukumitsu:{$:0},funahashi:{$:0},himi:{$:0},imizu:{$:0},inami:{$:0},johana:{$:0},kamiichi:{$:0},kurobe:{$:0},nakaniikawa:{$:0},namerikawa:{$:0},nanto:{$:0},nyuzen:{$:0},oyabe:{$:0},taira:{$:0},takaoka:{$:0},tateyama:{$:0},toga:{$:0},tonami:{$:0},toyama:{$:0},unazuki:{$:0},uozu:{$:0},yamada:{$:0}},wakayama:{$:0,arida:{$:0},aridagawa:{$:0},gobo:{$:0},hashimoto:{$:0},hidaka:{$:0},hirogawa:{$:0},inami:{$:0},iwade:{$:0},kainan:{$:0},kamitonda:{$:0},katsuragi:{$:0},kimino:{$:0},kinokawa:{$:0},kitayama:{$:0},koya:{$:0},koza:{$:0},kozagawa:{$:0},kudoyama:{$:0},kushimoto:{$:0},mihama:{$:0},misato:{$:0},nachikatsuura:{$:0},shingu:{$:0},shirahama:{$:0},taiji:{$:0},tanabe:{$:0},wakayama:{$:0},yuasa:{$:0},yura:{$:0}},yamagata:{$:0,asahi:{$:0},funagata:{$:0},higashine:{$:0},iide:{$:0},kahoku:{$:0},kaminoyama:{$:0},kaneyama:{$:0},kawanishi:{$:0},mamurogawa:{$:0},mikawa:{$:0},murayama:{$:0},nagai:{$:0},nakayama:{$:0},nanyo:{$:0},nishikawa:{$:0},obanazawa:{$:0},oe:{$:0},oguni:{$:0},ohkura:{$:0},oishida:{$:0},sagae:{$:0},sakata:{$:0},sakegawa:{$:0},shinjo:{$:0},shirataka:{$:0},shonai:{$:0},takahata:{$:0},tendo:{$:0},tozawa:{$:0},tsuruoka:{$:0},yamagata:{$:0},yamanobe:{$:0},yonezawa:{$:0},yuza:{$:0}},yamaguchi:{$:0,abu:{$:0},hagi:{$:0},hikari:{$:0},hofu:{$:0},iwakuni:{$:0},kudamatsu:{$:0},mitou:{$:0},nagato:{$:0},oshima:{$:0},shimonoseki:{$:0},shunan:{$:0},tabuse:{$:0},tokuyama:{$:0},toyota:{$:0},ube:{$:0},yuu:{$:0}},yamanashi:{$:0,chuo:{$:0},doshi:{$:0},fuefuki:{$:0},fujikawa:{$:0},fujikawaguchiko:{$:0},fujiyoshida:{$:0},hayakawa:{$:0},hokuto:{$:0},ichikawamisato:{$:0},kai:{$:0},kofu:{$:0},koshu:{$:0},kosuge:{$:0},"minami-alps":{$:0},minobu:{$:0},nakamichi:{$:0},nanbu:{$:0},narusawa:{$:0},nirasaki:{$:0},nishikatsura:{$:0},oshino:{$:0},otsuki:{$:0},showa:{$:0},tabayama:{$:0},tsuru:{$:0},uenohara:{$:0},yamanakako:{$:0},yamanashi:{$:0}},"xn--
7364pvxs":{$:0},"xn--vgu402c":{$:0},"xn--c3s14m":{$:0},"xn--f6qx53a":{$:0},"xn--8pvr4u":{$:0},"xn--uist22h":{$:0},"xn--djrs72d6uy":{$:0},"xn--mkru45i":{$:0},"xn--0trq7p7nn":{$:0},"xn--8ltr62k":{$:0},"xn--2m4a15e":{$:0},"xn--efvn9s":{$:0},"xn--32vp30h":{$:0},"xn--4it797k":{$:0},"xn--1lqs71d":{$:0},"xn--5rtp49c":{$:0},"xn--5js045d":{$:0},"xn--ehqz56n":{$:0},"xn--1lqs03n":{$:0},"xn--qqqt11m":{$:0},"xn--kbrq7o":{$:0},"xn--pssu33l":{$:0},"xn--ntsq17g":{$:0},"xn--uisz3g":{$:0},"xn--6btw5a":{$:0},"xn--1ctwo":{$:0},"xn--6orx2r":{$:0},"xn--rht61e":{$:0},"xn--rht27z":{$:0},"xn--djty4k":{$:0},"xn--nit225k":{$:0},"xn--rht3d":{$:0},"xn--klty5x":{$:0},"xn--kltx9a":{$:0},"xn--kltp7d":{$:0},"xn--uuwu58a":{$:0},"xn--zbx025d":{$:0},"xn--ntso0iqx3a":{$:0},"xn--elqq16h":{$:0},"xn--4it168d":{$:0},"xn--klt787d":{$:0},"xn--rny31h":{$:0},"xn--7t0a264c":{$:0},"xn--5rtq34k":{$:0},"xn--k7yn95e":{$:0},"xn--tor131o":{$:0},"xn--d5qv7z876c":{$:0},kawasaki:{"*":{$:0}},kitakyushu:{"*":{$:0}},kobe:{"*":{$:0}},nagoya:{"*":{$:0}},sapporo:{"*":{$:0}},sendai:{"*":{$:0}},yokohama:{"*":{$:0}},blogspot:{$:0}},ke:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},go:{$:0},info:{$:0},me:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0}},kg:{$:0,org:{$:0}
736,net:{$:0},com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0}},kh:{"*":{$:0}},ki:{$:0,edu:{$:0},biz:{$:0},net:{$:0},org:{$:0},gov:{$:0},info:{$:0},com:{$:0}},km:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},ass:{$:0},com:{$:0},coop:{$:0},asso:{$:0},presse:{$:0},medecin:{$:0},notaires:{$:0},pharmaciens:{$:0},veterinaire:{$:0},gouv:{$:0}},kn:{$:0,net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},kp:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},rep:{$:0},tra:{$:0}},kr:{$:0,ac:{$:0},co:{$:0},es:{$:0},go:{$:0},hs:{$:0},kg:{$:0},mil:{$:0},ms:{$:0},ne:{$:0},or:{$:0},pe:{$:0},re:{$:0},sc:{$:0},busan:{$:0},chungbuk:{$:0},chungnam:{$:0},daegu:{$:0},daejeon:{$:0},gangwon:{$:0},gwangju:{$:0},gyeongbuk:{$:0},gyeonggi:{$:0},gyeongnam:{$:0},incheon:{$:0},jeju:{$:0},jeonbuk:{$:0},jeonnam:{$:0},seoul:{$:0},ulsan:{$:0},blogspot:{$:0}},kw:{"*":{$:0}},ky:{$:0,edu:{$:0},gov:{$:0},com:{$:0},org:{$:0},net:{$:0}},kz:{$:0,org:{$:0},edu:{$:0},net:{$:0},gov:{$:0},mil:{$:0},com:{$:0},nym:{$:0}},la:{$:0,int:{$:0},net:{$:0},info:{$:0},edu:{$:0},gov:{$:0},per:{$:0},com:{$:0},org:{$:0},bnr:{$:0},c:{$:0},nym:{$:0}},lb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},lc:{$:0,com:{$:0}
736,net:{$:0},co:{$:0},org:{$:0},edu:{$:0},gov:{$:0},oy:{$:0}},li:{$:0,blogspot:{$:0},nom:{$:0},nym:{$:0}},lk:{$:0,gov:{$:0},sch:{$:0},net:{$:0},int:{$:0},com:{$:0},org:{$:0},edu:{$:0},ngo:{$:0},soc:{$:0},web:{$:0},ltd:{$:0},assn:{$:0},grp:{$:0},hotel:{$:0},ac:{$:0}},lr:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},net:{$:0}},ls:{$:0,co:{$:0},org:{$:0}},lt:{$:0,gov:{$:0},blogspot:{$:0},nym:{$:0}},lu:{$:0,blogspot:{$:0},nym:{$:0}},lv:{$:0,com:{$:0},edu:{$:0},gov:{$:0},org:{$:0},mil:{$:0},id:{$:0},net:{$:0},asn:{$:0},conf:{$:0}},ly:{$:0,com:{$:0},net:{$:0},gov:{$:0},plc:{$:0},edu:{$:0},sch:{$:0},med:{$:0},org:{$:0},id:{$:0}},ma:{$:0,co:{$:0},net:{$:0},gov:{$:0},org:{$:0},ac:{$:0},press:{$:0}},mc:{$:0,tm:{$:0},asso:{$:0}},md:{$:0,blogspot:{$:0}},me:{$:0,co:{$:0},net:{$:0},org:{$:0},edu:{$:0},ac:{$:0},gov:{$:0},its:{$:0},priv:{$:0},c66:{$:0},daplie:{$:0,localhost:{$:0}},filegear:{$:0},brasilia:{$:0},ddns:{$:0},dnsfor:{$:0},hopto:{$:0},loginto:{$:0},noip:{$:0},webhop:{$:0},nym:{$:0},diskstation:{$:0},dscloud:{$:0},i234:{$:0},myds:{$:0},synology:{$:0},wedeploy:{$:0},yombo:{$:0}},mg:{$:0,org:{$:0},nom:{$:0},gov:{$:0},prd:{$:0},tm:{$:0},edu:{$:0},mil:{$:0},com:{$:0},co:{$:0}},mh:{$:0},mil:{$:0},mk:{$:0,com:{$:0},org:{$:0}
736,net:{$:0},edu:{$:0},gov:{$:0},inf:{$:0},name:{$:0},blogspot:{$:0},nom:{$:0}},ml:{$:0,com:{$:0},edu:{$:0},gouv:{$:0},gov:{$:0},net:{$:0},org:{$:0},presse:{$:0}},mm:{"*":{$:0}},mn:{$:0,gov:{$:0},edu:{$:0},org:{$:0},nyc:{$:0}},mo:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0}},mobi:{$:0,dscloud:{$:0}},mp:{$:0},mq:{$:0},mr:{$:0,gov:{$:0},blogspot:{$:0}},ms:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},mt:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},net:{$:0},org:{$:0}},mu:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},ac:{$:0},co:{$:0},or:{$:0}},museum:{$:0,academy:{$:0},agriculture:{$:0},air:{$:0},airguard:{$:0},alabama:{$:0},alaska:{$:0},amber:{$:0},ambulance:{$:0},american:{$:0},americana:{$:0},americanantiques:{$:0},americanart:{$:0},amsterdam:{$:0},and:{$:0},annefrank:{$:0},anthro:{$:0},anthropology:{$:0},antiques:{$:0},aquarium:{$:0},arboretum:{$:0},archaeological:{$:0},archaeology:{$:0},architecture:{$:0},art:{$:0},artanddesign:{$:0},artcenter:{$:0},artdeco:{$:0},arteducation:{$:0},artgallery:{$:0},arts:{$:0},artsandcrafts:{$:0},asmatart:{$:0},assassination:{$:0},assisi:{$:0},association:{$:0},astronomy:{$:0},atlanta:{$:0},austin:{$:0},australia:{$:0},automotive:{$:0},aviation:{$:0},axis:{$:0},badajoz:{$:0},baghdad:{$:0},bahn:{$:0},bale:{$:0},baltimore:{$:0},barcelona:{$:0},baseball:{$:0},basel:{$:0},baths:{$:0},bauern:{$:0},beauxarts:{$:0},beeldengeluid:{$:0},bellevue:{$:0},bergbau:{$:0},berkeley:{$:0},berlin:{$:0},bern:{$:0},bible:{$:0},bilbao:{$:0},bill:{$:0},birdart:{$:0},birthplace:{$:0},bonn:{$:0},boston:{$:0},botanical:{$:0},botanicalgarden:{$:0},botanicgarden:{$:0},botany:{$:0},brandywinevalley:{$:0},brasil:{$:0},bristol:{$:0},british:{$:0},britishcolumbia:{$:0},broadcast:{$:0},brunel:{$:0},brussel:{$:0},brussels:{$:0},bruxelles:{$:0},building:{$:0},burghof:{$:0},bus:{$:0},bushey:{$:0},cadaques:{$:0},california:{$:0},cambridge:{$:0},can:{$:0},canada:{$:0},capebreton:{$:0},carrier:{$:0},cartoonart:{$:0},casadelamoneda:{$:0},castle:{$:0},castres:{$:0},celtic:{$:0},center:{$:0},chattanooga:{$:0},cheltenham:{$:0},chesapeakebay:{$:0},chicago:{$:0},children:{$:0},childrens:{$:0},childrensgarden:{$:0},chiropractic:{$:0},chocolate:{$:0},christiansburg:{$:0},cincinnati:{$:0},cinema:{$:0},circus:{$:0},civilisation:{$:0},civilization:{$:0},civilwar:{$:0},clinton:{$:0},clock:{$:0},coal:{$:0},coastaldefence:{$:0},cody:{$:0},coldwar:{$:0},collection:{$:0},colonialwilliamsburg:{$:0},coloradoplateau:{$:0},columbia:{$:0},columbus:{$:0},communication:{$:0},communications:{$:0},community:{$:0},computer:{$:0},computerhistory:{$:0},"xn--comunicaes-v6a2o":{$:0},contemporary:{$:0},contemporaryart:{$:0},convent:{$:0},copenhagen:{$:0},corporation:{$:0},"xn--correios-e-telecomunicaes-ghc29a":{$:0},corvette:{$:0},costume:{$:0},countryestate:{$:0},county:{$:0},crafts:{$:0},cranbrook:{$:0},creation:{$:0},cultural:{$:0},culturalcenter:{$:0},culture:{$:0},cyber:{$:0},cymru:{$:0},dali:{$:0},dallas:{$:0},database:{$:0},ddr:{$:0},decorativearts:{$:0},delaware:{$:0},delmenhorst:{$:0},denmark:{$:0},depot:{$:0},design:{$:0},detroit:{$:0},dinosaur:{$:0},discovery:{$:0},dolls:{$:0},donostia:{$:0},durham:{$:0},eastafrica:{$:0},eastcoast:{$:0},education:{$:0},educational:{$:0},egyptian:{$:0},eisenbahn:{$:0},elburg:{$:0},elvendrell:{$:0},embroidery:{$:0},encyclopedic:{$:0},england:{$:0},entomology:{$:0},environment:{$:0},environmentalconservation:{$:0},epilepsy:{$:0},essex:{$:0},estate:{$:0},ethnology:{$:0},exeter:{$:0},exhibition:{$:0},family:{$:0},farm:{$:0},farmequipment:{$:0},farmers:{$:0},farmstead:{$:0},field:{$:0},figueres:{$:0},filatelia:{$:0},film:{$:0},fineart:{$:0},finearts:{$:0},finland:{$:0},flanders:{$:0},florida:{$:0},force:{$:0},fortmissoula:{$:0},fortworth:{$:0},foundation:{$:0},francaise:{$:0},frankfurt:{$:0},franziskaner:{$:0},freemasonry:{$:0},freiburg:{$:0},fribourg:{$:0},frog:{$:0},fundacio:{$:0},furniture:{$:0},gallery:{$:0},garden:{$:0},gateway:{$:0},geelvinck:{$:0},gemological:{$:0},geology:{$:0},georgia:{$:0},giessen:{$:0},glas:{$:0},glass:{$:0},gorge:{$:0},grandrapids:{$:0},graz:{$:0},guernsey:{$:0},halloffame:{$:0},hamburg:{$:0},handson:{$:0},harvestcelebration:{$:0},hawaii:{$:0},health:{$:0},heimatunduhren:{$:0},hellas:{$:0},helsinki:{$:0},hembygdsforbund:{$:0},heritage:{$:0},histoire:{$:0},historical:{$:0},historicalsociety:{$:0},historichouses:{$:0},historisch:{$:0},historisches:{$:0},history:{$:0},historyofscience:{$:0},horology:{$:0},house:{$:0},humanities:{$:0},illustration:{$:0},imageandsound:{$:0},indian:{$:0},indiana:{$:0},indianapolis:{$:0},indianmarket:{$:0},intelligence:{$:0},interactive:{$:0},iraq:{$:0},iron:{$:0},isleofman:{$:0},jamison:{$:0},jefferson:{$:0},jerusalem:{$:0},jewelry:{$:0},jewish:{$:0},jewishart:{$:0},jfk:{$:0},journalism:{$:0},judaica:{$:0},judygarland:{$:0},juedisches:{$:0},juif:{$:0},karate:{$:0},karikatur:{$:0},kids:{$:0},koebenhavn:{$:0},koeln:{$:0},kunst:{$:0},kunstsammlung:{$:0},kunstunddesign:{$:0},labor:{$:0},labour:{$:0},lajolla:{$:0},lancashire:{$:0},landes:{$:0},lans:{$:0},"xn--lns-qla":{$:0},larsson:{$:0},lewismiller:{$:0},lincoln:{$:0},linz:{$:0},living:{$:0},livinghistory:{$:0},localhistory:{$:0},london:{$:0},losangeles:{$:0},louvre:{$:0},loyalist:{$:0},lucerne:{$:0},luxembourg:{$:0},luzern:{$:0},mad:{$:0},madrid:{$:0},mallorca:{$:0},manchester:{$:0},mansion:{$:0},mansions:{$:0},manx:{$:0},marburg:{$:0},maritime:{$:0},maritimo:{$:0},maryland:{$:0},marylhurst:{$:0},media:{$:0},medical:{$:0},medizinhistorisches:{$:0},meeres:{$:0},memorial:{$:0},mesaverde:{$:0},michigan:{$:0},midatlantic:{$:0},military:{$:0},mill:{$:0},miners:{$:0},mining:{$:0},minnesota:{$:0},missile:{$:0},missoula:{$:0},modern:{$:0},moma:{$:0},money:{$:0},monmouth:{$:0},monticello:{$:0},montreal:{$:0},moscow:{$:0},motorcycle:{$:0},muenchen:{$:0},muenster:{$:0},mulhouse:{$:0},muncie:{$:0},museet:{$:0},museumcenter:{$:0},museumvereniging:{$:0},music:{$:0},national:{$:0},nationalfirearms:{$:0},nationalheritage:{$:0},nativeamerican:{$:0},naturalhistory:{$:0},naturalhistorymuseum:{$:0},naturalsciences:{$:0},nature:{$:0},naturhistorisches:{$:0},natuurwetenschappen:{$:0},naumburg:{$:0},naval:{$:0},nebraska:{$:0},neues:{$:0},newhampshire:{$:0},newjersey:{$:0},newmexico:{$:0},newport:{$:0},newspaper:{$:0},newyork:{$:0},niepce:{$:0},norfolk:{$:0},north:{$:0},nrw:{$:0}
736,nuernberg:{$:0},nuremberg:{$:0},nyc:{$:0},nyny:{$:0},oceanographic:{$:0},oceanographique:{$:0},omaha:{$:0},online:{$:0},ontario:{$:0},openair:{$:0},oregon:{$:0},oregontrail:{$:0},otago:{$:0},oxford:{$:0},pacific:{$:0},paderborn:{$:0},palace:{$:0},paleo:{$:0},palmsprings:{$:0},panama:{$:0},paris:{$:0},pasadena:{$:0},pharmacy:{$:0},philadelphia:{$:0},philadelphiaarea:{$:0},philately:{$:0},phoenix:{$:0},photography:{$:0},pilots:{$:0},pittsburgh:{$:0},planetarium:{$:0},plantation:{$:0},plants:{$:0},plaza:{$:0},portal:{$:0},portland:{$:0},portlligat:{$:0},"posts-and-telecommunications":{$:0},preservation:{$:0},presidio:{$:0},press:{$:0},project:{$:0},public:{$:0},pubol:{$:0},quebec:{$:0},railroad:{$:0},railway:{$:0},research:{$:0},resistance:{$:0},riodejaneiro:{$:0},rochester:{$:0},rockart:{$:0},roma:{$:0},russia:{$:0},saintlouis:{$:0},salem:{$:0},salvadordali:{$:0},salzburg:{$:0},sandiego:{$:0},sanfrancisco:{$:0},santabarbara:{$:0},santacruz:{$:0},santafe:{$:0},saskatchewan:{$:0},satx:{$:0},savannahga:{$:0},schlesisches:{$:0},schoenbrunn:{$:0},schokoladen:{$:0},school:{$:0},schweiz:{$:0},science:{$:0},scienceandhistory:{$:0},scienceandindustry:{$:0},sciencecenter:{$:0},sciencecenters:{$:0},"science-fiction":{$:0},sciencehistory:{$:0},sciences:{$:0},sciencesnaturelles:{$:0},scotland:{$:0},seaport:{$:0},settlement:{$:0},settlers:{$:0},shell:{$:0},sherbrooke:{$:0},sibenik:{$:0},silk:{$:0},ski:{$:0},skole:{$:0},society:{$:0},sologne:{$:0},soundandvision:{$:0},southcarolina:{$:0},southwest:{$:0},space:{$:0},spy:{$:0},square:{$:0},stadt:{$:0},stalbans:{$:0},starnberg:{$:0},state:{$:0},stateofdelaware:{$:0},station:{$:0},steam:{$:0},steiermark:{$:0},stjohn:{$:0},stockholm:{$:0},stpetersburg:{$:0},stuttgart:{$:0},suisse:{$:0},surgeonshall:{$:0},surrey:{$:0},svizzera:{$:0},sweden:{$:0},sydney:{$:0},tank:{$:0},tcm:{$:0},technology:{$:0},telekommunikation:{$:0},television:{$:0},texas:{$:0},textile:{$:0},theater:{$:0},time:{$:0},timekeeping:{$:0},topology:{$:0},torino:{$:0},touch:{$:0},town:{$:0},transport:{$:0},tree:{$:0},trolley:{$:0},trust:{$:0},trustee:{$:0},uhren:{$:0},ulm:{$:0},undersea:{$:0},university:{$:0},usa:{$:0},usantiques:{$:0},usarts:{$:0},uscountryestate:{$:0},usculture:{$:0},usdecorativearts:{$:0},usgarden:{$:0},ushistory:{$:0},ushuaia:{$:0},uslivinghistory:{$:0},utah:{$:0},uvic:{$:0},valley:{$:0},vantaa:{$:0},versailles:{$:0},viking:{$:0},village:{$:0},virginia:{$:0},virtual:{$:0},virtuel:{$:0},vlaanderen:{$:0},volkenkunde:{$:0},wales:{$:0},wallonie:{$:0},war:{$:0},washingtondc:{$:0},watchandclock:{$:0},"watch-and-clock":{$:0},western:{$:0},westfalen:{$:0},whaling:{$:0},wildlife:{$:0},williamsburg:{$:0},windmill:{$:0},workshop:{$:0},york:{$:0},yorkshire:{$:0},yosemite:{$:0},youth:{$:0},zoological:{$:0},zoology:{$:0},"xn--9dbhblg6di":{$:0},"xn--h1aegh":{$:0}},mv:{$:0,aero:{$:0},biz:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0},museum:{$:0},name:{$:0},net:{$:0},org:{$:0},pro:{$:0}},mw:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},int:{$:0},museum:{$:0},net:{$:0},org:{$:0}},mx:{$:0,com:{$:0},org:{$:0},gob:{$:0},edu:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},my:{$:0,com:{$:0}
vendor: 8,603 bytes, line 736
736,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},mil:{$:0},name:{$:0},blogspot:{$:0}},mz:{$:0,ac:{$:0},adv:{$:0},co:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},na:{$:0,info:{$:0},pro:{$:0},name:{$:0},school:{$:0},or:{$:0},dr:{$:0},us:{$:0},mx:{$:0},ca:{$:0},in:{$:0},cc:{$:0},tv:{$:0},ws:{$:0},mobi:{$:0},co:{$:0},com:{$:0},org:{$:0}},name:{$:0,her:{forgot:{$:0}},his:{forgot:{$:0}}},nc:{$:0,asso:{$:0},nom:{$:0}},ne:{$:0},net:{$:0,alwaysdata:{$:0},cloudfront:{$:0},t3l3p0rt:{$:0},myfritz:{$:0},boomla:{$:0},bplaced:{$:0},square7:{$:0},gb:{$:0},hu:{$:0},jp:{$:0},se:{$:0},uk:{$:0},in:{$:0},cloudaccess:{$:0},"cdn77-ssl":{$:0},cdn77:{r:{$:0}},"feste-ip":{$:0},"knx-server":{$:0},"static-access":{$:0},cryptonomic:{"*":{$:0}},debian:{$:0},"at-band-camp":{$:0},blogdns:{$:0},"broke-it":{$:0},buyshouses:{$:0},dnsalias:{$:0},dnsdojo:{$:0},"does-it":{$:0},dontexist:{$:0},dynalias:{$:0},dynathome:{$:0},endofinternet:{$:0},"from-az":{$:0},"from-co":{$:0},"from-la":{$:0},"from-ny":{$:0},"gets-it":{$:0},"ham-radio-op":{$:0},homeftp:{$:0},homeip:{$:0},homelinux:{$:0},homeunix:{$:0},"in-the-band":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},"office-on-the":{$:0},podzone:{$:0},"scrapper-site":{$:0},selfip:{$:0},"sells-it":{$:0},servebbs:{$:0},serveftp:{$:0},thruhere:{$:0},webhop:{$:0},definima:{$:0},casacam:{$:0},dynu:{$:0},dynv6:{$:0},twmail:{$:0},ru:{$:0},channelsdvr:{$:0},fastlylb:{$:0,map:{$:0}},fastly:{freetls:{$:0},map:{$:0},prod:{a:{$:0},global:{$:0}},ssl:{a:{$:0},b:{$:0},global:{$:0}}},flynnhosting:{$:0},cloudfunctions:{$:0},moonscale:{$:0},ipifony:{$:0},barsy:{$:0},azurewebsites:{$:0},"azure-mobile":{$:0},cloudapp:{$:0},"eating-organic":{$:0},mydissent:{$:0},myeffect:{$:0},mymediapc:{$:0},mypsx:{$:0},mysecuritycamera:{$:0},nhlfan:{$:0},"no-ip":{$:0},pgafan:{$:0},privatizehealthinsurance:{$:0},bounceme:{$:0},ddns:{$:0},redirectme:{$:0},serveblog:{$:0},serveminecraft:{$:0},sytes:{$:0},rackmaze:{$:0},"firewall-gateway":{$:0},dsmynas:{$:0},familyds:{$:0},za:{$:0}},nf:{$:0,com:{$:0},net:{$:0},per:{$:0},rec:{$:0},web:{$:0},arts:{$:0},firm:{$:0},info:{$:0},other:{$:0},store:{$:0}},ng:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},i:{$:0},mil:{$:0},mobi:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0}},ni:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gob:{$:0},in:{$:0},info:{$:0},int:{$:0},mil:{$:0},net:{$:0},nom:{$:0},org:{$:0},web:{$:0}},nl:{$:0,bv:{$:0},virtueeldomein:{$:0},co:{$:0},"hosting-cluster":{$:0},blogspot:{$:0},transurl:{"*":{$:0}},cistron:{$:0},demon:{$:0}},no:{$:0,fhs:{$:0},vgs:{$:0},fylkesbibl:{$:0},folkebibl:{$:0},museum:{$:0},idrett:{$:0},priv:{$:0},mil:{$:0},stat:{$:0},dep:{$:0},kommune:{$:0},herad:{$:0},aa:{$:0,gs:{$:0}},ah:{$:0,gs:{$:0}},bu:{$:0,gs:{$:0}},fm:{$:0,gs:{$:0}},hl:{$:0,gs:{$:0}},hm:{$:0,gs:{$:0}},"jan-mayen":{$:0,gs:{$:0}},mr:{$:0,gs:{$:0}},nl:{$:0,gs:{$:0}},nt:{$:0,gs:{$:0}},of:{$:0,gs:{$:0}},ol:{$:0,gs:{$:0}},oslo:{$:0,gs:{$:0}},rl:{$:0,gs:{$:0}},sf:{$:0,gs:{$:0}},st:{$:0,gs:{$:0}},svalbard:{$:0,gs:{$:0}},tm:{$:0,gs:{$:0}},tr:{$:0,gs:{$:0}},va:{$:0,gs:{$:0}},vf:{$:0,gs:{$:0}},akrehamn:{$:0},"xn--krehamn-dxa":{$:0},algard:{$:0},"xn--lgrd-poac":{$:0},arna:{$:0},brumunddal:{$:0},bryne:{$:0},bronnoysund:{$:0},"xn--brnnysund-m8ac":{$:0},drobak:{$:0},"xn--drbak-wua":{$:0},egersund:{$:0},fetsund:{$:0},floro:{$:0},"xn--flor-jra":{$:0},fredrikstad:{$:0},hokksund:{$:0},honefoss:{$:0},"xn--hnefoss-q1a":{$:0},jessheim:{$:0},jorpeland:{$:0},"xn--jrpeland-54a":{$:0},kirkenes:{$:0},kopervik:{$:0},krokstadelva:{$:0},langevag:{$:0},"xn--langevg-jxa":{$:0},leirvik:{$:0},mjondalen:{$:0},"xn--mjndalen-64a":{$:0},"mo-i-rana":{$:0},mosjoen:{$:0},"xn--mosjen-eya":{$:0},nesoddtangen:{$:0},orkanger:{$:0},osoyro:{$:0},"xn--osyro-wua":{$:0},raholt:{$:0},"xn--rholt-mra":{$:0},sandnessjoen:{$:0},"xn--sandnessjen-ogb":{$:0},skedsmokorset:{$:0},slattum:{$:0},spjelkavik:{$:0},stathelle:{$:0},stavern:{$:0},stjordalshalsen:{$:0},"xn--stjrdalshalsen-sqb":{$:0},tananger:{$:0},tranby:{$:0},vossevangen:{$:0},afjord:{$:0},"xn--fjord-lra":{$:0},agdenes:{$:0},al:{$:0},"xn--l-1fa":{$:0},alesund:{$:0},"xn--lesund-hua":{$:0},alstahaug:{$:0},alta:{$:0},"xn--lt-liac":{$:0},alaheadju:{$:0},"xn--laheadju-7ya":{$:0},alvdal:{$:0},amli:{$:0},"xn--mli-tla":{$:0},amot:{$:0},"xn--mot-tla":{$:0},andebu:{$:0},andoy:{$:0},"xn--andy-ira":{$:0},andasuolo:{$:0},ardal:{$:0},"xn--rdal-poa":{$:0},aremark:{$:0},arendal:{$:0},"xn--s-1fa":{$:0},aseral:{$:0},"xn--seral-lra":{$:0},asker:{$:0},askim:{$:0},askvoll:{$:0},askoy:{$:0},"xn--asky-ira":{$:0},asnes:{$:0},"xn--snes-poa":{$:0},audnedaln:{$:0},aukra:{$:0},aure:{$:0},aurland:{$:0},"aurskog-holand":{$:0},"xn--aurskog-hland-jnb":{$:0},austevoll:{$:0},austrheim:{$:0},averoy:{$:0},"xn--avery-yua":{$:0},balestrand:{$:0},ballangen:{$:0},balat:{$:0},"xn--blt-elab":{$:0},balsfjord:{$:0},bahccavuotna:{$:0},"xn--bhccavuotna-k7a":{$:0},bamble:{$:0},bardu:{$:0},beardu:{$:0},beiarn:{$:0},bajddar:{$:0},"xn--bjddar-pta":{$:0},baidar:{$:0},"xn--bidr-5nac":{$:0},berg:{$:0},bergen:{$:0},berlevag:{$:0},"xn--berlevg-jxa":{$:0},bearalvahki:{$:0},"xn--bearalvhki-y4a":{$:0},bindal:{$:0},birkenes:{$:0},bjarkoy:{$:0},"xn--bjarky-fya":{$:0},bjerkreim:{$:0},bjugn:{$:0},bodo:{$:0},"xn--bod-2na":{$:0},badaddja:{$:0},"xn--bdddj-mrabd":{$:0},budejju:{$:0},bokn:{$:0},bremanger:{$:0},bronnoy:{$:0},"xn--brnny-wuac":{$:0},bygland:{$:0},bykle:{$:0},barum:{$:0},"xn--brum-voa":{$:0},telemark:{bo:{$:0},"xn--b-5ga":{$:0}},nordland:{bo:{$:0},"xn--b-5ga":{$:0},heroy:{$:0},"xn--hery-ira":{$:0}},bievat:{$:0},"xn--bievt-0qa":{$:0},bomlo:{$:0},"xn--bmlo-gra":{$:0},batsfjord:{$:0},"xn--btsfjord-9za":{$:0},bahcavuotna:{$:0},"xn--bhcavuotna-s4a":{$:0},dovre:{$:0},drammen:{$:0},drangedal:{$:0},dyroy:{$:0},"xn--dyry-ira":{$:0},donna:{$:0},"xn--dnna-gra":{$:0},eid:{$:0},eidfjord:{$:0},eidsberg:{$:0},eidskog:{$:0},eidsvoll:{$:0},eigersund:{$:0},elverum:{$:0},enebakk:{$:0},engerdal:{$:0},etne:{$:0},etnedal:{$:0},evenes:{$:0},evenassi:{$:0},"xn--eveni-0qa01ga":{$:0},"evje-og-hornnes":{$:0},farsund:{$:0},fauske:{$:0},fuossko:{$:0},fuoisku:{$:0},fedje:{$:0},fet:{$:0},finnoy:{$:0},"xn--finny-yua":{$:0},fitjar:{$:0},fjaler:{$:0},fjell:{$:0},flakstad:{$:0},flatanger:{$:0},flekkefjord:{$:0},flesberg:{$:0},flora:{$:0},fla:{$:0},"xn--fl-zia":{$:0},folldal:{$:0},forsand:{$:0},fosnes:{$:0},frei:{$:0},frogn:{$:0},froland:{$:0},frosta:{$:0},frana:{$:0},"xn--frna-woa":{$:0},froya:{$:0},"xn--frya-hra":{$:0},fusa:{$:0},fyresdal:{$:0},forde:{$:0},"xn--frde-gra":{$:0},gamvik:{$:0},gangaviika:{$:0},"xn--ggaviika-8ya47h":{$:0},gaular:{$:0},gausdal:{$:0},gildeskal:{$:0},"xn--gildeskl-g0a":{$:0},giske:{$:0},gjemnes:{$:0},gjerdrum:{$:0},gjerstad:{$:0},gjesdal:{$:0},gjovik:{$:0},"xn--gjvik-wua":{$:0},gloppen:{$:0},gol:{$:0},gran:{$:0},grane:{$:0},granvin:{$:0},gratangen:{$:0},grimstad:{$:0},grong:{$:0},kraanghke:{$:0},"xn--kranghke-b0a":{$:0},grue:{$:0},gulen:{$:0},hadsel:{$:0},halden:{$:0},halsa:{$:0},hamar:{$:0},hamaroy:{$:0},habmer:{$:0},"xn--hbmer-xqa":{$:0},hapmir:{$:0},"xn--hpmir-xqa":{$:0},hammerfest:{$:0},hammarfeasta:{$:0},"xn--hmmrfeasta-s4ac":{$:0},haram:{$:0},hareid:{$:0},harstad:{$:0},hasvik:{$:0},aknoluokta:{$:0},"xn--koluokta-7ya57h":{$:0},hattfjelldal:{$:0},aarborte:{$:0},haugesund:{$:0},hemne:{$:0},hemnes:{$:0},hemsedal:{$:0},"more-og-romsdal":{heroy:{$:0},sande:{$:0}},"xn--mre-og-romsdal-qqb":{"xn--hery-ira":{$:0},sande:{$:0}},hitra:{$:0},hjartdal:{$:0},hjelmeland:{$:0},hobol:{$:0},"xn--hobl-ira":{$:0},hof:{$:0},hol:{$:0},hole:{$:0},holmestrand:{$:0},holtalen:{$:0},"xn--holtlen-hxa":{$:0},hornindal:{$:0},horten:{$:0},hurdal:{$:0},hurum:{$:0},hvaler:{$:0},hyllestad:{$:0},hagebostad:{$:0},"xn--hgebostad-g3a":{$:0},hoyanger:{$:0},"xn--hyanger-q1a":{$:0},hoylandet:{$:0},"xn--hylandet-54a":{$:0},ha:{$:0},"xn--h-2fa":{$:0},ibestad:{$:0},inderoy:{$:0},"xn--indery-fya":{$:0},iveland:{$:0},jevnaker:{$:0},jondal:{$:0},jolster:{$:0},"xn--jlster-bya":{$:0},karasjok:{$:0},karasjohka:{$:0},"xn--krjohka-hwab49j":{$:0},karlsoy:{$:0},galsa:{$:0},"xn--gls-elac":{$:0},karmoy:{$:0},"xn--karmy-yua":{$:0},kautokeino:{$:0},guovdageaidnu:{$:0},klepp:{$:0},klabu:{$:0},"xn--klbu-woa":{$:0},kongsberg:{$:0},kongsvinger:{$:0},kragero:{$:0},"xn--krager-gya":{$:0},kristiansand:{$:0},kristiansund:{$:0},krodsherad:{$:0},"xn--krdsherad-m8a":{$:0},kvalsund:{$:0},rahkkeravju:{$:0},"xn--rhkkervju-01af":{$:0},kvam:{$:0},kvinesdal:{$:0},kvinnherad:{$:0},kviteseid:{$:0},kvitsoy:{$:0},"xn--kvitsy-fya":{$:0},kvafjord:{$:0},"xn--kvfjord-nxa":{$:0},giehtavuoatna:{$:0},kvanangen:{$:0},"xn--kvnangen-k0a":{$:0},navuotna:{$:0},"xn--nvuotna-hwa":{$:0},kafjord:{$:0},"xn--kfjord-iua":{$:0},gaivuotna:{$:0}
736,"xn--givuotna-8ya":{$:0},larvik:{$:0},lavangen:{$:0},lavagis:{$:0},loabat:{$:0},"xn--loabt-0qa":{$:0},lebesby:{$:0},davvesiida:{$:0},leikanger:{$:0},leirfjord:{$:0},leka:{$:0},leksvik:{$:0},lenvik:{$:0},leangaviika:{$:0},"xn--leagaviika-52b":{$:0},lesja:{$:0},levanger:{$:0},lier:{$:0},lierne:{$:0},lillehammer:{$:0},lillesand:{$:0},lindesnes:{$:0},lindas:{$:0},"xn--linds-pra":{$:0},lom:{$:0},loppa:{$:0},lahppi:{$:0},"xn--lhppi-xqa":{$:0},lund:{$:0},lunner:{$:0},luroy:{$:0},"xn--lury-ira":{$:0},luster:{$:0},lyngdal:{$:0},lyngen:{$:0},ivgu:{$:0},lardal:{$:0},lerdal:{$:0},"xn--lrdal-sra":{$:0},lodingen:{$:0},"xn--ldingen-q1a":{$:0},lorenskog:{$:0},"xn--lrenskog-54a":{$:0},loten:{$:0},"xn--lten-gra":{$:0},malvik:{$:0},masoy:{$:0},"xn--msy-ula0h":{$:0},muosat:{$:0},"xn--muost-0qa":{$:0},mandal:{$:0},marker:{$:0},marnardal:{$:0},masfjorden:{$:0},meland:{$:0},meldal:{$:0},melhus:{$:0},meloy:{$:0},"xn--mely-ira":{$:0},meraker:{$:0},"xn--merker-kua":{$:0},moareke:{$:0},"xn--moreke-jua":{$:0},midsund:{$:0},"midtre-gauldal":{$:0},modalen:{$:0},modum:{$:0},molde:{$:0},moskenes:{$:0},moss:{$:0},mosvik:{$:0},malselv:{$:0},"xn--mlselv-iua":{$:0},malatvuopmi:{$:0},"xn--mlatvuopmi-s4a":{$:0},namdalseid:{$:0},aejrie:{$:0},namsos:{$:0},namsskogan:{$:0},naamesjevuemie:{$:0},"xn--nmesjevuemie-tcba":{$:0},laakesvuemie:{$:0},nannestad:{$:0},narvik:{$:0},narviika:{$:0},naustdal:{$:0},"nedre-eiker":{$:0},akershus:{nes:{$:0}},buskerud:{nes:{$:0}},nesna:{$:0},nesodden:{$:0},nesseby:{$:0},unjarga:{$:0},"xn--unjrga-rta":{$:0},nesset:{$:0},nissedal:{$:0},nittedal:{$:0},"nord-aurdal":{$:0},"nord-fron":{$:0},"nord-odal":{$:0},norddal:{$:0},nordkapp:{$:0},davvenjarga:{$:0},"xn--davvenjrga-y4a":{$:0},"nordre-land":{$:0},nordreisa:{$:0},raisa:{$:0},"xn--risa-5na":{$:0},"nore-og-uvdal":{$:0},notodden:{$:0},naroy:{$:0},"xn--nry-yla5g":{$:0},notteroy:{$:0},"xn--nttery-byae":{$:0},odda:{$:0},oksnes:{$:0},"xn--ksnes-uua":{$:0},oppdal:{$:0},oppegard:{$:0},"xn--oppegrd-ixa":{$:0},orkdal:{$:0},orland:{$:0},"xn--rland-uua":{$:0},orskog:{$:0},"xn--rskog-uua":{$:0},orsta:{$:0},"xn--rsta-fra":{$:0},hedmark:{os:{$:0},valer:{$:0},"xn--vler-qoa":{$:0}},hordaland:{os:{$:0}},osen:{$:0},osteroy:{$:0},"xn--ostery-fya":{$:0},"ostre-toten":{$:0},"xn--stre-toten-zcb":{$:0},overhalla:{$:0},"ovre-eiker":{$:0},"xn--vre-eiker-k8a":{$:0},oyer:{$:0},"xn--yer-zna":{$:0},oygarden:{$:0},"xn--ygarden-p1a":{$:0},"oystre-slidre":{$:0},"xn--ystre-slidre-ujb":{$:0},porsanger:{$:0},porsangu:{$:0},"xn--porsgu-sta26f":{$:0},porsgrunn:{$:0},radoy:{$:0},"xn--rady-ira":{$:0},rakkestad:{$:0},rana:{$:0},ruovat:{$:0},randaberg:{$:0},rauma:{$:0},rendalen:{$:0},rennebu:{$:0},rennesoy:{$:0},"xn--rennesy-v1a":{$:0},rindal:{$:0},ringebu:{$:0},ringerike:{$:0},ringsaker:{$:0},rissa:{$:0},risor:{$:0},"xn--risr-ira":{$:0},roan:{$:0},rollag:{$:0},rygge:{$:0},ralingen:{$:0},"xn--rlingen-mxa":{$:0},rodoy:{$:0},"xn--rdy-0nab":{$:0},romskog:{$:0},"xn--rmskog-bya":{$:0},roros:{$:0},"xn--rros-gra":{$:0},rost:{$:0},"xn--rst-0na":{$:0},royken:{$:0},"xn--ryken-vua":{$:0},royrvik:{$:0},"xn--ryrvik-bya":{$:0},rade:{$:0},"xn--rde-ula":{$:0},salangen:{$:0},siellak:{$:0},saltdal:{$:0},salat:{$:0},"xn--slt-elab":{$:0},"xn--slat-5na":{$:0},samnanger:{$:0},vestfold:{sande:{$:0}},sandefjord:{$:0},sandnes:{$:0},sandoy:{$:0},"xn--sandy-yua":{$:0},sarpsborg:{$:0},sauda:{$:0},sauherad:{$:0},sel:{$:0},selbu:{$:0},selje:{$:0},seljord:{$:0},sigdal:{$:0},siljan:{$:0},sirdal:{$:0},skaun:{$:0},skedsmo:{$:0},ski:{$:0},skien:{$:0},skiptvet:{$:0},skjervoy:{$:0},"xn--skjervy-v1a":{$:0},skierva:{$:0},"xn--skierv-uta":{$:0},skjak:{$:0},"xn--skjk-soa":{$:0},skodje:{$:0},skanland:{$:0},"xn--sknland-fxa":{$:0},skanit:{$:0},"xn--sknit-yqa":{$:0},smola:{$:0},"xn--smla-hra":{$:0},snillfjord:{$:0},snasa:{$:0},"xn--snsa-roa":{$:0},snoasa:{$:0},snaase:{$:0},"xn--snase-nra":{$:0},sogndal:{$:0},sokndal:{$:0},sola:{$:0},solund:{$:0},songdalen:{$:0},sortland:{$:0},spydeberg:{$:0},stange:{$:0},stavanger:{$:0},steigen:{$:0},steinkjer:{$:0},stjordal:{$:0},"xn--stjrdal-s1a":{$:0},stokke:{$:0},"stor-elvdal":{$:0},stord:{$:0},stordal:{$:0},storfjord:{$:0},omasvuotna:{$:0},strand:{$:0},stranda:{$:0},stryn:{$:0},sula:{$:0},suldal:{$:0},sund:{$:0},sunndal:{$:0},surnadal:{$:0},sveio:{$:0},svelvik:{$:0},sykkylven:{$:0},sogne:{$:0},"xn--sgne-gra":{$:0},somna:{$:0},"xn--smna-gra":{$:0},"sondre-land":{$:0},"xn--sndre-land-0cb":{$:0},"sor-aurdal":{$:0},"xn--sr-aurdal-l8a":{$:0},"sor-fron":{$:0},"xn--sr-fron-q1a":{$:0},"sor-odal":{$:0},"xn--sr-odal-q1a":{$:0},"sor-varanger":{$:0},"xn--sr-varanger-ggb":{$:0},"matta-varjjat":{$:0},"xn--mtta-vrjjat-k7af":{$:0},sorfold:{$:0},"xn--srfold-bya":{$:0},sorreisa:{$:0},"xn--srreisa-q1a":{$:0},sorum:{$:0},"xn--srum-gra":{$:0},tana:{$:0},deatnu:{$:0},time:{$:0},tingvoll:{$:0},tinn:{$:0},tjeldsund:{$:0},dielddanuorri:{$:0},tjome:{$:0},"xn--tjme-hra":{$:0},tokke:{$:0},tolga:{$:0},torsken:{$:0},tranoy:{$:0},"xn--trany-yua":{$:0},tromso:{$:0},"xn--troms-zua":{$:0},tromsa:{$:0},romsa:{$:0},trondheim:{$:0},troandin:{$:0},trysil:{$:0},trana:{$:0}
736,"xn--trna-woa":{$:0},trogstad:{$:0},"xn--trgstad-r1a":{$:0},tvedestrand:{$:0},tydal:{$:0},tynset:{$:0},tysfjord:{$:0},divtasvuodna:{$:0},divttasvuotna:{$:0},tysnes:{$:0},tysvar:{$:0},"xn--tysvr-vra":{$:0},tonsberg:{$:0},"xn--tnsberg-q1a":{$:0},ullensaker:{$:0},ullensvang:{$:0},ulvik:{$:0},utsira:{$:0},vadso:{$:0},"xn--vads-jra":{$:0},cahcesuolo:{$:0},"xn--hcesuolo-7ya35b":{$:0},vaksdal:{$:0},valle:{$:0},vang:{$:0},vanylven:{$:0},vardo:{$:0},"xn--vard-jra":{$:0},varggat:{$:0},"xn--vrggt-xqad":{$:0},vefsn:{$:0},vaapste:{$:0},vega:{$:0},vegarshei:{$:0},"xn--vegrshei-c0a":{$:0},vennesla:{$:0},verdal:{$:0},verran:{$:0},vestby:{$:0},vestnes:{$:0},"vestre-slidre":{$:0},"vestre-toten":{$:0},vestvagoy:{$:0},"xn--vestvgy-ixa6o":{$:0},vevelstad:{$:0},vik:{$:0},vikna:{$:0},vindafjord:{$:0},volda:{$:0},voss:{$:0},varoy:{$:0},"xn--vry-yla5g":{$:0},vagan:{$:0},"xn--vgan-qoa":{$:0},voagat:{$:0},vagsoy:{$:0},"xn--vgsy-qoa0j":{$:0},vaga:{$:0},"xn--vg-yiab":{$:0},ostfold:{valer:{$:0}},"xn--stfold-9xa":{"xn--vler-qoa":{$:0}},co:{$:0},blogspot:{$:0}},np:{"*":{$:0}},nr:{$:0,biz:{$:0},info:{$:0},gov:{$:0},edu:{$:0},org:{$:0}
vendor: 2,760 bytes, line 736
736,net:{$:0},com:{$:0}},nu:{$:0,merseine:{$:0},mine:{$:0},shacknet:{$:0},nom:{$:0}},nz:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0}},cri:{$:0},geek:{$:0},gen:{$:0},govt:{$:0},health:{$:0},iwi:{$:0},kiwi:{$:0},maori:{$:0},mil:{$:0},"xn--mori-qsa":{$:0},net:{$:0},org:{$:0},parliament:{$:0},school:{$:0},nym:{$:0}},om:{$:0,co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},med:{$:0},museum:{$:0},net:{$:0},org:{$:0},pro:{$:0}},onion:{$:0},org:{$:0,amune:{tele:{$:0}},pimienta:{$:0},poivron:{$:0},potager:{$:0},sweetpepper:{$:0},ae:{$:0},us:{$:0},certmgr:{$:0},cdn77:{c:{$:0},rsc:{$:0}},"cdn77-secure":{origin:{ssl:{$:0}}},cloudns:{$:0},duckdns:{$:0},tunk:{$:0},dyndns:{$:0,go:{$:0},home:{$:0}},blogdns:{$:0},blogsite:{$:0},boldlygoingnowhere:{$:0},dnsalias:{$:0},dnsdojo:{$:0},doesntexist:{$:0},dontexist:{$:0},doomdns:{$:0},dvrdns:{$:0},dynalias:{$:0},endofinternet:{$:0},endoftheinternet:{$:0},"from-me":{$:0},"game-host":{$:0},gotdns:{$:0},"hobby-site":{$:0},homedns:{$:0},homeftp:{$:0},homelinux:{$:0},homeunix:{$:0},"is-a-bruinsfan":{$:0},"is-a-candidate":{$:0},"is-a-celticsfan":{$:0},"is-a-chef":{$:0},"is-a-geek":{$:0},"is-a-knight":{$:0},"is-a-linux-user":{$:0},"is-a-patsfan":{$:0},"is-a-soxfan":{$:0},"is-found":{$:0},"is-lost":{$:0},"is-saved":{$:0},"is-very-bad":{$:0},"is-very-evil":{$:0},"is-very-good":{$:0},"is-very-nice":{$:0},"is-very-sweet":{$:0},"isa-geek":{$:0},"kicks-ass":{$:0},misconfused:{$:0},podzone:{$:0},readmyblog:{$:0},selfip:{$:0},sellsyourhome:{$:0},servebbs:{$:0},serveftp:{$:0},servegame:{$:0},"stuff-4-sale":{$:0},webhop:{$:0},ddnss:{$:0},accesscam:{$:0},camdvr:{$:0},freeddns:{$:0},mywire:{$:0},webredirect:{$:0},eu:{$:0,al:{$:0},asso:{$:0},at:{$:0},au:{$:0},be:{$:0},bg:{$:0},ca:{$:0},cd:{$:0},ch:{$:0},cn:{$:0},cy:{$:0},cz:{$:0},de:{$:0},dk:{$:0},edu:{$:0},ee:{$:0},es:{$:0},fi:{$:0},fr:{$:0},gr:{$:0},hr:{$:0},hu:{$:0},ie:{$:0},il:{$:0},in:{$:0},int:{$:0},is:{$:0},it:{$:0},jp:{$:0},kr:{$:0},lt:{$:0},lu:{$:0},lv:{$:0},mc:{$:0},me:{$:0},mk:{$:0},mt:{$:0},my:{$:0},net:{$:0},ng:{$:0},nl:{$:0},no:{$:0},nz:{$:0},paris:{$:0},pl:{$:0},pt:{$:0},"q-a":{$:0},ro:{$:0},ru:{$:0},se:{$:0},si:{$:0},sk:{$:0},tr:{$:0},uk:{$:0},us:{$:0}},twmail:{$:0},fedorainfracloud:{$:0},fedorapeople:{$:0},fedoraproject:{cloud:{$:0},os:{app:{$:0}},stg:{os:{app:{$:0}}}},hepforge:{$:0},js:{$:0},bmoattachments:{$:0},"cable-modem":{$:0},collegefan:{$:0},couchpotatofries:{$:0},mlbfan:{$:0},mysecuritycamera:{$:0},nflfan:{$:0},"read-books":{$:0},ufcfan:{$:0},hopto:{$:0},myftp:{$:0},"no-ip":{$:0},zapto:{$:0},"my-firewall":{$:0},myfirewall:{$:0},spdns:{$:0},dsmynas:{$:0},familyds:{$:0},tuxfamily:{$:0},diskstation:{$:0},hk:{$:0},wmflabs:{$:0},za:{$:0}},pa:{$:0,ac:{$:0},gob:{$:0},com:{$:0},org:{$:0},sld:{$:0},edu:{$:0},net:{$:0},ing:{$:0},abo:{$:0},med:{$:0},nom:{$:0}}
736,pe:{$:0,edu:{$:0},gob:{$:0},nom:{$:0},mil:{$:0},org:{$:0},com:{$:0},net:{$:0},blogspot:{$:0},nym:{$:0}},pf:{$:0,com:{$:0},org:{$:0},edu:{$:0}},pg:{"*":{$:0}},ph:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},ngo:{$:0},mil:{$:0},i:{$:0}},pk:{$:0,com:{$:0},net:{$:0},edu:{$:0},org:{$:0},fam:{$:0},biz:{$:0},web:{$:0},gov:{$:0},gob:{$:0},gok:{$:0},gon:{$:0},gop:{$:0},gos:{$:0},info:{$:0}},pl:{$:0,com:{$:0},net:{$:0},org:{$:0},aid:{$:0},agro:{$:0},atm:{$:0},auto:{$:0},biz:{$:0},edu:{$:0},gmina:{$:0},gsm:{$:0},info:{$:0},mail:{$:0},miasta:{$:0},media:{$:0},mil:{$:0},nieruchomosci:{$:0},nom:{$:0},pc:{$:0},powiat:{$:0},priv:{$:0},realestate:{$:0},rel:{$:0},sex:{$:0},shop:{$:0},sklep:{$:0},sos:{$:0},szkola:{$:0},targi:{$:0},tm:{$:0},tourism:{$:0},travel:{$:0},turystyka:{$:0},gov:{$:0,ap:{$:0},ic:{$:0},is:{$:0},us:{$:0},kmpsp:{$:0},kppsp:{$:0},kwpsp:{$:0},psp:{$:0},wskr:{$:0},kwp:{$:0},mw:{$:0},ug:{$:0},um:{$:0},umig:{$:0},ugim:{$:0},upow:{$:0},uw:{$:0},starostwo:{$:0},pa:{$:0},po:{$:0},psse:{$:0},pup:{$:0},rzgw:{$:0},sa:{$:0},so:{$:0},sr:{$:0},wsa:{$:0},sko:{$:0},uzs:{$:0},wiih:{$:0},winb:{$:0},pinb:{$:0},wios:{$:0},witd:{$:0},wzmiuw:{$:0},piw:{$:0},wiw:{$:0},griw:{$:0},wif:{$:0},oum:{$:0},sdn:{$:0},zp:{$:0},uppo:{$:0},mup:{$:0},wuoz:{$:0},konsulat:{$:0},oirm:{$:0}},augustow:{$:0},"babia-gora":{$:0},bedzin:{$:0},beskidy:{$:0},bialowieza:{$:0},bialystok:{$:0},bielawa:{$:0},bieszczady:{$:0},boleslawiec:{$:0},bydgoszcz:{$:0},bytom:{$:0},cieszyn:{$:0},czeladz:{$:0},czest:{$:0},dlugoleka:{$:0},elblag:{$:0},elk:{$:0},glogow:{$:0},gniezno:{$:0},gorlice:{$:0},grajewo:{$:0},ilawa:{$:0},jaworzno:{$:0},"jelenia-gora":{$:0},jgora:{$:0},kalisz:{$:0},"kazimierz-dolny":{$:0},karpacz:{$:0},kartuzy:{$:0},kaszuby:{$:0},katowice:{$:0},kepno:{$:0},ketrzyn:{$:0},klodzko:{$:0},kobierzyce:{$:0},kolobrzeg:{$:0},konin:{$:0},konskowola:{$:0},kutno:{$:0},lapy:{$:0},lebork:{$:0},legnica:{$:0},lezajsk:{$:0},limanowa:{$:0},lomza:{$:0},lowicz:{$:0},lubin:{$:0},lukow:{$:0},malbork:{$:0},malopolska:{$:0},mazowsze:{$:0},mazury:{$:0},mielec:{$:0},mielno:{$:0},mragowo:{$:0},naklo:{$:0},nowaruda:{$:0},nysa:{$:0},olawa:{$:0},olecko:{$:0},olkusz:{$:0},olsztyn:{$:0},opoczno:{$:0},opole:{$:0},ostroda:{$:0},ostroleka:{$:0},ostrowiec:{$:0},ostrowwlkp:{$:0},pila:{$:0},pisz:{$:0},podhale:{$:0},podlasie:{$:0},polkowice:{$:0},pomorze:{$:0},pomorskie:{$:0},prochowice:{$:0},pruszkow:{$:0},przeworsk:{$:0},pulawy:{$:0},radom:{$:0},"rawa-maz":{$:0},rybnik:{$:0},rzeszow:{$:0},sanok:{$:0},sejny:{$:0},slask:{$:0},slupsk:{$:0},sosnowiec:{$:0},"stalowa-wola":{$:0},skoczow:{$:0},starachowice:{$:0},stargard:{$:0},suwalki:{$:0},swidnica:{$:0},swiebodzin:{$:0},swinoujscie:{$:0},szczecin:{$:0},szczytno:{$:0},tarnobrzeg:{$:0},tgory:{$:0},turek:{$:0},tychy:{$:0},ustka:{$:0},walbrzych:{$:0},warmia:{$:0},warszawa:{$:0},waw:{$:0},wegrow:{$:0},wielun:{$:0},wlocl:{$:0},wloclawek:{$:0},wodzislaw:{$:0},wolomin:{$:0},wroclaw:{$:0},zachpomor:{$:0},zagan:{$:0},zarow:{$:0},zgora:{$:0},zgorzelec:{$:0},beep:{$:0},co:{$:0},art:{$:0},gliwice:{$:0},krakow:{$:0},poznan:{$:0},wroc:{$:0},zakopane:{$:0},gda:{$:0},gdansk:{$:0},gdynia:{$:0},med:{$:0},sopot:{$:0}},pm:{$:0},pn:{$:0,gov:{$:0},co:{$:0},org:{$:0},edu:{$:0},net:{$:0}},post:{$:0},pr:{$:0,com:{$:0}
736,net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},isla:{$:0},pro:{$:0},biz:{$:0},info:{$:0},name:{$:0},est:{$:0},prof:{$:0},ac:{$:0}},pro:{$:0,aaa:{$:0},aca:{$:0},acct:{$:0},avocat:{$:0},bar:{$:0},cpa:{$:0},eng:{$:0},jur:{$:0},law:{$:0},med:{$:0},recht:{$:0},cloudns:{$:0}},ps:{$:0,edu:{$:0},gov:{$:0},sec:{$:0},plo:{$:0},com:{$:0},org:{$:0},net:{$:0}},pt:{$:0,net:{$:0},gov:{$:0},org:{$:0},edu:{$:0},int:{$:0},publ:{$:0},com:{$:0},nome:{$:0},blogspot:{$:0},nym:{$:0}},pw:{$:0,co:{$:0},ne:{$:0},or:{$:0},ed:{$:0},go:{$:0},belau:{$:0},cloudns:{$:0},nom:{$:0}},py:{$:0,com:{$:0},coop:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0}},qa:{$:0,com:{$:0},edu:{$:0},gov:{$:0},mil:{$:0},name:{$:0},net:{$:0},org:{$:0},sch:{$:0},blogspot:{$:0},nom:{$:0}},re:{$:0,asso:{$:0},com:{$:0},nom:{$:0},blogspot:{$:0}},ro:{$:0,arts:{$:0},com:{$:0},firm:{$:0},info:{$:0},nom:{$:0},nt:{$:0},org:{$:0},rec:{$:0},store:{$:0},tm:{$:0},www:{$:0},shop:{$:0},blogspot:{$:0}},rs:{$:0,ac:{$:0},co:{$:0},edu:{$:0},gov:{$:0},in:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},ru:{$:0,ac:{$:0},edu:{$:0},gov:{$:0},int:{$:0},mil:{$:0},test:{$:0},adygeya:{$:0},bashkiria:{$:0},bir:{$:0},cbg:{$:0},com:{$:0},dagestan:{$:0},grozny:{$:0},kalmykia:{$:0},kustanai:{$:0},marine:{$:0},mordovia:{$:0},msk:{$:0},mytis:{$:0},nalchik:{$:0},nov:{$:0},pyatigorsk:{$:0},spb:{$:0},vladikavkaz:{$:0},vladimir:{$:0},blogspot:{$:0},cldmail:{hb:{$:0}},net:{$:0},org:{$:0},pp:{$:0}},rw:{$:0,gov:{$:0},net:{$:0},edu:{$:0},ac:{$:0},com:{$:0},co:{$:0},int:{$:0},mil:{$:0},gouv:{$:0}},sa:{$:0,com:{$:0}
736,net:{$:0},org:{$:0},gov:{$:0},med:{$:0},pub:{$:0},edu:{$:0},sch:{$:0}},sb:{$:0,com:{$:0},edu:{$:0},gov:{$:0},net:{$:0},org:{$:0}},sc:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0}},sd:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},med:{$:0},tv:{$:0},gov:{$:0},info:{$:0}},se:{$:0,a:{$:0},ac:{$:0},b:{$:0},bd:{$:0},brand:{$:0},c:{$:0},d:{$:0},e:{$:0},f:{$:0},fh:{$:0},fhsk:{$:0},fhv:{$:0},g:{$:0},h:{$:0},i:{$:0},k:{$:0},komforb:{$:0},kommunalforbund:{$:0},komvux:{$:0},l:{$:0},lanbib:{$:0},m:{$:0},n:{$:0},naturbruksgymn:{$:0},o:{$:0},org:{$:0},p:{$:0},parti:{$:0},pp:{$:0},press:{$:0},r:{$:0},s:{$:0},t:{$:0},tm:{$:0},u:{$:0},w:{$:0},x:{$:0},y:{$:0},z:{$:0},com:{$:0},blogspot:{$:0}},sg:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},per:{$:0},blogspot:{$:0}},sh:{$:0,com:{$:0},net:{$:0},gov:{$:0},org:{$:0},mil:{$:0},hashbang:{$:0},platform:{"*":{$:0}},wedeploy:{$:0},now:{$:0}},si:{$:0,blogspot:{$:0},nom:{$:0}},sj:{$:0},sk:{$:0,blogspot:{$:0},nym:{$:0}},sl:{$:0,com:{$:0},net:{$:0},edu:{$:0},gov:{$:0},org:{$:0}},sm:{$:0},sn:{$:0,art:{$:0},com:{$:0},edu:{$:0},gouv:{$:0},org:{$:0},perso:{$:0},univ:{$:0},blogspot:{$:0}},so:{$:0,com:{$:0}
736,net:{$:0},org:{$:0}},sr:{$:0},st:{$:0,co:{$:0},com:{$:0},consulado:{$:0},edu:{$:0},embaixada:{$:0},gov:{$:0},mil:{$:0},net:{$:0},org:{$:0},principe:{$:0},saotome:{$:0},store:{$:0}},su:{$:0,abkhazia:{$:0},adygeya:{$:0},aktyubinsk:{$:0},arkhangelsk:{$:0},armenia:{$:0},ashgabad:{$:0},azerbaijan:{$:0},balashov:{$:0},bashkiria:{$:0},bryansk:{$:0},bukhara:{$:0},chimkent:{$:0},dagestan:{$:0},"east-kazakhstan":{$:0},exnet:{$:0},georgia:{$:0},grozny:{$:0},ivanovo:{$:0},jambyl:{$:0},kalmykia:{$:0},kaluga:{$:0},karacol:{$:0},karaganda:{$:0},karelia:{$:0},khakassia:{$:0},krasnodar:{$:0},kurgan:{$:0},kustanai:{$:0},lenug:{$:0},mangyshlak:{$:0},mordovia:{$:0},msk:{$:0},murmansk:{$:0},nalchik:{$:0},navoi:{$:0},"north-kazakhstan":{$:0},nov:{$:0},obninsk:{$:0},penza:{$:0},pokrovsk:{$:0},sochi:{$:0},spb:{$:0},tashkent:{$:0},termez:{$:0},togliatti:{$:0},troitsk:{$:0},tselinograd:{$:0},tula:{$:0},tuva:{$:0},vladikavkaz:{$:0},vladimir:{$:0},vologda:{$:0},nym:{$:0}},sv:{$:0,com:{$:0},edu:{$:0},gob:{$:0},org:{$:0},red:{$:0}},sx:{$:0,gov:{$:0},nym:{$:0}},sy:{$:0,edu:{$:0},gov:{$:0},net:{$:0},mil:{$:0},com:{$:0},org:{$:0}},sz:{$:0,co:{$:0},ac:{$:0},org:{$:0}},tc:{$:0},td:{$:0,blogspot:{$:0}},tel:{$:0},tf:{$:0},tg:{$:0},th:{$:0,ac:{$:0},co:{$:0},go:{$:0},in:{$:0},mi:{$:0},net:{$:0},or:{$:0}},tj:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},go:{$:0},gov:{$:0},int:{$:0},mil:{$:0},name:{$:0},net:{$:0},nic:{$:0},org:{$:0},test:{$:0},web:{$:0}},tk:{$:0},tl:{$:0,gov:{$:0}},tm:{$:0,com:{$:0},co:{$:0},org:{$:0}
vendor: 4,105 bytes, line 736
736,net:{$:0},nom:{$:0},gov:{$:0},mil:{$:0},edu:{$:0}},tn:{$:0,com:{$:0},ens:{$:0},fin:{$:0},gov:{$:0},ind:{$:0},intl:{$:0},nat:{$:0},net:{$:0},org:{$:0},info:{$:0},perso:{$:0},tourism:{$:0},edunet:{$:0},rnrt:{$:0},rns:{$:0},rnu:{$:0},mincom:{$:0},agrinet:{$:0},defense:{$:0},turen:{$:0}},to:{$:0,com:{$:0},gov:{$:0},net:{$:0},org:{$:0},edu:{$:0},mil:{$:0},vpnplus:{$:0}},tr:{$:0,com:{$:0,blogspot:{$:0}},info:{$:0},biz:{$:0},net:{$:0},org:{$:0},web:{$:0},gen:{$:0},tv:{$:0},av:{$:0},dr:{$:0},bbs:{$:0},name:{$:0},tel:{$:0},gov:{$:0},bel:{$:0},pol:{$:0},mil:{$:0},k12:{$:0},edu:{$:0},kep:{$:0},nc:{$:0,gov:{$:0}}},travel:{$:0},tt:{$:0,co:{$:0},com:{$:0},org:{$:0},net:{$:0},biz:{$:0},info:{$:0},pro:{$:0},int:{$:0},coop:{$:0},jobs:{$:0},mobi:{$:0},travel:{$:0},museum:{$:0},aero:{$:0},name:{$:0},gov:{$:0},edu:{$:0}},tv:{$:0,dyndns:{$:0},"better-than":{$:0},"on-the-web":{$:0},"worse-than":{$:0}},tw:{$:0,edu:{$:0},gov:{$:0},mil:{$:0},com:{$:0,mymailer:{$:0}},net:{$:0},org:{$:0},idv:{$:0},game:{$:0},ebiz:{$:0},club:{$:0},"xn--zf0ao64a":{$:0},"xn--uc0atv":{$:0},"xn--czrw28b":{$:0},url:{$:0},blogspot:{$:0},nym:{$:0}},tz:{$:0,ac:{$:0},co:{$:0},go:{$:0},hotel:{$:0},info:{$:0},me:{$:0},mil:{$:0},mobi:{$:0},ne:{$:0},or:{$:0},sc:{$:0},tv:{$:0}},ua:{$:0,com:{$:0},edu:{$:0},gov:{$:0},in:{$:0},net:{$:0},org:{$:0},cherkassy:{$:0},cherkasy:{$:0},chernigov:{$:0},chernihiv:{$:0},chernivtsi:{$:0},chernovtsy:{$:0},ck:{$:0},cn:{$:0},cr:{$:0},crimea:{$:0},cv:{$:0},dn:{$:0},dnepropetrovsk:{$:0},dnipropetrovsk:{$:0},dominic:{$:0},donetsk:{$:0},dp:{$:0},if:{$:0},"ivano-frankivsk":{$:0},kh:{$:0},kharkiv:{$:0},kharkov:{$:0},kherson:{$:0},khmelnitskiy:{$:0},khmelnytskyi:{$:0},kiev:{$:0},kirovograd:{$:0},km:{$:0},kr:{$:0},krym:{$:0},ks:{$:0},kv:{$:0},kyiv:{$:0},lg:{$:0},lt:{$:0},lugansk:{$:0},lutsk:{$:0},lv:{$:0},lviv:{$:0},mk:{$:0},mykolaiv:{$:0},nikolaev:{$:0},od:{$:0},odesa:{$:0},odessa:{$:0},pl:{$:0},poltava:{$:0},rivne:{$:0},rovno:{$:0},rv:{$:0},sb:{$:0},sebastopol:{$:0},sevastopol:{$:0},sm:{$:0},sumy:{$:0},te:{$:0},ternopil:{$:0},uz:{$:0},uzhgorod:{$:0},vinnica:{$:0},vinnytsia:{$:0},vn:{$:0},volyn:{$:0},yalta:{$:0},zaporizhzhe:{$:0},zaporizhzhia:{$:0},zhitomir:{$:0},zhytomyr:{$:0},zp:{$:0},zt:{$:0},cc:{$:0},inf:{$:0},ltd:{$:0},biz:{$:0},co:{$:0},pp:{$:0}},ug:{$:0,co:{$:0},or:{$:0},ac:{$:0},sc:{$:0},go:{$:0},ne:{$:0},com:{$:0},org:{$:0},blogspot:{$:0},nom:{$:0}},uk:{$:0,ac:{$:0},co:{$:0,blogspot:{$:0},"nh-serv":{$:0},"no-ip":{$:0},wellbeingzone:{$:0}},gov:{$:0,service:{$:0},homeoffice:{$:0}},ltd:{$:0},me:{$:0},net:{$:0},nhs:{$:0},org:{$:0},plc:{$:0},police:{$:0},sch:{"*":{$:0}}},us:{$:0,dni:{$:0},fed:{$:0},isa:{$:0},kids:{$:0},nsn:{$:0},ak:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},al:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ar:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},as:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},az:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ca:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},co:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ct:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},dc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},de:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},fl:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ga:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},gu:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},hi:{$:0,cc:{$:0},lib:{$:0}},ia:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},id:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},il:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},in:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ks:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ky:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},la:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ma:{$:0,k12:{$:0,pvt:{$:0},chtr:{$:0},paroch:{$:0}},cc:{$:0},lib:{$:0}},md:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},me:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0},"ann-arbor":{$:0},cog:{$:0},dst:{$:0},eaton:{$:0},gen:{$:0},mus:{$:0},tec:{$:0},washtenaw:{$:0}},mn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mo:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ms:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},mt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nd:{$:0,cc:{$:0},lib:{$:0}},ne:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nj:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nm:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},nv:{$:0,k12:{$:0}
736,cc:{$:0},lib:{$:0}},ny:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},oh:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ok:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},or:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},pr:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ri:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sc:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},sd:{$:0,cc:{$:0},lib:{$:0}},tn:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},tx:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},ut:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},vt:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},va:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wa:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wi:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},wv:{$:0,cc:{$:0}},wy:{$:0,k12:{$:0},cc:{$:0},lib:{$:0}},cloudns:{$:0},drud:{$:0},"is-by":{$:0},"land-4-sale":{$:0},"stuff-4-sale":{$:0},golffan:{$:0},noip:{$:0},pointto:{$:0}},uy:{$:0,com:{$:0,blogspot:{$:0}},edu:{$:0},gub:{$:0},mil:{$:0},net:{$:0},org:{$:0},nom:{$:0}},uz:{$:0,co:{$:0},com:{$:0},net:{$:0},org:{$:0}},va:{$:0},vc:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},mil:{$:0},edu:{$:0},nom:{$:0}},ve:{$:0,arts:{$:0},co:{$:0},com:{$:0},e12:{$:0},edu:{$:0},firm:{$:0},gob:{$:0},gov:{$:0},info:{$:0},int:{$:0},mil:{$:0}
vendor: 2,204 bytes, line 736
736,net:{$:0},org:{$:0},rec:{$:0},store:{$:0},tec:{$:0},web:{$:0}},vg:{$:0,nom:{$:0}},vi:{$:0,co:{$:0},com:{$:0},k12:{$:0},net:{$:0},org:{$:0}},vn:{$:0,com:{$:0},net:{$:0},org:{$:0},edu:{$:0},gov:{$:0},int:{$:0},ac:{$:0},biz:{$:0},info:{$:0},name:{$:0},pro:{$:0},health:{$:0},blogspot:{$:0}},vu:{$:0,com:{$:0},edu:{$:0},net:{$:0},org:{$:0}},wf:{$:0},ws:{$:0,com:{$:0},net:{$:0},org:{$:0},gov:{$:0},edu:{$:0},advisor:{"*":{$:0}},dyndns:{$:0},mypets:{$:0}},yt:{$:0},"xn--mgbaam7a8h":{$:0},"xn--y9a3aq":{$:0},"xn--54b7fta0cc":{$:0},"xn--90ae":{$:0},"xn--90ais":{$:0},"xn--fiqs8s":{$:0},"xn--fiqz9s":{$:0},"xn--lgbbat1ad8j":{$:0},"xn--wgbh1c":{$:0},"xn--e1a4c":{$:0},"xn--node":{$:0},"xn--qxam":{$:0},"xn--j6w193g":{$:0},"xn--2scrj9c":{$:0},"xn--3hcrj9c":{$:0},"xn--45br5cyl":{$:0},"xn--h2breg3eve":{$:0},"xn--h2brj9c8c":{$:0},"xn--mgbgu82a":{$:0},"xn--rvc1e0am3e":{$:0},"xn--h2brj9c":{$:0},"xn--mgbbh1a71e":{$:0},"xn--fpcrj9c3d":{$:0},"xn--gecrj9c":{$:0},"xn--s9brj9c":{$:0},"xn--45brj9c":{$:0},"xn--xkc2dl3a5ee0h":{$:0},"xn--mgba3a4f16a":{$:0},"xn--mgba3a4fra":{$:0},"xn--mgbtx2b":{$:0},"xn--mgbayh7gpa":{$:0},"xn--3e0b707e":{$:0},"xn--80ao21a":{$:0},"xn--fzc2c9e2c":{$:0},"xn--xkc2al3hye2a":{$:0},"xn--mgbc0a9azcg":{$:0},"xn--d1alf":{$:0},"xn--l1acc":{$:0},"xn--mix891f":{$:0},"xn--mix082f":{$:0},"xn--mgbx4cd0ab":{$:0},"xn--mgb9awbf":{$:0},"xn--mgbai9azgqp6j":{$:0},"xn--mgbai9a5eva00b":{$:0},"xn--ygbi2ammx":{$:0},"xn--90a3ac":{$:0,"xn--o1ac":{$:0},"xn--c1avg":{$:0},"xn--90azh":{$:0},"xn--d1at":{$:0},"xn--o1ach":{$:0},"xn--80au":{$:0}},"xn--p1ai":{$:0},"xn--wgbl6a":{$:0},"xn--mgberp4a5d4ar":{$:0},"xn--mgberp4a5d4a87g":{$:0},"xn--mgbqly7c0a67fbc":{$:0},"xn--mgbqly7cvafr":{$:0},"xn--mgbpl2fh":{$:0},"xn--yfro4i67o":{$:0},"xn--clchc0ea0b2g2a9gcd":{$:0},"xn--ogbpf8fl":{$:0},"xn--mgbtf8fl":{$:0},"xn--o3cw4h":{$:0,"xn--12c1fe0br":{$:0},"xn--12co0c3b4eva":{$:0},"xn--h3cuzk1di":{$:0},"xn--o3cyx2a":{$:0},"xn--m3ch0j3a":{$:0},"xn--12cfi8ixb8l":{$:0}},"xn--pgbs0dh":{$:0},"xn--kpry57d":{$:0},"xn--kprw13d":{$:0},"xn--nnx388a":{$:0},"xn--j1amh":{$:0},"xn--mgb2ddes":{$:0},xxx:{$:0},ye:{"*":{$:0}},za:{ac:{$:0},agric:{$:0},alt:{$:0},co:{$:0,blogspot:{$:0}},edu:{$:0},gov:{$:0},grondar:{$:0},law:{$:0},mil:{$:0}
736,net:{$:0},ngo:{$:0},nis:{$:0},nom:{$:0},org:{$:0},school:{$:0},tm:{$:0},web:{$:0}},zm:{$:0,ac:{$:0},biz:{$:0},co:{$:0},com:{$:0},edu:{$:0},gov:{$:0},info:{$:0},mil:{$:0},net:{$:0},org:{$:0},sch:{$:0}},zw:{$:0,ac:{$:0},co:{$:0},gov:{$:0},mil:{$:0},org:{$:0}},aaa:{$:0},aarp:{$:0},abarth:{$:0},abb:{$:0},abbott:{$:0},abbvie:{$:0},abc:{$:0},able:{$:0},abogado:{$:0},abudhabi:{$:0},academy:{$:0},accenture:{$:0},accountant:{$:0},accountants:{$:0},aco:{$:0},active:{$:0},actor:{$:0},adac:{$:0},ads:{$:0},adult:{$:0},aeg:{$:0},aetna:{$:0},afamilycompany:{$:0},afl:{$:0},africa:{$:0},agakhan:{$:0},agency:{$:0},aig:{$:0},aigo:{$:0},airbus:{$:0},airforce:{$:0},airtel:{$:0},akdn:{$:0},alfaromeo:{$:0},alibaba:{$:0},alipay:{$:0},allfinanz:{$:0},allstate:{$:0},ally:{$:0},alsace:{$:0},alstom:{$:0},americanexpress:{$:0},americanfamily:{$:0},amex:{$:0},amfam:{$:0},amica:{$:0},amsterdam:{$:0},analytics:{$:0},android:{$:0},anquan:{$:0},anz:{$:0},aol:{$:0},apartments:{$:0},app:{$:0},apple:{$:0},aquarelle:{$:0},arab:{$:0},aramco:{$:0},archi:{$:0},army:{$:0},art:{$:0},arte:{$:0},asda:{$:0},associates:{$:0},athleta:{$:0},attorney:{$:0},auction:{$:0},audi:{$:0},audible:{$:0},audio:{$:0},auspost:{$:0},author:{$:0},auto:{$:0},autos:{$:0},avianca:{$:0},aws:{$:0},axa:{$:0},azure:{$:0},baby:{$:0},baidu:{$:0},banamex:{$:0},bananarepublic:{$:0},band:{$:0},bank:{$:0},bar:{$:0},barcelona:{$:0},barclaycard:{$:0},barclays:{$:0},barefoot:{$:0},bargains:{$:0},baseball:{$:0},basketball:{$:0},bauhaus:{$:0},bayern:{$:0},bbc:{$:0},bbt:{$:0},bbva:{$:0},bcg:{$:0},bcn:{$:0},beats:{$:0},beauty:{$:0},beer:{$:0},bentley:{$:0},berlin:{$:0},best:{$:0},bestbuy:{$:0},bet:{$:0},bharti:{$:0},bible:{$:0},bid:{$:0},bike:{$:0},bing:{$:0},bingo:{$:0},bio:{$:0},black:{$:0},blackfriday:{$:0},blanco:{$:0},blockbuster:{$:0},blog:{$:0},bloomberg:{$:0},blue:{$:0},bms:{$:0},bmw:{$:0},bnl:{$:0},bnpparibas:{$:0},boats:{$:0},boehringer:{$:0},bofa:{$:0},bom:{$:0},bond:{$:0},boo:{$:0},book:{$:0},booking:{$:0},boots:{$:0},bosch:{$:0},bostik:{$:0},boston:{$:0},bot:{$:0},boutique:{$:0},box:{$:0},bradesco:{$:0},bridgestone:{$:0},broadway:{$:0},broker:{$:0},brother:{$:0},brussels:{$:0},budapest:{$:0},bugatti:{$:0},build:{$:0},builders:{$:0},business:{$:0},buy:{$:0},buzz:{$:0},bzh:{$:0},cab:{$:0},cafe:{$:0},cal:{$:0},call:{$:0},calvinklein:{$:0},cam:{$:0},camera:{$:0},camp:{$:0},cancerresearch:{$:0},canon:{$:0},capetown:{$:0},capital:{$:0},capitalone:{$:0},car:{$:0},caravan:{$:0},cards:{$:0},care:{$:0},career:{$:0},careers:{$:0},cars:{$:0},cartier:{$:0},casa:{$:0},case:{$:0},caseih:{$:0},cash:{$:0},casino:{$:0},catering:{$:0},catholic:{$:0},cba:{$:0},cbn:{$:0},cbre:{$:0},cbs:{$:0},ceb:{$:0},center:{$:0},ceo:{$:0},cern:{$:0},cfa:{$:0},cfd:{$:0},chanel:{$:0},channel:{$:0},chase:{$:0},chat:{$:0},cheap:{$:0},chintai:{$:0},christmas:{$:0},chrome:{$:0},chrysler:{$:0},church:{$:0},cipriani:{$:0},circle:{$:0},cisco:{$:0},citadel:{$:0},citi:{$:0},citic:{$:0},city:{$:0},cityeats:{$:0},claims:{$:0},cleaning:{$:0},click:{$:0},clinic:{$:0},clinique:{$:0},clothing:{$:0},cloud:{$:0,statics:{"*":{$:0}},magentosite:{"*":{$:0}},vapor:{$:0},sensiosite:{"*":{$:0}},trafficplex:{$:0}},club:{$:0,cloudns:{$:0}},clubmed:{$:0},coach:{$:0},codes:{$:0},coffee:{$:0},college:{$:0},cologne:{$:0},comcast:{$:0},commbank:{$:0},community:{$:0},company:{$:0},compare:{$:0},computer:{$:0},comsec:{$:0},condos:{$:0},construction:{$:0},consulting:{$:0},contact:{$:0},contractors:{$:0},cooking:{$:0},cookingchannel:{$:0},cool:{$:0,de:{$:0}},corsica:{$:0},country:{$:0},coupon:{$:0},coupons:{$:0},courses:{$:0},credit:{$:0},creditcard:{$:0},creditunion:{$:0},cricket:{$:0},crown:{$:0},crs:{$:0},cruise:{$:0},cruises:{$:0},csc:{$:0},cuisinella:{$:0},cymru:{$:0},cyou:{$:0},dabur:{$:0},dad:{$:0},dance:{$:0},data:{$:0},date:{$:0},dating:{$:0},datsun:{$:0},day:{$:0},dclk:{$:0},dds:{$:0},deal:{$:0},dealer:{$:0},deals:{$:0},degree:{$:0},delivery:{$:0},dell:{$:0},deloitte:{$:0},delta:{$:0},democrat:{$:0},dental:{$:0},dentist:{$:0},desi:{$:0},design:{$:0},dev:{$:0},dhl:{$:0},diamonds:{$:0},diet:{$:0},digital:{$:0},direct:{$:0},directory:{$:0},discount:{$:0},discover:{$:0},dish:{$:0},diy:{$:0},dnp:{$:0},docs:{$:0},doctor:{$:0},dodge:{$:0},dog:{$:0},doha:{$:0},domains:{$:0},dot:{$:0},download:{$:0},drive:{$:0},dtv:{$:0},dubai:{$:0},duck:{$:0},dunlop:{$:0},duns:{$:0},dupont:{$:0},durban:{$:0},dvag:{$:0},dvr:{$:0},earth:{$:0},eat:{$:0},eco:{$:0},edeka:{$:0},education:{$:0},email:{$:0},emerck:{$:0},energy:{$:0},engineer:{$:0},engineering:{$:0},enterprises:{$:0},epost:{$:0},epson:{$:0},equipment:{$:0},ericsson:{$:0},erni:{$:0},esq:{$:0},estate:{$:0,compute:{"*":{$:0}}},esurance:{$:0},etisalat:{$:0},eurovision:{$:0},eus:{$:0,party:{user:{$:0}}},events:{$:0},everbank:{$:0}
736,exchange:{$:0},expert:{$:0},exposed:{$:0},express:{$:0},extraspace:{$:0},fage:{$:0},fail:{$:0},fairwinds:{$:0},faith:{$:0,ybo:{$:0}},family:{$:0},fan:{$:0},fans:{$:0},farm:{$:0,storj:{$:0}},farmers:{$:0},fashion:{$:0},fast:{$:0},fedex:{$:0},feedback:{$:0},ferrari:{$:0},ferrero:{$:0},fiat:{$:0},fidelity:{$:0},fido:{$:0},film:{$:0},final:{$:0},finance:{$:0},financial:{$:0},fire:{$:0},firestone:{$:0},firmdale:{$:0},fish:{$:0},fishing:{$:0},fit:{$:0,ptplus:{$:0}},fitness:{$:0},flickr:{$:0},flights:{$:0},flir:{$:0},florist:{$:0},flowers:{$:0},fly:{$:0},foo:{$:0},food:{$:0},foodnetwork:{$:0},football:{$:0},ford:{$:0},forex:{$:0},forsale:{$:0},forum:{$:0},foundation:{$:0},fox:{$:0},free:{$:0},fresenius:{$:0},frl:{$:0},frogans:{$:0},frontdoor:{$:0},frontier:{$:0},ftr:{$:0},fujitsu:{$:0},fujixerox:{$:0},fun:{$:0},fund:{$:0},furniture:{$:0},futbol:{$:0},fyi:{$:0},gal:{$:0},gallery:{$:0},gallo:{$:0},gallup:{$:0},game:{$:0},games:{$:0},gap:{$:0},garden:{$:0},gbiz:{$:0},gdn:{$:0},gea:{$:0},gent:{$:0},genting:{$:0},george:{$:0},ggee:{$:0},gift:{$:0},gifts:{$:0},gives:{$:0},giving:{$:0},glade:{$:0},glass:{$:0},gle:{$:0},global:{$:0},globo:{$:0},gmail:{$:0},gmbh:{$:0},gmo:{$:0},gmx:{$:0},godaddy:{$:0},gold:{$:0},goldpoint:{$:0},golf:{$:0},goo:{$:0},goodhands:{$:0},goodyear:{$:0},goog:{$:0,cloud:{$:0}},google:{$:0},gop:{$:0},got:{$:0},grainger:{$:0},graphics:{$:0},gratis:{$:0},green:{$:0},gripe:{$:0},grocery:{$:0},group:{$:0},guardian:{$:0},gucci:{$:0},guge:{$:0},guide:{$:0},guitars:{$:0},guru:{$:0},hair:{$:0},hamburg:{$:0},hangout:{$:0},haus:{$:0},hbo:{$:0},hdfc:{$:0},hdfcbank:{$:0},health:{$:0},healthcare:{$:0},help:{$:0},helsinki:{$:0},here:{$:0},hermes:{$:0},hgtv:{$:0},hiphop:{$:0},hisamitsu:{$:0},hitachi:{$:0},hiv:{$:0},hkt:{$:0},hockey:{$:0},holdings:{$:0},holiday:{$:0},homedepot:{$:0},homegoods:{$:0},homes:{$:0},homesense:{$:0},honda:{$:0},honeywell:{$:0},horse:{$:0},hospital:{$:0},host:{$:0,cloudaccess:{$:0},freesite:{$:0}},hosting:{$:0,opencraft:{$:0}},hot:{$:0},hoteles:{$:0},hotels:{$:0},hotmail:{$:0},house:{$:0},how:{$:0},hsbc:{$:0},hughes:{$:0},hyatt:{$:0},hyundai:{$:0},ibm:{$:0},icbc:{$:0},ice:{$:0},icu:{$:0},ieee:{$:0},ifm:{$:0},ikano:{$:0},imamat:{$:0},imdb:{$:0},immo:{$:0},immobilien:{$:0},industries:{$:0},infiniti:{$:0},ing:{$:0},ink:{$:0},institute:{$:0},insurance:{$:0},insure:{$:0},intel:{$:0},international:{$:0},intuit:{$:0},investments:{$:0},ipiranga:{$:0},irish:{$:0},iselect:{$:0},ismaili:{$:0},ist:{$:0},istanbul:{$:0},itau:{$:0},itv:{$:0},iveco:{$:0},iwc:{$:0},jaguar:{$:0},java:{$:0},jcb:{$:0},jcp:{$:0},jeep:{$:0},jetzt:{$:0},jewelry:{$:0},jio:{$:0},jlc:{$:0},jll:{$:0},jmp:{$:0},jnj:{$:0},joburg:{$:0},jot:{$:0},joy:{$:0},jpmorgan:{$:0},jprs:{$:0},juegos:{$:0},juniper:{$:0},kaufen:{$:0},kddi:{$:0},kerryhotels:{$:0},kerrylogistics:{$:0},kerryproperties:{$:0},kfh:{$:0},kia:{$:0},kim:{$:0},kinder:{$:0},kindle:{$:0},kitchen:{$:0},kiwi:{$:0},koeln:{$:0},komatsu:{$:0},kosher:{$:0},kpmg:{$:0},kpn:{$:0},krd:{$:0,co:{$:0},edu:{$:0}},kred:{$:0},kuokgroup:{$:0},kyoto:{$:0},lacaixa:{$:0},ladbrokes:{$:0},lamborghini:{$:0},lamer:{$:0},lancaster:{$:0},lancia:{$:0},lancome:{$:0},land:{$:0,static:{$:0,dev:{$:0},sites:{$:0}}},landrover:{$:0},lanxess:{$:0},lasalle:{$:0},lat:{$:0},latino:{$:0},latrobe:{$:0},law:{$:0},lawyer:{$:0},lds:{$:0},lease:{$:0},leclerc:{$:0},lefrak:{$:0},legal:{$:0},lego:{$:0},lexus:{$:0},lgbt:{$:0},liaison:{$:0},lidl:{$:0},life:{$:0},lifeinsurance:{$:0},lifestyle:{$:0},lighting:{$:0},like:{$:0},lilly:{$:0},limited:{$:0},limo:{$:0},lincoln:{$:0},linde:{$:0},link:{$:0,cyon:{$:0},mypep:{$:0}},lipsy:{$:0},live:{$:0},living:{$:0},lixil:{$:0},loan:{$:0},loans:{$:0},locker:{$:0},locus:{$:0},loft:{$:0},lol:{$:0},london:{$:0},lotte:{$:0},lotto:{$:0},love:{$:0},lpl:{$:0},lplfinancial:{$:0},ltd:{$:0},ltda:{$:0},lundbeck:{$:0},lupin:{$:0},luxe:{$:0},luxury:{$:0},macys:{$:0},madrid:{$:0},maif:{$:0},maison:{$:0},makeup:{$:0},man:{$:0},management:{$:0,router:{$:0}},mango:{$:0},map:{$:0},market:{$:0},marketing:{$:0},markets:{$:0},marriott:{$:0},marshalls:{$:0},maserati:{$:0},mattel:{$:0},mba:{$:0},mckinsey:{$:0},med:{$:0},media:{$:0},meet:{$:0},melbourne:{$:0},meme:{$:0},memorial:{$:0},men:{$:0},menu:{$:0},meo:{$:0},merckmsd:{$:0},metlife:{$:0},miami:{$:0},microsoft:{$:0},mini:{$:0},mint:{$:0},mit:{$:0},mitsubishi:{$:0},mlb:{$:0},mls:{$:0},mma:{$:0},mobile:{$:0},mobily:{$:0},moda:{$:0},moe:{$:0},moi:{$:0},mom:{$:0},monash:{$:0},money:{$:0},monster:{$:0},mopar:{$:0},mormon:{$:0},mortgage:{$:0},moscow:{$:0},moto:{$:0},motorcycles:{$:0},mov:{$:0},movie:{$:0},movistar:{$:0},msd:{$:0},mtn:{$:0},mtpc:{$:0},mtr:{$:0},mutual:{$:0},nab:{$:0},nadex:{$:0},nagoya:{$:0},nationwide:{$:0},natura:{$:0},navy:{$:0},nba:{$:0},nec:{$:0},netbank:{$:0},netflix:{$:0},network:{$:0,alces:{"*":{$:0}}},neustar:{$:0},new:{$:0},newholland:{$:0},news:{$:0},next:{$:0},nextdirect:{$:0},nexus:{$:0},nfl:{$:0},ngo:{$:0}
736,nhk:{$:0},nico:{$:0},nike:{$:0},nikon:{$:0},ninja:{$:0},nissan:{$:0},nissay:{$:0},nokia:{$:0},northwesternmutual:{$:0},norton:{$:0},now:{$:0},nowruz:{$:0},nowtv:{$:0},nra:{$:0},nrw:{$:0},ntt:{$:0},nyc:{$:0},obi:{$:0},observer:{$:0},off:{$:0},office:{$:0},okinawa:{$:0},olayan:{$:0},olayangroup:{$:0},oldnavy:{$:0},ollo:{$:0},omega:{$:0},one:{$:0,homelink:{$:0}},ong:{$:0},onl:{$:0},online:{$:0,barsy:{$:0}},onyourside:{$:0},ooo:{$:0},open:{$:0},oracle:{$:0},orange:{$:0},organic:{$:0},origins:{$:0},osaka:{$:0},otsuka:{$:0},ott:{$:0},ovh:{$:0,nerdpol:{$:0}},page:{$:0},panasonic:{$:0},panerai:{$:0},paris:{$:0},pars:{$:0},partners:{$:0},parts:{$:0},party:{$:0,ybo:{$:0}},passagens:{$:0},pay:{$:0},pccw:{$:0},pet:{$:0},pfizer:{$:0},pharmacy:{$:0},phd:{$:0},philips:{$:0},phone:{$:0},photo:{$:0},photography:{$:0},photos:{$:0},physio:{$:0},piaget:{$:0},pics:{$:0},pictet:{$:0},pictures:{1337:{$:0},$:0},pid:{$:0},pin:{$:0},ping:{$:0},pink:{$:0},pioneer:{$:0},pizza:{$:0},place:{$:0},play:{$:0},playstation:{$:0},plumbing:{$:0},plus:{$:0},pnc:{$:0},pohl:{$:0},poker:{$:0},politie:{$:0},porn:{$:0},pramerica:{$:0},praxi:{$:0},press:{$:0},prime:{$:0},prod:{$:0},productions:{$:0},prof:{$:0},progressive:{$:0},promo:{$:0},properties:{$:0},property:{$:0},protection:{$:0},pru:{$:0},prudential:{$:0},pub:{$:0},pwc:{$:0},qpon:{$:0},quebec:{$:0},quest:{$:0},qvc:{$:0},racing:{$:0},radio:{$:0},raid:{$:0},read:{$:0},realestate:{$:0},realtor:{$:0},realty:{$:0},recipes:{$:0},red:{$:0},redstone:{$:0},redumbrella:{$:0},rehab:{$:0},reise:{$:0},reisen:{$:0},reit:{$:0},reliance:{$:0},ren:{$:0},rent:{$:0},rentals:{$:0},repair:{$:0},report:{$:0},republican:{$:0},rest:{$:0},restaurant:{$:0},review:{$:0,ybo:{$:0}},reviews:{$:0},rexroth:{$:0},rich:{$:0},richardli:{$:0},ricoh:{$:0},rightathome:{$:0},ril:{$:0},rio:{$:0},rip:{$:0,clan:{$:0}},rmit:{$:0},rocher:{$:0},rocks:{$:0,myddns:{$:0},"lima-city":{$:0},webspace:{$:0}},rodeo:{$:0},rogers:{$:0},room:{$:0},rsvp:{$:0},rugby:{$:0},ruhr:{$:0},run:{$:0},rwe:{$:0},ryukyu:{$:0},saarland:{$:0},safe:{$:0},safety:{$:0},sakura:{$:0},sale:{$:0},salon:{$:0},samsclub:{$:0},samsung:{$:0},sandvik:{$:0},sandvikcoromant:{$:0},sanofi:{$:0},sap:{$:0},sapo:{$:0},sarl:{$:0},sas:{$:0},save:{$:0},saxo:{$:0},sbi:{$:0},sbs:{$:0},sca:{$:0},scb:{$:0},schaeffler:{$:0},schmidt:{$:0},scholarships:{$:0},school:{$:0},schule:{$:0},schwarz:{$:0},science:{$:0,ybo:{$:0}},scjohnson:{$:0},scor:{$:0},scot:{$:0},search:{$:0},seat:{$:0},secure:{$:0},security:{$:0},seek:{$:0},select:{$:0},sener:{$:0},services:{$:0},ses:{$:0},seven:{$:0},sew:{$:0},sex:{$:0},sexy:{$:0},sfr:{$:0},shangrila:{$:0},sharp:{$:0},shaw:{$:0},shell:{$:0},shia:{$:0},shiksha:{$:0},shoes:{$:0},shop:{$:0},shopping:{$:0},shouji:{$:0},show:{$:0},showtime:{$:0},shriram:{$:0},silk:{$:0},sina:{$:0},singles:{$:0},site:{$:0,cyon:{$:0},platformsh:{"*":{$:0}},byen:{$:0}},ski:{$:0},skin:{$:0},sky:{$:0},skype:{$:0},sling:{$:0},smart:{$:0},smile:{$:0},sncf:{$:0},soccer:{$:0},social:{$:0},softbank:{$:0},software:{$:0},sohu:{$:0},solar:{$:0},solutions:{$:0},song:{$:0},sony:{$:0},soy:{$:0},space:{$:0,stackspace:{$:0},uber:{$:0},xs4all:{$:0}},spiegel:{$:0},spot:{$:0},spreadbetting:{$:0},srl:{$:0},srt:{$:0},stada:{$:0},staples:{$:0},star:{$:0},starhub:{$:0},statebank:{$:0},statefarm:{$:0},statoil:{$:0},stc:{$:0},stcgroup:{$:0},stockholm:{$:0},storage:{$:0},store:{$:0},stream:{$:0},studio:{$:0},study:{$:0},style:{$:0},sucks:{$:0},supplies:{$:0},supply:{$:0},support:{$:0,barsy:{$:0}},surf:{$:0},surgery:{$:0},suzuki:{$:0},swatch:{$:0},swiftcover:{$:0},swiss:{$:0},sydney:{$:0},symantec:{$:0},systems:{$:0,knightpoint:{$:0}},tab:{$:0},taipei:{$:0},talk:{$:0},taobao:{$:0},target:{$:0},tatamotors:{$:0},tatar:{$:0},tattoo:{$:0},tax:{$:0},taxi:{$:0},tci:{$:0},tdk:{$:0},team:{$:0},tech:{$:0},technology:{$:0},telecity:{$:0},telefonica:{$:0},temasek:{$:0},tennis:{$:0},teva:{$:0},thd:{$:0},theater:{$:0},theatre:{$:0},tiaa:{$:0},tickets:{$:0},tienda:{$:0},tiffany:{$:0},tips:{$:0},tires:{$:0},tirol:{$:0},tjmaxx:{$:0},tjx:{$:0},tkmaxx:{$:0},tmall:{$:0},today:{$:0},tokyo:{$:0},tools:{$:0},top:{$:0},toray:{$:0},toshiba:{$:0},total:{$:0},tours:{$:0},town:{$:0},toyota:{$:0},toys:{$:0},trade:{$:0,ybo:{$:0}},trading:{$:0},training:{$:0},travelchannel:{$:0},travelers:{$:0},travelersinsurance:{$:0},trust:{$:0},trv:{$:0},tube:{$:0},tui:{$:0},tunes:{$:0},tushu:{$:0},tvs:{$:0},ubank:{$:0},ubs:{$:0},uconnect:{$:0},unicom:{$:0},university:{$:0},uno:{$:0},uol:{$:0}
736,ups:{$:0},vacations:{$:0},vana:{$:0},vanguard:{$:0},vegas:{$:0},ventures:{$:0},verisign:{$:0},versicherung:{$:0},vet:{$:0},viajes:{$:0},video:{$:0},vig:{$:0},viking:{$:0},villas:{$:0},vin:{$:0},vip:{$:0},virgin:{$:0},visa:{$:0},vision:{$:0},vista:{$:0},vistaprint:{$:0},viva:{$:0},vivo:{$:0},vlaanderen:{$:0},vodka:{$:0},volkswagen:{$:0},volvo:{$:0},vote:{$:0},voting:{$:0},voto:{$:0},voyage:{$:0},vuelos:{$:0},wales:{$:0},walmart:{$:0},walter:{$:0},wang:{$:0},wanggou:{$:0},warman:{$:0},watch:{$:0},watches:{$:0},weather:{$:0},weatherchannel:{$:0},webcam:{$:0},weber:{$:0},website:{$:0},wed:{$:0},wedding:{$:0},weibo:{$:0},weir:{$:0},whoswho:{$:0},wien:{$:0},wiki:{$:0},williamhill:{$:0},win:{$:0},windows:{$:0},wine:{$:0},winners:{$:0},wme:{$:0},wolterskluwer:{$:0},woodside:{$:0},work:{$:0},works:{$:0},world:{$:0},wow:{$:0},wtc:{$:0},wtf:{$:0},xbox:{$:0},xerox:{$:0},xfinity:{$:0},xihuan:{$:0},xin:{$:0},"xn--11b4c3d":{$:0},"xn--1ck2e1b":{$:0},"xn--1qqw23a":{$:0},"xn--30rr7y":{$:0},"xn--3bst00m":{$:0},"xn--3ds443g":{$:0},"xn--3oq18vl8pn36a":{$:0},"xn--3pxu8k":{$:0},"xn--42c2d9a":{$:0},"xn--45q11c":{$:0},"xn--4gbrim":{$:0},"xn--55qw42g":{$:0},"xn--55qx5d":{$:0},"xn--5su34j936bgsg":{$:0},"xn--5tzm5g":{$:0},"xn--6frz82g":{$:0},"xn--6qq986b3xl":{$:0},"xn--80adxhks":{$:0},"xn--80aqecdr1a":{$:0},"xn--80asehdb":{$:0},"xn--80aswg":{$:0},"xn--8y0a063a":{$:0},"xn--9dbq2a":{$:0},"xn--9et52u":{$:0},"xn--9krt00a":{$:0},"xn--b4w605ferd":{$:0},"xn--bck1b9a5dre4c":{$:0},"xn--c1avg":{$:0},"xn--c2br7g":{$:0},"xn--cck2b3b":{$:0},"xn--cg4bki":{$:0},"xn--czr694b":{$:0},"xn--czrs0t":{$:0},"xn--czru2d":{$:0},"xn--d1acj3b":{$:0},"xn--eckvdtc9d":{$:0},"xn--efvy88h":{$:0},"xn--estv75g":{$:0},"xn--fct429k":{$:0},"xn--fhbei":{$:0},"xn--fiq228c5hs":{$:0},"xn--fiq64b":{$:0},"xn--fjq720a":{$:0},"xn--flw351e":{$:0},"xn--fzys8d69uvgm":{$:0},"xn--g2xx48c":{$:0},"xn--gckr3f0f":{$:0},"xn--gk3at1e":{$:0},"xn--hxt814e":{$:0},"xn--i1b6b1a6a2e":{$:0},"xn--imr513n":{$:0},"xn--io0a7i":{$:0},"xn--j1aef":{$:0},"xn--jlq61u9w7b":{$:0},"xn--jvr189m":{$:0},"xn--kcrx77d1x4a":{$:0},"xn--kpu716f":{$:0},"xn--kput3i":{$:0},"xn--mgba3a3ejt":{$:0},"xn--mgba7c0bbn0a":{$:0},"xn--mgbaakc7dvf":{$:0},"xn--mgbab2bd":{$:0},"xn--mgbb9fbpob":{$:0},"xn--mgbca7dzdo":{$:0},"xn--mgbi4ecexp":{$:0},"xn--mgbt3dhd":{$:0},"xn--mk1bu44c":{$:0},"xn--mxtq1m":{$:0},"xn--ngbc5azd":{$:0},"xn--ngbe9e0a":{$:0},"xn--ngbrx":{$:0},"xn--nqv7f":{$:0},"xn--nqv7fs00ema":{$:0},"xn--nyqy26a":{$:0},"xn--p1acf":{$:0},"xn--pbt977c":{$:0},"xn--pssy2u":{$:0},"xn--q9jyb4c":{$:0},"xn--qcka1pmc":{$:0},"xn--rhqv96g":{$:0},"xn--rovu88b":{$:0},"xn--ses554g":{$:0},"xn--t60b56a":{$:0},"xn--tckwe":{$:0},"xn--tiq49xqyj":{$:0},"xn--unup4y":{$:0},"xn--vermgensberater-ctb":{$:0},"xn--vermgensberatung-pwb":{$:0},"xn--vhquv":{$:0},"xn--vuq861b":{$:0},"xn--w4r85el8fhu5dnra":{$:0},"xn--w4rs40l":{$:0},"xn--xhq521b":{$:0},"xn--zfr164b":{$:0},xperia:{$:0},xyz:{$:0,blogsite:{$:0},fhapp:{$:0}},yachts:{$:0},yahoo:{$:0},yamaxun:{$:0},yandex:{$:0},yodobashi:{$:0},yoga:{$:0},yokohama:{$:0},you:{$:0},youtube:{$:0},yun:{$:0},zappos:{$:0},zara:{$:0},zero:{$:0},zip:{$:0},zippo:{$:0},zone:{$:0,triton:{"*":{$:0}},lima:{$:0}},zuerich:{$:0}}}},{}],13:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}
736function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&¤tValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define("punycode",function(){return punycode})}else if(freeExports&&freeModule){if(module.exports==freeExports){freeModule.exports=punycode}else{for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key])}}}else{root.punycode=punycode}})(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],14:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],15:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},{}],16:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")},{"./decode":14,"./encode":15}],17:[function(require,module,exports){"use strict";var punycode=require("punycode");var util=require("./util");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]
736*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/");url=uSplit.join(splitter);var rest=url;rest=rest.trim();if(!slashesDenoteHost&&url.split("#").length===1){var simplePath=simplePathPattern.exec(rest);if(simplePath){this.path=rest;this.href=rest;this.pathname=simplePath[1];if(simplePath[2]){this.search=simplePath[2];if(parseQueryString){this.query=querystring.parse(this.search.substr(1))}else{this.query=this.search.substr(1)}}else if(parseQueryString){this.search="";this.query={}}return this}}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)===-1)continue;var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(util.isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&util.isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;var tkeys=Object.keys(this);for(var tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){var rkeys=Object.keys(relative);for(var rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];if(rkey!=="protocol")result[rkey]=relative[rkey]}if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slas
736hedProtocol[relative.protocol]){var keys=Object.keys(relative);for(var v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);
736if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},{"./util":18,punycode:13,querystring:16}],18:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},{}]},{},[1]); 737/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */ 738 739(function (global, factory) { 740 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 741 typeof define === 'function' && define.amd ? define(factory) : 742 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory()); 743})(this, (function () { 'use strict'; 744 745 const { 746 entries, 747 setPrototypeOf, 748 isFrozen, 749 getPrototypeOf, 750 getOwnPropertyDescriptor 751 } = Object; 752 let { 753 freeze, 754 seal, 755 create 756 } = Object; // eslint-disable-line import/no-mutable-exports 757 let { 758 apply, 759 construct 760 } = typeof Reflect !== 'undefined' && Reflect; 761 if (!freeze) { 762 freeze = function freeze(x) { 763 return x; 764 }; 765 } 766 if (!seal) { 767 seal = function seal(x) { 768 return x; 769 }; 770 } 771 if (!apply) { 772 apply = function apply(fun, thisValue, args) { 773 return fun.apply(thisValue, args); 774 }; 775 } 776 if (!construct) { 777 construct = function construct(Func, args) { 778 return new Func(...args); 779 }; 780 } 781 const arrayForEach = unapply(Array.prototype.forEach); 782 const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf); 783 const arrayPop = unapply(Array.prototype.pop); 784 const arrayPush = unapply(Array.prototype.push); 785 const arraySplice = unapply(Array.prototype.splice); 786 const stringToLowerCase = unapply(String.prototype.toLowerCase); 787 const stringToString = unapply(String.prototype.toString); 788 const stringMatch = unapply(String.prototype.match); 789 const stringReplace = unapply(String.prototype.replace); 790 const stringIndexOf = unapply(String.prototype.indexOf); 791 const stringTrim = unapply(String.prototype.trim); 792 const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty); 793 const regExpTest = unapply(RegExp.prototype.test); 794 const typeErrorCreate = unconstruct(TypeError); 795 /** 796 * Creates a new function that calls the given function with a specified thisArg and arguments. 797 * 798 * @param func - The function to be wrapped and called. 799 * @returns A new function that calls the given function with a specified thisArg and arguments. 800 */ 801 function unapply(func) { 802 return function (thisArg) { 803 if (thisArg instanceof RegExp) { 804 thisArg.lastIndex = 0; 805 } 806 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 807 args[_key - 1] = arguments[_key]; 808 } 809 return apply(func, thisArg, args); 810 }; 811 } 812 /** 813 * Creates a new function that constructs an instance of the given constructor function with the provided arguments. 814 * 815 * @param func - The constructor function to be wrapped and called. 816 * @returns A new function that constructs an instance of the given constructor function with the provided arguments. 817 */ 818 function unconstruct(func) { 819 return function () { 820 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 821 args[_key2] = arguments[_key2]; 822 } 823 return construct(func, args); 824 }; 825 } 826 /** 827 * Add properties to a lookup table 828 * 829 * @param set - The set to which elements will be added. 830 * @param array - The array containing elements to be added to the set. 831 * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set. 832 * @returns The modified set with added elements. 833 */ 834 function addToSet(set, array) {
vendor: 5,805 bytes, lines 835-933
835 let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase; 836 if (setPrototypeOf) { 837 // Make 'in' and truthy checks like Boolean(set.constructor) 838 // independent of any properties defined on Object.prototype. 839 // Prevent prototype setters from intercepting set as a this value. 840 setPrototypeOf(set, null); 841 } 842 let l = array.length; 843 while (l--) { 844 let element = array[l]; 845 if (typeof element === 'string') { 846 const lcElement = transformCaseFunc(element); 847 if (lcElement !== element) { 848 // Config presets (e.g. tags.js, attrs.js) are immutable. 849 if (!isFrozen(array)) { 850 array[l] = lcElement; 851 } 852 element = lcElement; 853 } 854 } 855 set[element] = true; 856 } 857 return set; 858 } 859 /** 860 * Clean up an array to harden against CSPP 861 * 862 * @param array - The array to be cleaned. 863 * @returns The cleaned version of the array 864 */ 865 function cleanArray(array) { 866 for (let index = 0; index < array.length; index++) { 867 const isPropertyExist = objectHasOwnProperty(array, index); 868 if (!isPropertyExist) { 869 array[index] = null; 870 } 871 } 872 return array; 873 } 874 /** 875 * Shallow clone an object 876 * 877 * @param object - The object to be cloned. 878 * @returns A new object that copies the original. 879 */ 880 function clone(object) { 881 const newObject = create(null); 882 for (const [property, value] of entries(object)) { 883 const isPropertyExist = objectHasOwnProperty(object, property); 884 if (isPropertyExist) { 885 if (Array.isArray(value)) { 886 newObject[property] = cleanArray(value); 887 } else if (value && typeof value === 'object' && value.constructor === Object) { 888 newObject[property] = clone(value); 889 } else { 890 newObject[property] = value; 891 } 892 } 893 } 894 return newObject; 895 } 896 /** 897 * This method automatically checks if the prop is function or getter and behaves accordingly. 898 * 899 * @param object - The object to look up the getter function in its prototype chain. 900 * @param prop - The property name for which to find the getter function. 901 * @returns The getter function found in the prototype chain or a fallback function. 902 */ 903 function lookupGetter(object, prop) { 904 while (object !== null) { 905 const desc = getOwnPropertyDescriptor(object, prop); 906 if (desc) { 907 if (desc.get) { 908 return unapply(desc.get); 909 } 910 if (typeof desc.value === 'function') { 911 return unapply(desc.value); 912 } 913 } 914 object = getPrototypeOf(object); 915 } 916 function fallbackValue() { 917 return null; 918 } 919 return fallbackValue; 920 } 921 922 const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); 923 const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']); 924 const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); 925 // List of SVG elements that are disallowed by default. 926 // We still need to know them so that we can do namespace 927 // checks properly in case one wants to add them to 928 // allow-list. 929 const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']); 930 const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']); 931 // Similarly to SVG, we want to know all MathML elements, 932 // even those that we disallow by default. 933 const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'n
933one']); 934 const text = freeze(['#text']); 935 936 const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']); 937 const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']); 938 const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']); 939 const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); 940 941 // eslint-disable-next-line unicorn/better-regex 942 const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode 943 const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm); 944 const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); // eslint-disable-line unicorn/better-regex 945 const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape 946 const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
vendor: 7,921 bytes, lines 947-1154
947 const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape 948 ); 949 const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); 950 const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex 951 ); 952 const DOCTYPE_NAME = seal(/^html$/i); 953 const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i); 954 955 var EXPRESSIONS = /*#__PURE__*/Object.freeze({ 956 __proto__: null, 957 ARIA_ATTR: ARIA_ATTR, 958 ATTR_WHITESPACE: ATTR_WHITESPACE, 959 CUSTOM_ELEMENT: CUSTOM_ELEMENT, 960 DATA_ATTR: DATA_ATTR, 961 DOCTYPE_NAME: DOCTYPE_NAME, 962 ERB_EXPR: ERB_EXPR, 963 IS_ALLOWED_URI: IS_ALLOWED_URI, 964 IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA, 965 MUSTACHE_EXPR: MUSTACHE_EXPR, 966 TMPLIT_EXPR: TMPLIT_EXPR 967 }); 968 969 /* eslint-disable @typescript-eslint/indent */ 970 // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType 971 const NODE_TYPE = { 972 element: 1, 973 attribute: 2, 974 text: 3, 975 cdataSection: 4, 976 entityReference: 5, 977 // Deprecated 978 entityNode: 6, 979 // Deprecated 980 progressingInstruction: 7, 981 comment: 8, 982 document: 9, 983 documentType: 10, 984 documentFragment: 11, 985 notation: 12 // Deprecated 986 }; 987 const getGlobal = function getGlobal() { 988 return typeof window === 'undefined' ? null : window; 989 }; 990 /** 991 * Creates a no-op policy for internal use only. 992 * Don't export this function outside this module! 993 * @param trustedTypes The policy factory. 994 * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix). 995 * @return The policy created (or null, if Trusted Types 996 * are not supported or creating the policy failed). 997 */ 998 const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) { 999 if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') { 1000 return null; 1001 } 1002 // Allow the callers to control the unique policy name 1003 // by adding a data-tt-policy-suffix to the script element with the DOMPurify. 1004 // Policy creation with duplicate names throws in Trusted Types. 1005 let suffix = null; 1006 const ATTR_NAME = 'data-tt-policy-suffix'; 1007 if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) { 1008 suffix = purifyHostElement.getAttribute(ATTR_NAME); 1009 } 1010 const policyName = 'dompurify' + (suffix ? '#' + suffix : ''); 1011 try { 1012 return trustedTypes.createPolicy(policyName, { 1013 createHTML(html) { 1014 return html; 1015 }, 1016 createScriptURL(scriptUrl) { 1017 return scriptUrl; 1018 } 1019 }); 1020 } catch (_) { 1021 // Policy creation failed (most likely another DOMPurify script has 1022 // already run). Skip creating the policy, as this will only cause errors 1023 // if TT are enforced. 1024 console.warn('TrustedTypes policy ' + policyName + ' could not be created.'); 1025 return null; 1026 } 1027 }; 1028 const _createHooksMap = function _createHooksMap() { 1029 return { 1030 afterSanitizeAttributes: [], 1031 afterSanitizeElements: [], 1032 afterSanitizeShadowDOM: [], 1033 beforeSanitizeAttributes: [], 1034 beforeSanitizeElements: [], 1035 beforeSanitizeShadowDOM: [], 1036 uponSanitizeAttribute: [], 1037 uponSanitizeElement: [], 1038 uponSanitizeShadowNode: [] 1039 }; 1040 }; 1041 function createDOMPurify() { 1042 let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal(); 1043 const DOMPurify = root => createDOMPurify(root); 1044 DOMPurify.version = '3.2.5'; 1045 DOMPurify.removed = []; 1046 if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) { 1047 // Not running in a browser, provide a factory function 1048 // so that you can pass your own Window 1049 DOMPurify.isSupported = false; 1050 return DOMPurify; 1051 } 1052 let { 1053 document 1054 } = window; 1055 const originalDocument = document; 1056 const currentScript = originalDocument.currentScript; 1057 const { 1058 DocumentFragment, 1059 HTMLTemplateElement, 1060 Node, 1061 Element, 1062 NodeFilter, 1063 NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap, 1064 HTMLFormElement, 1065 DOMParser, 1066 trustedTypes 1067 } = window; 1068 const ElementPrototype = Element.prototype; 1069 const cloneNode = lookupGetter(ElementPrototype, 'cloneNode'); 1070 const remove = lookupGetter(ElementPrototype, 'remove'); 1071 const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling'); 1072 const getChildNodes = lookupGetter(ElementPrototype, 'childNodes'); 1073 const getParentNode = lookupGetter(ElementPrototype, 'parentNode'); 1074 // As per issue #47, the web-components registry is inherited by a 1075 // new document created via createHTMLDocument. As per the spec 1076 // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) 1077 // a new empty registry is used when creating a template contents owner 1078 // document, so we use that as our parent document to ensure nothing 1079 // is inherited. 1080 if (typeof HTMLTemplateElement === 'function') { 1081 const template = document.createElement('template'); 1082 if (template.content && template.content.ownerDocument) { 1083 document = template.content.ownerDocument; 1084 } 1085 } 1086 let trustedTypesPolicy; 1087 let emptyHTML = ''; 1088 const { 1089 implementation, 1090 createNodeIterator, 1091 createDocumentFragment, 1092 getElementsByTagName 1093 } = document; 1094 const { 1095 importNode 1096 } = originalDocument; 1097 let hooks = _createHooksMap(); 1098 /** 1099 * Expose whether this browser supports running the full DOMPurify. 1100 */ 1101 DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined; 1102 const { 1103 MUSTACHE_EXPR, 1104 ERB_EXPR, 1105 TMPLIT_EXPR, 1106 DATA_ATTR, 1107 ARIA_ATTR, 1108 IS_SCRIPT_OR_DATA, 1109 ATTR_WHITESPACE, 1110 CUSTOM_ELEMENT 1111 } = EXPRESSIONS; 1112 let { 1113 IS_ALLOWED_URI: IS_ALLOWED_URI$1 1114 } = EXPRESSIONS; 1115 /** 1116 * We consider the elements and attributes below to be safe. Ideally 1117 * don't add any new ones but feel free to remove unwanted ones. 1118 */ 1119 /* allowed element names */ 1120 let ALLOWED_TAGS = null; 1121 const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]); 1122 /* Allowed attribute names */ 1123 let ALLOWED_ATTR = null; 1124 const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]); 1125 /* 1126 * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements. 1127 * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements) 1128 * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list) 1129 * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`. 1130 */ 1131 let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, { 1132 tagNameCheck: { 1133 writable: true, 1134 configurable: false, 1135 enumerable: true, 1136 value: null 1137 }, 1138 attributeNameCheck: { 1139 writable: true, 1140 configurable: false, 1141 enumerable: true, 1142 value: null 1143 }, 1144 allowCustomizedBuiltInElements: { 1145 writable: true, 1146 configurable: false, 1147 enumerable: true, 1148 value: false 1149 } 1150 })); 1151 /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */ 1152 let FORBID_TAGS = null; 1153 /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */ 1154 let FORBID_ATTR = null
vendor: 7,523 bytes, lines 1154-1283
1154; 1155 /* Decide if ARIA attributes are okay */ 1156 let ALLOW_ARIA_ATTR = true; 1157 /* Decide if custom data attributes are okay */ 1158 let ALLOW_DATA_ATTR = true; 1159 /* Decide if unknown protocols are okay */ 1160 let ALLOW_UNKNOWN_PROTOCOLS = false; 1161 /* Decide if self-closing tags in attributes are allowed. 1162 * Usually removed due to a mXSS issue in jQuery 3.0 */ 1163 let ALLOW_SELF_CLOSE_IN_ATTR = true; 1164 /* Output should be safe for common template engines. 1165 * This means, DOMPurify removes data attributes, mustaches and ERB 1166 */ 1167 let SAFE_FOR_TEMPLATES = false; 1168 /* Output should be safe even for XML used within HTML and alike. 1169 * This means, DOMPurify removes comments when containing risky content. 1170 */ 1171 let SAFE_FOR_XML = true; 1172 /* Decide if document with <html>... should be returned */ 1173 let WHOLE_DOCUMENT = false; 1174 /* Track whether config is already set on this instance of DOMPurify. */ 1175 let SET_CONFIG = false; 1176 /* Decide if all elements (e.g. style, script) must be children of 1177 * document.body. By default, browsers might move them to document.head */ 1178 let FORCE_BODY = false; 1179 /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html 1180 * string (or a TrustedHTML object if Trusted Types are supported). 1181 * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead 1182 */ 1183 let RETURN_DOM = false; 1184 /* Decide if a DOM `DocumentFragment` should be returned, instead of a html 1185 * string (or a TrustedHTML object if Trusted Types are supported) */ 1186 let RETURN_DOM_FRAGMENT = false; 1187 /* Try to return a Trusted Type object instead of a string, return a string in 1188 * case Trusted Types are not supported */ 1189 let RETURN_TRUSTED_TYPE = false; 1190 /* Output should be free from DOM clobbering attacks? 1191 * This sanitizes markups named with colliding, clobberable built-in DOM APIs. 1192 */ 1193 let SANITIZE_DOM = true; 1194 /* Achieve full DOM Clobbering protection by isolating the namespace of named 1195 * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules. 1196 * 1197 * HTML/DOM spec rules that enable DOM Clobbering: 1198 * - Named Access on Window (§7.3.3) 1199 * - DOM Tree Accessors (§3.1.5) 1200 * - Form Element Parent-Child Relations (§4.10.3) 1201 * - Iframe srcdoc / Nested WindowProxies (§4.8.5) 1202 * - HTMLCollection (§4.2.10.2) 1203 * 1204 * Namespace isolation is implemented by prefixing `id` and `name` attributes 1205 * with a constant string, i.e., `user-content-` 1206 */ 1207 let SANITIZE_NAMED_PROPS = false; 1208 const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-'; 1209 /* Keep element content when removing element? */ 1210 let KEEP_CONTENT = true; 1211 /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead 1212 * of importing it into a new Document and returning a sanitized copy */ 1213 let IN_PLACE = false; 1214 /* Allow usage of profiles like html, svg and mathMl */ 1215 let USE_PROFILES = {}; 1216 /* Tags to ignore content of when KEEP_CONTENT is true */ 1217 let FORBID_CONTENTS = null; 1218 const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']); 1219 /* Tags that are safe for data: URIs */ 1220 let DATA_URI_TAGS = null; 1221 const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']); 1222 /* Attributes safe for values like "javascript:" */ 1223 let URI_SAFE_ATTRIBUTES = null; 1224 const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']); 1225 const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'; 1226 const SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; 1227 const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml'; 1228 /* Document namespace */ 1229 let NAMESPACE = HTML_NAMESPACE; 1230 let IS_EMPTY_INPUT = false; 1231 /* Allowed XHTML+XML namespaces */ 1232 let ALLOWED_NAMESPACES = null; 1233 const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString); 1234 let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); 1235 let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']); 1236 // Certain elements are allowed in both SVG and HTML 1237 // namespace. We need to specify them explicitly 1238 // so that they don't get erroneously deleted from 1239 // HTML namespace. 1240 const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']); 1241 /* Parsing of strict XHTML documents */ 1242 let PARSER_MEDIA_TYPE = null; 1243 const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html']; 1244 const DEFAULT_PARSER_MEDIA_TYPE = 'text/html'; 1245 let transformCaseFunc = null; 1246 /* Keep a reference to config to pass to hooks */ 1247 let CONFIG = null; 1248 /* Ideally, do not touch anything below this line */ 1249 /* ______________________________________________ */ 1250 const formElement = document.createElement('form'); 1251 const isRegexOrFunction = function isRegexOrFunction(testValue) { 1252 return testValue instanceof RegExp || testValue instanceof Function; 1253 }; 1254 /** 1255 * _parseConfig 1256 * 1257 * @param cfg optional config literal 1258 */ 1259 // eslint-disable-next-line complexity 1260 const _parseConfig = function _parseConfig() { 1261 let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 1262 if (CONFIG && CONFIG === cfg) { 1263 return; 1264 } 1265 /* Shield configuration object from tampering */ 1266 if (!cfg || typeof cfg !== 'object') { 1267 cfg = {}; 1268 } 1269 /* Shield configuration object from prototype pollution */ 1270 cfg = clone(cfg); 1271 PARSER_MEDIA_TYPE = 1272 // eslint-disable-next-line unicorn/prefer-includes 1273 SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE; 1274 // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is. 1275 transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase; 1276 /* Set configuration parameters */ 1277 ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS; 1278 ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR; 1279 ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES; 1280 URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES; 1281 DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS; 1282 FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS; 1283 FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) :
vendor: 3,290 bytes, lines 1283-1344
1283{}; 1284 FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {}; 1285 USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false; 1286 ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true 1287 ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true 1288 ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false 1289 ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true 1290 SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false 1291 SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true 1292 WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false 1293 RETURN_DOM = cfg.RETURN_DOM || false; // Default false 1294 RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false 1295 RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false 1296 FORCE_BODY = cfg.FORCE_BODY || false; // Default false 1297 SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true 1298 SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false 1299 KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true 1300 IN_PLACE = cfg.IN_PLACE || false; // Default false 1301 IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI; 1302 NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE; 1303 MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS; 1304 HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS; 1305 CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {}; 1306 if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) { 1307 CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck; 1308 } 1309 if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) { 1310 CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck; 1311 } 1312 if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') { 1313 CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements; 1314 } 1315 if (SAFE_FOR_TEMPLATES) { 1316 ALLOW_DATA_ATTR = false; 1317 } 1318 if (RETURN_DOM_FRAGMENT) { 1319 RETURN_DOM = true; 1320 } 1321 /* Parse profile info */ 1322 if (USE_PROFILES) { 1323 ALLOWED_TAGS = addToSet({}, text); 1324 ALLOWED_ATTR = []; 1325 if (USE_PROFILES.html === true) { 1326 addToSet(ALLOWED_TAGS, html$1); 1327 addToSet(ALLOWED_ATTR, html); 1328 } 1329 if (USE_PROFILES.svg === true) { 1330 addToSet(ALLOWED_TAGS, svg$1); 1331 addToSet(ALLOWED_ATTR, svg); 1332 addToSet(ALLOWED_ATTR, xml); 1333 } 1334 if (USE_PROFILES.svgFilters === true) { 1335 addToSet(ALLOWED_TAGS, svgFilters); 1336 addToSet(ALLOWED_ATTR, svg); 1337 addToSet(ALLOWED_ATTR, xml); 1338 } 1339 if (USE_PROFILES.mathMl === true) { 1340 addToSet(ALLOWED_TAGS, mathMl$1); 1341 addToSet(ALLOWED_ATTR, mathMl); 1342 addToSet(ALLOWED_ATTR, xml); 1343 } 1344 }
vendor: 5,664 bytes, lines 1345-1472
1345 /* Merge configuration parameters */ 1346 if (cfg.ADD_TAGS) { 1347 if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) { 1348 ALLOWED_TAGS = clone(ALLOWED_TAGS); 1349 } 1350 addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc); 1351 } 1352 if (cfg.ADD_ATTR) { 1353 if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) { 1354 ALLOWED_ATTR = clone(ALLOWED_ATTR); 1355 } 1356 addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc); 1357 } 1358 if (cfg.ADD_URI_SAFE_ATTR) { 1359 addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc); 1360 } 1361 if (cfg.FORBID_CONTENTS) { 1362 if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) { 1363 FORBID_CONTENTS = clone(FORBID_CONTENTS); 1364 } 1365 addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc); 1366 } 1367 /* Add #text in case KEEP_CONTENT is set to true */ 1368 if (KEEP_CONTENT) { 1369 ALLOWED_TAGS['#text'] = true; 1370 } 1371 /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */ 1372 if (WHOLE_DOCUMENT) { 1373 addToSet(ALLOWED_TAGS, ['html', 'head', 'body']); 1374 } 1375 /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */ 1376 if (ALLOWED_TAGS.table) { 1377 addToSet(ALLOWED_TAGS, ['tbody']); 1378 delete FORBID_TAGS.tbody; 1379 } 1380 if (cfg.TRUSTED_TYPES_POLICY) { 1381 if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') { 1382 throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'); 1383 } 1384 if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') { 1385 throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'); 1386 } 1387 // Overwrite existing TrustedTypes policy. 1388 trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY; 1389 // Sign local variables required by `sanitize`. 1390 emptyHTML = trustedTypesPolicy.createHTML(''); 1391 } else { 1392 // Uninitialized policy, attempt to initialize the internal dompurify policy. 1393 if (trustedTypesPolicy === undefined) { 1394 trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript); 1395 } 1396 // If creating the internal policy succeeded sign internal variables. 1397 if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') { 1398 emptyHTML = trustedTypesPolicy.createHTML(''); 1399 } 1400 } 1401 // Prevent further manipulation of configuration. 1402 // Not available in IE8, Safari 5, etc. 1403 if (freeze) { 1404 freeze(cfg); 1405 } 1406 CONFIG = cfg; 1407 }; 1408 /* Keep track of all possible SVG and MathML tags 1409 * so that we can perform the namespace checks 1410 * correctly. */ 1411 const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]); 1412 const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]); 1413 /** 1414 * @param element a DOM element whose namespace is being checked 1415 * @returns Return false if the element has a 1416 * namespace that a spec-compliant parser would never 1417 * return. Return true otherwise. 1418 */ 1419 const _checkValidNamespace = function _checkValidNamespace(element) { 1420 let parent = getParentNode(element); 1421 // In JSDOM, if we're inside shadow DOM, then parentNode 1422 // can be null. We just simulate parent in this case. 1423 if (!parent || !parent.tagName) { 1424 parent = { 1425 namespaceURI: NAMESPACE, 1426 tagName: 'template' 1427 }; 1428 } 1429 const tagName = stringToLowerCase(element.tagName); 1430 const parentTagName = stringToLowerCase(parent.tagName); 1431 if (!ALLOWED_NAMESPACES[element.namespaceURI]) { 1432 return false; 1433 } 1434 if (element.namespaceURI === SVG_NAMESPACE) { 1435 // The only way to switch from HTML namespace to SVG 1436 // is via <svg>. If it happens via any other tag, then 1437 // it should be killed. 1438 if (parent.namespaceURI === HTML_NAMESPACE) { 1439 return tagName === 'svg'; 1440 } 1441 // The only way to switch from MathML to SVG is via` 1442 // svg if parent is either <annotation-xml> or MathML 1443 // text integration points. 1444 if (parent.namespaceURI === MATHML_NAMESPACE) { 1445 return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]); 1446 } 1447 // We only allow elements that are defined in SVG 1448 // spec. All others are disallowed in SVG namespace. 1449 return Boolean(ALL_SVG_TAGS[tagName]); 1450 } 1451 if (element.namespaceURI === MATHML_NAMESPACE) { 1452 // The only way to switch from HTML namespace to MathML 1453 // is via <math>. If it happens via any other tag, then 1454 // it should be killed. 1455 if (parent.namespaceURI === HTML_NAMESPACE) { 1456 return tagName === 'math'; 1457 } 1458 // The only way to switch from SVG to MathML is via 1459 // <math> and HTML integration points 1460 if (parent.namespaceURI === SVG_NAMESPACE) { 1461 return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName]; 1462 } 1463 // We only allow elements that are defined in MathML 1464 // spec. All others are disallowed in MathML namespace. 1465 return Boolean(ALL_MATHML_TAGS[tagName]); 1466 } 1467 if (element.namespaceURI === HTML_NAMESPACE) { 1468 // The only way to switch from SVG to HTML is via 1469 // HTML integration points, and from MathML to HTML 1470 // is via MathML text integration points 1471 if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) { 1472 return false;
1473 } 1474 if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) { 1475 return false; 1476 } 1477 // We disallow tags that are specific for MathML 1478 // or SVG and should never appear in HTML namespace 1479 return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]); 1480 } 1481 // For XHTML and XML documents that support custom namespaces 1482 if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) { 1483 return true; 1484 } 1485 // The code should never reach this place (this means 1486 // that the element somehow got namespace that is not 1487 // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES). 1488 // Return false just in case. 1489 return false; 1490 }; 1491 /** 1492 * _forceRemove 1493 * 1494 * @param node a DOM node 1495 */ 1496 const _forceRemove = function _forceRemove(node) { 1497 arrayPush(DOMPurify.removed, { 1498 element: node 1499 }); 1500 try {
vendor: 19,689 bytes, lines 1501-1946
1501 // eslint-disable-next-line unicorn/prefer-dom-node-remove 1502 getParentNode(node).removeChild(node); 1503 } catch (_) { 1504 remove(node); 1505 } 1506 }; 1507 /** 1508 * _removeAttribute 1509 * 1510 * @param name an Attribute name 1511 * @param element a DOM node 1512 */ 1513 const _removeAttribute = function _removeAttribute(name, element) { 1514 try { 1515 arrayPush(DOMPurify.removed, { 1516 attribute: element.getAttributeNode(name), 1517 from: element 1518 }); 1519 } catch (_) { 1520 arrayPush(DOMPurify.removed, { 1521 attribute: null, 1522 from: element 1523 }); 1524 } 1525 element.removeAttribute(name); 1526 // We void attribute values for unremovable "is" attributes 1527 if (name === 'is') { 1528 if (RETURN_DOM || RETURN_DOM_FRAGMENT) { 1529 try { 1530 _forceRemove(element); 1531 } catch (_) {} 1532 } else { 1533 try { 1534 element.setAttribute(name, ''); 1535 } catch (_) {} 1536 } 1537 } 1538 }; 1539 /** 1540 * _initDocument 1541 * 1542 * @param dirty - a string of dirty markup 1543 * @return a DOM, filled with the dirty markup 1544 */ 1545 const _initDocument = function _initDocument(dirty) { 1546 /* Create a HTML document */ 1547 let doc = null; 1548 let leadingWhitespace = null; 1549 if (FORCE_BODY) { 1550 dirty = '<remove></remove>' + dirty; 1551 } else { 1552 /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ 1553 const matches = stringMatch(dirty, /^[\r\n\t ]+/); 1554 leadingWhitespace = matches && matches[0]; 1555 } 1556 if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) { 1557 // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict) 1558 dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>'; 1559 } 1560 const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; 1561 /* 1562 * Use the DOMParser API by default, fallback later if needs be 1563 * DOMParser not work for svg when has multiple root element. 1564 */ 1565 if (NAMESPACE === HTML_NAMESPACE) { 1566 try { 1567 doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE); 1568 } catch (_) {} 1569 } 1570 /* Use createHTMLDocument in case DOMParser is not available */ 1571 if (!doc || !doc.documentElement) { 1572 doc = implementation.createDocument(NAMESPACE, 'template', null); 1573 try { 1574 doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload; 1575 } catch (_) { 1576 // Syntax error if dirtyPayload is invalid xml 1577 } 1578 } 1579 const body = doc.body || doc.documentElement; 1580 if (dirty && leadingWhitespace) { 1581 body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null); 1582 } 1583 /* Work on whole document or just its body */ 1584 if (NAMESPACE === HTML_NAMESPACE) { 1585 return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0]; 1586 } 1587 return WHOLE_DOCUMENT ? doc.documentElement : body; 1588 }; 1589 /** 1590 * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. 1591 * 1592 * @param root The root element or node to start traversing on. 1593 * @return The created NodeIterator 1594 */ 1595 const _createNodeIterator = function _createNodeIterator(root) { 1596 return createNodeIterator.call(root.ownerDocument || root, root, 1597 // eslint-disable-next-line no-bitwise 1598 NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null); 1599 }; 1600 /** 1601 * _isClobbered 1602 * 1603 * @param element element to check for clobbering attacks 1604 * @return true if clobbered, false if safe 1605 */ 1606 const _isClobbered = function _isClobbered(element) { 1607 return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function'); 1608 }; 1609 /** 1610 * Checks whether the given object is a DOM node. 1611 * 1612 * @param value object to check whether it's a DOM node 1613 * @return true is object is a DOM node 1614 */ 1615 const _isNode = function _isNode(value) { 1616 return typeof Node === 'function' && value instanceof Node; 1617 }; 1618 function _executeHooks(hooks, currentNode, data) { 1619 arrayForEach(hooks, hook => { 1620 hook.call(DOMPurify, currentNode, data, CONFIG); 1621 }); 1622 } 1623 /** 1624 * _sanitizeElements 1625 * 1626 * @protect nodeName 1627 * @protect textContent 1628 * @protect removeChild 1629 * @param currentNode to check for permission to exist 1630 * @return true if node was killed, false if left alive 1631 */ 1632 const _sanitizeElements = function _sanitizeElements(currentNode) { 1633 let content = null; 1634 /* Execute a hook if present */ 1635 _executeHooks(hooks.beforeSanitizeElements, currentNode, null); 1636 /* Check if element is clobbered or can clobber */ 1637 if (_isClobbered(currentNode)) { 1638 _forceRemove(currentNode); 1639 return true; 1640 } 1641 /* Now let's check the element's type and name */ 1642 const tagName = transformCaseFunc(currentNode.nodeName); 1643 /* Execute a hook if present */ 1644 _executeHooks(hooks.uponSanitizeElement, currentNode, { 1645 tagName, 1646 allowedTags: ALLOWED_TAGS 1647 }); 1648 /* Detect mXSS attempts abusing namespace confusion */ 1649 if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) { 1650 _forceRemove(currentNode); 1651 return true; 1652 } 1653 /* Remove any occurrence of processing instructions */ 1654 if (currentNode.nodeType === NODE_TYPE.progressingInstruction) { 1655 _forceRemove(currentNode); 1656 return true; 1657 } 1658 /* Remove any kind of possibly harmful comments */ 1659 if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) { 1660 _forceRemove(currentNode); 1661 return true; 1662 } 1663 /* Remove element if anything forbids its presence */ 1664 if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { 1665 /* Check if we have a custom element to handle */ 1666 if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) { 1667 if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) { 1668 return false; 1669 } 1670 if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) { 1671 return false; 1672 } 1673 } 1674 /* Keep content except for bad-listed elements */ 1675 if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) { 1676 const parentNode = getParentNode(currentNode) || currentNode.parentNode; 1677 const childNodes = getChildNodes(currentNode) || currentNode.childNodes; 1678 if (childNodes && parentNode) { 1679 const childCount = childNodes.length; 1680 for (let i = childCount - 1; i >= 0; --i) { 1681 const childClone = cloneNode(childNodes[i], true); 1682 childClone.__removalCount = (currentNode.__removalCount || 0) + 1; 1683 parentNode.insertBefore(childClone, getNextSibling(currentNode)); 1684 } 1685 } 1686 } 1687 _forceRemove(currentNode); 1688 return true; 1689 } 1690 /* Check whether element has a valid namespace */ 1691 if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) { 1692 _forceRemove(currentNode); 1693 return true; 1694 } 1695 /* Make sure that older browsers don't get fallback-tag mXSS */ 1696 if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) { 1697 _forceRemove(currentNode); 1698 return true; 1699 } 1700 /* Sanitize element content to be template-safe */ 1701 if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) { 1702 /* Get the element's text content */ 1703 content = currentNode.textContent; 1704 arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => { 1705 content = stringReplace(content, expr, ' '); 1706 }); 1707 if (currentNode.textContent !== content) { 1708 arrayPush(DOMPurify.removed, { 1709 element: currentNode.cloneNode() 1710 }); 1711 currentNode.textContent = content; 1712 } 1713 } 1714 /* Execute a hook if present */ 1715 _executeHooks(hooks.afterSanitizeElements, currentNode, null); 1716 return false; 1717 }; 1718 /** 1719 * _isValidAttribute 1720 * 1721 * @param lcTag Lowercase tag name of containing element. 1722 * @param lcName Lowercase attribute name. 1723 * @param value Attribute value. 1724 * @return Returns true if `value` is valid, otherwise false. 1725 */ 1726 // eslint-disable-next-line complexity 1727 const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) { 1728 /* Make sure attribute cannot clobber */ 1729 if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) { 1730 return false; 1731 } 1732 /* Allow valid data-* attributes: At least one character after "-" 1733 (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes) 1734 XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804) 1735 We don't need to check the value; it's always URI safe. */ 1736 if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) { 1737 if ( 1738 // First condition does a very basic check if a) it's basically a valid custom element tagname AND 1739 // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck 1740 // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck 1741 _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || 1742 // Alternative, second condition checks if it's an `is`-attribute, AND 1743 // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck 1744 lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else { 1745 return false; 1746 } 1747 /* Check value is safe. First, is attr inert? If so, is safe */ 1748 } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) { 1749 return false; 1750 } else ; 1751 return true; 1752 }; 1753 /** 1754 * _isBasicCustomElement 1755 * checks if at least one dash is included in tagName, and it's not the first char 1756 * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name 1757 * 1758 * @param tagName name of the tag of the node to sanitize 1759 * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false. 1760 */ 1761 const _isBasicCustomElement = function _isBasicCustomElement(tagName) { 1762 return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT); 1763 }; 1764 /** 1765 * _sanitizeAttributes 1766 * 1767 * @protect attributes 1768 * @protect nodeName 1769 * @protect removeAttribute 1770 * @protect setAttribute 1771 * 1772 * @param currentNode to sanitize 1773 */ 1774 const _sanitizeAttributes = function _sanitizeAttributes(currentNode) { 1775 /* Execute a hook if present */ 1776 _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null); 1777 const { 1778 attributes 1779 } = currentNode; 1780 /* Check if we have attributes; if not we might have a text node */ 1781 if (!attributes || _isClobbered(currentNode)) { 1782 return; 1783 } 1784 const hookEvent = { 1785 attrName: '', 1786 attrValue: '', 1787 keepAttr: true, 1788 allowedAttributes: ALLOWED_ATTR, 1789 forceKeepAttr: undefined 1790 }; 1791 let l = attributes.length; 1792 /* Go backwards over all attributes; safely remove bad ones */ 1793 while (l--) { 1794 const attr = attributes[l]; 1795 const { 1796 name, 1797 namespaceURI, 1798 value: attrValue 1799 } = attr; 1800 const lcName = transformCaseFunc(name); 1801 let value = name === 'value' ? attrValue : stringTrim(attrValue); 1802 /* Execute a hook if present */ 1803 hookEvent.attrName = lcName; 1804 hookEvent.attrValue = value; 1805 hookEvent.keepAttr = true; 1806 hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set 1807 _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent); 1808 value = hookEvent.attrValue; 1809 /* Full DOM Clobbering protection via namespace isolation, 1810 * Prefix id and name attributes with `user-content-` 1811 */ 1812 if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) { 1813 // Remove the attribute with this value 1814 _removeAttribute(name, currentNode); 1815 // Prefix the value and later re-create the attribute with the sanitized value 1816 value = SANITIZE_NAMED_PROPS_PREFIX + value; 1817 } 1818 /* Work around a security issue with comments inside attributes */ 1819 if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) { 1820 _removeAttribute(name, currentNode); 1821 continue; 1822 } 1823 /* Did the hooks approve of the attribute? */ 1824 if (hookEvent.forceKeepAttr) { 1825 continue; 1826 } 1827 /* Remove attribute */ 1828 _removeAttribute(name, currentNode); 1829 /* Did the hooks approve of the attribute? */ 1830 if (!hookEvent.keepAttr) { 1831 continue; 1832 } 1833 /* Work around a security issue in jQuery 3.0 */ 1834 if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) { 1835 _removeAttribute(name, currentNode); 1836 continue; 1837 } 1838 /* Sanitize attribute content to be template-safe */ 1839 if (SAFE_FOR_TEMPLATES) { 1840 arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => { 1841 value = stringReplace(value, expr, ' '); 1842 }); 1843 } 1844 /* Is `value` valid for this attribute? */ 1845 const lcTag = transformCaseFunc(currentNode.nodeName); 1846 if (!_isValidAttribute(lcTag, lcName, value)) { 1847 continue; 1848 } 1849 /* Handle attributes that require Trusted Types */ 1850 if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') { 1851 if (namespaceURI) ; else { 1852 switch (trustedTypes.getAttributeType(lcTag, lcName)) { 1853 case 'TrustedHTML': 1854 { 1855 value = trustedTypesPolicy.createHTML(value); 1856 break; 1857 } 1858 case 'TrustedScriptURL': 1859 { 1860 value = trustedTypesPolicy.createScriptURL(value); 1861 break; 1862 } 1863 } 1864 } 1865 } 1866 /* Handle invalid data-* attribute set by try-catching it */ 1867 try { 1868 if (namespaceURI) { 1869 currentNode.setAttributeNS(namespaceURI, name, value); 1870 } else { 1871 /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */ 1872 currentNode.setAttribute(name, value); 1873 } 1874 if (_isClobbered(currentNode)) { 1875 _forceRemove(currentNode); 1876 } else { 1877 arrayPop(DOMPurify.removed); 1878 } 1879 } catch (_) {} 1880 } 1881 /* Execute a hook if present */ 1882 _executeHooks(hooks.afterSanitizeAttributes, currentNode, null); 1883 }; 1884 /** 1885 * _sanitizeShadowDOM 1886 * 1887 * @param fragment to iterate over recursively 1888 */ 1889 const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) { 1890 let shadowNode = null; 1891 const shadowIterator = _createNodeIterator(fragment); 1892 /* Execute a hook if present */ 1893 _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null); 1894 while (shadowNode = shadowIterator.nextNode()) { 1895 /* Execute a hook if present */ 1896 _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null); 1897 /* Sanitize tags and elements */ 1898 _sanitizeElements(shadowNode); 1899 /* Check attributes next */ 1900 _sanitizeAttributes(shadowNode); 1901 /* Deep shadow DOM detected */ 1902 if (shadowNode.content instanceof DocumentFragment) { 1903 _sanitizeShadowDOM(shadowNode.content); 1904 } 1905 } 1906 /* Execute a hook if present */ 1907 _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null); 1908 }; 1909 // eslint-disable-next-line complexity 1910 DOMPurify.sanitize = function (dirty) { 1911 let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 1912 let body = null; 1913 let importedNode = null; 1914 let currentNode = null; 1915 let returnNode = null; 1916 /* Make sure we have a string to sanitize. 1917 DO NOT return early, as this will return the wrong type if 1918 the user has requested a DOM object rather than a string */ 1919 IS_EMPTY_INPUT = !dirty; 1920 if (IS_EMPTY_INPUT) { 1921 dirty = '<!-->'; 1922 } 1923 /* Stringify, in case dirty is an object */ 1924 if (typeof dirty !== 'string' && !_isNode(dirty)) { 1925 if (typeof dirty.toString === 'function') { 1926 dirty = dirty.toString(); 1927 if (typeof dirty !== 'string') { 1928 throw typeErrorCreate('dirty is not a string, aborting'); 1929 } 1930 } else { 1931 throw typeErrorCreate('toString is not a function'); 1932 } 1933 } 1934 /* Return dirty HTML if DOMPurify cannot run */ 1935 if (!DOMPurify.isSupported) { 1936 return dirty; 1937 } 1938 /* Assign config vars */ 1939 if (!SET_CONFIG) { 1940 _parseConfig(cfg); 1941 } 1942 /* Clean up removed elements */ 1943 DOMPurify.removed = []; 1944 /* Check if dirty is correctly typed for IN_PLACE */ 1945 if (typeof dirty === 'string') { 1946 IN_PLACE = false;
vendor: 2,671 bytes, lines 1947-2009
1947 } 1948 if (IN_PLACE) { 1949 /* Do some early pre-sanitization to avoid unsafe root nodes */ 1950 if (dirty.nodeName) { 1951 const tagName = transformCaseFunc(dirty.nodeName); 1952 if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { 1953 throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place'); 1954 } 1955 } 1956 } else if (dirty instanceof Node) { 1957 /* If dirty is a DOM element, append to an empty document to avoid 1958 elements being stripped by the parser */ 1959 body = _initDocument('<!---->'); 1960 importedNode = body.ownerDocument.importNode(dirty, true); 1961 if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') { 1962 /* Node is already a body, use as is */ 1963 body = importedNode; 1964 } else if (importedNode.nodeName === 'HTML') { 1965 body = importedNode; 1966 } else { 1967 // eslint-disable-next-line unicorn/prefer-dom-node-append 1968 body.appendChild(importedNode); 1969 } 1970 } else { 1971 /* Exit directly if we have nothing to do */ 1972 if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && 1973 // eslint-disable-next-line unicorn/prefer-includes 1974 dirty.indexOf('<') === -1) { 1975 return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; 1976 } 1977 /* Initialize the document to work on */ 1978 body = _initDocument(dirty); 1979 /* Check we have a DOM node from the data */ 1980 if (!body) { 1981 return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : ''; 1982 } 1983 } 1984 /* Remove first element node (ours) if FORCE_BODY is set */ 1985 if (body && FORCE_BODY) { 1986 _forceRemove(body.firstChild); 1987 } 1988 /* Get node iterator */ 1989 const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body); 1990 /* Now start iterating over the created document */ 1991 while (currentNode = nodeIterator.nextNode()) { 1992 /* Sanitize tags and elements */ 1993 _sanitizeElements(currentNode); 1994 /* Check attributes next */ 1995 _sanitizeAttributes(currentNode); 1996 /* Shadow DOM detected, sanitize it */ 1997 if (currentNode.content instanceof DocumentFragment) { 1998 _sanitizeShadowDOM(currentNode.content); 1999 } 2000 } 2001 /* If we sanitized `dirty` in-place, return it. */ 2002 if (IN_PLACE) { 2003 return dirty; 2004 } 2005 /* Return sanitized string or DOM */ 2006 if (RETURN_DOM) { 2007 if (RETURN_DOM_FRAGMENT) { 2008 returnNode = createDocumentFragment.call(body.ownerDocument); 2009 while (body.firstChild) {
2010 // eslint-disable-next-line unicorn/prefer-dom-node-append 2011 returnNode.appendChild(body.firstChild); 2012 } 2013 } else { 2014 returnNode = body; 2015 } 2016 if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) { 2017 /* 2018 AdoptNode() is not used because internal state is not reset 2019 (e.g. the past names map of a HTMLFormElement), this is safe 2020 in theory but we would rather not risk another attack vector. 2021 The state that is cloned by importNode() is explicitly defined 2022 by the specs. 2023 */ 2024 returnNode = importNode.call(originalDocument, returnNode, true); 2025 } 2026 return returnNode; 2027 } 2028 let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML; 2029 /* Serialize doctype if allowed */ 2030 if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) { 2031 serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\n' + serializedHTML; 2032 } 2033 /* Sanitize final string template-safe */ 2034 if (SAFE_FOR_TEMPLATES) { 2035 arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => { 2036 serializedHTML = stringReplace(serializedHTML, expr, ' '); 2037 }); 2038 } 2039 return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML; 2040 }; 2041 DOMPurify.setConfig = function () { 2042 let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 2043 _parseConfig(cfg); 2044 SET_CONFIG = true; 2045 }; 2046 DOMPurify.clearConfig = function () { 2047 CONFIG = null; 2048 SET_CONFIG = false; 2049 }; 2050 DOMPurify.isValidAttribute = function (tag, attr, value) { 2051 /* Initialize shared config vars if necessary. */ 2052 if (!CONFIG) { 2053 _parseConfig({}); 2054 } 2055 const lcTag = transformCaseFunc(tag); 2056 const lcName = transformCaseFunc(attr); 2057 return _isValidAttribute(lcTag, lcName, value); 2058 }; 2059 DOMPurify.addHook = function (entryPoint, hookFunction) { 2060 if (typeof hookFunction !== 'function') { 2061 return; 2062 } 2063 arrayPush(hooks[entryPoint], hookFunction); 2064 }; 2065 DOMPurify.removeHook = function (entryPoint, hookFunction) { 2066 if (hookFunction !== undefined) { 2067 const index = arrayLastIndexOf(hooks[entryPoint], hookFunction); 2068 return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0]; 2069 } 2070 return arrayPop(hooks[entryPoint]); 2071 }; 2072 DOMPurify.removeHooks = function (entryPoint) { 2073 hooks[entryPoint] = []; 2074 }; 2075 DOMPurify.removeAllHooks = function () { 2076 hooks = _createHooksMap(); 2077 }; 2078 return DOMPurify; 2079 } 2080 var purify = createDOMPurify(); 2081 2082 return purify; 2083 2084})); 2085//# sourceMappingURL=purify.js.map 2086window.base32encode=function(n){var r,e,o,t,a,h=0,i=0,f=0,l=0;for(n=n.split(/(..)/).map((function(n){return n&&String.fromCharCode(parseInt(n,16))})).join(""),r=new Array(8*(t=n,a=Math.floor(t.length/5),t.length%5==0?a:a+1)),o=n.length;h<o;)e=n.charCodeAt(h),f>3?(l=(l=e&255>>f)<<(f=(f+5)%8)|(h+1<o?n.charCodeAt(h+1):0)>>8-f,h++):(l=e>>8-(f+5)&31,0==(f=(f+5)%8)&&h++),r[i]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"[l],i++;for(h=i;h<r.length;h++)r[h]="=";return r.join("")};var sf={};sf.core=function(){let e=null;return{getAssetId:function(){return e},setAssetId:function(t){e=t}}}(),sf.namespace=function(e){if(!e||"string"!=typeof e)return;let t=e.split("."),r="sf"===t[0],a=window.sf||{};for(let e=r?1:0;e<t.length;e++)a[t[e]]=a[t[e]]||{},a=a[t[e]];return a},function(){const e=sf.namespace("sf.apiService");e.getBaseUrl=function(){return"/api/firewall-config/v1"}}(),sf.namespace("sf.core").toastNotificationService={showSuccess:e=>{Cyberoam.setStatusBarMessage(e,200,void 0,void 0)},showError:e=>{Cyberoam.setStatusBarMessage(e,500,void 0,void 0)}},function(e){let t=sf.namespace("sf.core");const r=function(e,t){let r=null;if(e&&e.errors&&e.errors.total>0&&e.items&&Array.isArray(e.items)){if(e.errors.total<e.items.length)r=t.i18nKeyForPartialSuccessMsg;else{let a=e.items.find((e=>e.error));a&&t.i18nPrefix&&(r=t.i18nPrefix+"."+a.error?.error)}
2086if(r){let e=sf.core.i18nService.translate(r);return sf.core.toastNotificationService.showError(e),!0}}return!1};t.postResponse={showNotification:function(e,t,a){if(a.bulkDelete&&r(e,a))return;let o=null,n="";t>=200&&t<=299&&a.i18nKeyForSuccessMsg?o=a.i18nKeyForSuccessMsg:a.i18nPrefix&&(o=a.i18nPrefix+"."+e.error),o&&(n=sf.core.i18nService.translate(o),t>=200&&t<=299?sf.core.toastNotificationService.showSuccess(n):sf.core.toastNotificationService.showError(n)),""!==n||403!==t&&405!==t&&500!==t&&503!==t||sf.core.toastNotificationService.showError(sf.core.i18nService.translate("httpStatus."+t))},executeCallbacks:function(e,t,r){if(r.response){let a={entity:{map:e||{}},status:t};r.response(a)}r.postResponse&&"function"==typeof r.postResponse&&r.postResponse(e,t)}}}();var Cyberoam={defaultController:"Controller",currentObject:null,version:"1",validationFlag:!0,contextPath:"/webconsole",mainFrame:"mainframediv",scheduleURL:"/schedule.html",IPv6Enable:1,pageElementId:"",topBarHeight:62,fixedWidthResulotion:1920,idxFileExtName:0,idxEmail:1,idxURL:2,idxPortNo:3,idxPacketrate:4,idxIPv4:5,idxASCII:6,idxKeyword:7,idxMAC:8,idxFloat:9,idxVariableName:10,idxHexaDecimal:11,idxMailServer:12,idxDomainName:13,idxDomainNames:57,idxDomain:14,idxInteger:15,idxName:16,idxAlphaNumeric:17,idxPortNoWithAny:18,idxErrorURL:19,idxPolicyName:20,idxHostName:21,idxGroupName:22,idxSysLogName:23,idxNameWithMultipleSpaces:24,idxBWPolicyName:25,idxWebCatName:26,idxBridgePairName:27,idxRejectDefault:28,idxNoComma:29,idxNoSemiComma:42,idxBookmarkDomain:30,idxIPv4WithAny:31,idxURLWithAny:32,idxCertificateName:33,idxIPv6:34,idxBookmarkName:35,idxAddressGrpName:36,idxIPv6Domain:37,idxCustomHostname:38,idxInterfaceName:39,idxIlgPolicyName:51,idxIlgSpecialDefaultName:52,idxIlgIPSCustomSign:53,idxExcFileType:54,idxOUGroupName:55,idxGeneralName:56,idxIlgPrefixSub:58,idxURLSpecialChars:59,idxOAUTH2:60,idxIlgDisplayName:84,idxIPsecRemote:200,legalChars:{}};Cyberoam.legalChars[Cyberoam.idxGeneralName]={regex:/^\w\'`\'~\'@\'#\'$\'%\'^\'&\'*\',\'(\')\'-\'_\'+\'=\';\':\'|\'.\',\'?\'"\'\\'\\\{\}\[\]\'/,i18nvalidation:!0},Cyberoam.legalChars[Cyberoam.idxFileExtName]={regex:/^[a-zA-Z0-9]([,_]?[a-zA-Z0-9]+[\n]?)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxEmail]={regex:/^([a-zA-Z0-9\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+)(?:\.[A-Za-z0-9\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+)*@([a-zA-Z0-9]([\-]?[a-zA-Z0-9]+)*\.)+([a-zA-Z0-9]{1,64})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxURL]={regex:/^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/(([.\-?&=#%\/+!]*\w))*)*)+[.\-?&=#%\/+!]*)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxURLSpecialChars]={regex:/^(((\w([.]?(\w|[-]))+([:][0-9]{1,5})?(\/(([.\-?&=#%\/+!]*\w))*)*)+[.\-?&=#%\/+!]*)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPortNo]={regex:/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPacketrate]={regex:/^-?[0-9]\d*$/,i18nvalidation:!1,rangevalidation:"validateIntRange"},Cyberoam.legalChars[Cyberoam.idxIPv4]={regex:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,i18nvalidation:!1,rangevalidation:"isIPv4FallInRange"},Cyberoam.legalChars[Cyberoam.idxASCII]={regex:/^[^;\'\"\\]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxKeyword]={regex:/^([a-zA-Z0-9]+([=]?\w)*)$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxMAC]={regex:/^[0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}[:|-][0-9a-fA-F]{2}$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxFloat]={regex:/^\d+\.\d+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxVariableName]={regex:/^[a-zA-Z_]+([\.]?[_a-zA-Z0-9])+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxHexaDecimal]={regex:/^[A-Fa-f0-9]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxMailServer]={regex:/^\w([\.@ !$%^&*\-\_\/]*?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomainName]={regex:/^\w([\.]?\w|\-)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomainNames]={regex:/^[^\W_]([\.]?[^\W_]|\-)*[^-_\W](,[ ]*[^\W_]([\.]?[^\W_]|\-)*[^-_\W])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxDomain]={regex:/^([A-Za-z0-9]([A-Za-z0-9-\_]{0,61}[A-Za-z0-9])?[\.])*[A-Za-z]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\/[A-Za-z][A-Za-z0-9-]+)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxInteger]={regex:/^(\d)*$/,i18nvalidation:!1,rangevalidation:"validateIntRange"},Cyberoam.legalChars[Cyberoam.idxName]={regex:/^\w([ ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxAlphaNumeric]={regex:"0-9a-zA-Z",i18nvalidation:!0}
2086,Cyberoam.legalChars[Cyberoam.idxPortNoWithAny]={regex:/^\*$|^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxErrorURL]={regex:/^(http|https|ftp)\:\/\/(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxPolicyName]={regex:/^\w( ?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxHostName]={regex:/^\w([\.]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxGroupName]={regex:/^\w([\.\- ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxSysLogName]={regex:/^\w([\.]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNameWithMultipleSpaces]={regex:/^\w([ ]*\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBWPolicyName]={regex:/^\w([ ]?\w)*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxWebCatName]={regex:/^[a-zA-Z1-9][a-zA-Z0-9]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBridgePairName]={regex:/^([a-zA-Z])([a-zA-Z0-9_])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxRejectDefault]={regex:/^([^#,])([^,])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNoComma]={regex:/^([^,])*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxNoSemiComma]={regex:/^[^;\'\|\u0080-\uffff]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBookmarkDomain]={regex:/^((http|https)\:\/\/){0,1}(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxIPv4WithAny]={regex:/^\*$|^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,i18nvalidation:!1,rangevalidation:"isIPv4FallInRange"},Cyberoam.legalChars[Cyberoam.idxURLWithAny]={regex:/^\*$|^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxCertificateName]={regex:"0-9a-zA-Z _@\\-\\.",i18nvalidation:!0},Cyberoam.legalChars[Cyberoam.idxIPv6]={regex:/^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxIPv6Domain]={regex:/^\[((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\]$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxBookmarkName]={regex:/\w.:_\- &/,i18nvalidation:!0}
2086,Cyberoam.legalChars[Cyberoam.idxAddressGrpName]={regex:/^[-.+,\w\s]*$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxCustomHostname]={regex:/(^\[[\w\:]*\]$)|(^[\w\.\_\-]+$)/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxSSOClientAndTenantID]={regex:/^[a-zA-Z0-9-]+$/,i18nvalidation:!1},Cyberoam.legalChars[Cyberoam.idxOAUTH2]={regex:/^[\x21\x23-\x26\x28-\x5B\x5D-\x7E]+$/,i18nvalidation:!1},Cyberoam.illegalChars={},Cyberoam.illegalChars[Cyberoam.idxIlgPolicyName]={regex:/[\"\'\\,]/},Cyberoam.illegalChars[Cyberoam.idxIlgDisplayName]={regex:/[]/},Cyberoam.illegalChars[Cyberoam.idxIlgSpecialDefaultName]={regex:/[\"\'\\#,]/},Cyberoam.illegalChars[Cyberoam.idxIlgIPSCustomSign]={regex:/[:;,\"]/},Cyberoam.illegalChars[Cyberoam.idxExcFileType]={regex:/[,\"\']/},Cyberoam.illegalChars[Cyberoam.idxOUGroupName]={regex:/[\"\'\\]/},Cyberoam.illegalChars[Cyberoam.idxIlgPrefixSub]={regex:/[\"]/},Cyberoam.illegalChars[Cyberoam.idxInterfaceName]={regex:/['"<>#%\/\\,]/},Cyberoam.languages={English:{langTag:"en-us"},"Chinese-Traditional":{langTag:"zh-tw"},"Chinese-Simplified":{langTag:"zh-cn"},French:{langTag:"fr-fr"},Japanese:{langTag:"ja-jp"},German:{langTag:"de-de"},Italian:{langTag:"it-it"},Korean:{langTag:"ko-kr"},"Brazilian-Portuguese":{langTag:"pt-br"},Russian:{langTag:"ru-ru"},Spanish:{langTag:"es-es"}},Cyberoam.LangService=function(){var e="SF-UI-LANG",t={"en-US":{tag:"en-US",id:1,name:"English"},"zh-TW":{tag:"zh-TW",id:3,name:"Chinese-Traditional"},"zh-CN":{tag:"zh-CN",id:4,name:"Chinese-Simplified"},"fr-FR":{tag:"fr-FR",id:5,name:"French"},"ja-JP":{tag:"ja-JP",id:6,name:"Japanese"},"de-DE":{tag:"de-DE",id:7,name:"German"},"it-IT":{tag:"it-IT",id:8,name:"Italian"},"ko-KR":{tag:"ko-KR",id:9,name:"Korean"},"pt-BR":{tag:"pt-BR",id:10,name:"Brazilian-Portuguese"},"ru-RU":{tag:"ru-RU",id:11,name:"Russian"},"es-ES":{tag:"es-ES",id:12,name:"Spanish"}};function r(){const r=(new Cyberoam.Cookie).read(e),a=function(){if("undefined"==typeof window||void 0===window.navigator)return null;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||null,e}();if(t[r])return t[r].tag;if(t[a])return t[a].tag;if(null!=a){const e=a.split("-")[0];for(const r in t)if(t.hasOwnProperty(r)&&r.split("-")[0]===e)return t[r].tag}return t["en-US"].tag}return{defaultLang:"en-US",supportedLang:t,getLangDetailsById:function(e){if("number"!=typeof e)return null;for(const r in t)if(t.hasOwnProperty(r)&&t[r].id===e)return t[r];return null},getPreferredLangDetails:function(){const e=r();return t[e]},setPreferredLang:function(r){if(t[r]){(new Cyberoam.Cookie).createOrReplace(e,Cyberoam.LangService.supportedLang[r].tag+";Secure;Max-Age=2592000;Same-Site=Strict")}}}}(),Cyberoam.Encode={HTML_CHAR_MAPPING:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`"},_htmlReplacer:function(e){return Cyberoam.Encode.HTML_CHAR_MAPPING[e]},forHtml:function(e){return null===e?e:(e+"").replace(/[&<>"'\/`]/g,Cyberoam.Encode._htmlReplacer)}},Cyberoam.xhrPool=[];var managePage={},managePageDynamicOptionslist={},regexHindi="à¤-ॿ",regexChinese="ä¸-é¿¿",regexFrench="ùûüÿà âçéèêëïîôÅÃÃßÃÃÃÃÃÃÃÃÃÃÅ";function closeElementsOnClick(e){if(null!=Cyberoam.currentObject){var t=0,r=0;try{"Microsoft Internet Explorer"!=navigator.appName?(t=e.pageX,r=e.pageY):(t=event.clientX+document.body.scrollLeft,r=event.clientY+document.body.scrollTop)}catch(e){}var a=Cyberoam.currentObject.getOffsetPosition();a[0].x<t&&a[1].x>t&&a[0].y<r&&a[1].y>r||Cyberoam.currentObject.hide()}}function ajaxResponseForlockAuthorizerAjaxEvent(){}window.onresize=function(e){try{Cyberoam.setPageSize(e)}catch(e){}},document.onhelp=function(){return!1},window.onunload=function(){},window.onhelp=function(){return!1},Cyberoam.interfaceSpeed={0:{key:"10hd",label:"10 Mbps - Half-duplex"},1:{key:"10fd",label:"10 Mbps - Full-duplex"},2:{key:"100hd",label:"100 Mbps - Half-duplex"},3:{key:"100fd",label:"100 Mbps - Full-duplex"},4:{key:"1000hd",label:"1000 Mbps - Half-duplex"},5:{key:"1000fd",label:"1000 Mbps - Full-duplex"},6:{key:"Auto Negotiation",label:"Automatic"},12:{key:"10000fd",label:"10000 Mbps - Full-duplex"},15:{key:"2500fd",label:"2500 Mbps - Full-duplex"},21:{key:"20000fd",label:"20 Gbps - Full-duplex"},23:{key:"40000fd",label:"40 Gbps - Full-duplex"},27:{key:"56000fd",label:"56 Gbps - Full-duplex"},31:{key:"25000fd",label:"25 Gbps - Full-duplex"},34:{key:"50000fd",label:"50 Gbps - Full-duplex"},36:{key:"100000fd",label:"100 Gbps - Full-duplex"},48:{key:"5000fd",label:"5000 Mbps - Full-duplex"}},Cyberoam.fecMode={0:{key:"fec_off",label:"Off"},1:{key:"fec_auto",label:"Automatic"},50:{key:"fec_rs",label:"RS-encoding"},51:{key:"fec_baser",label:"BaseR encoding"}},document.onmousedown=closeElementsOnClick,document.getElementById(Cyberoam.mainFrame)&&(document.getElementById(Cyberoam.mainFrame).onscroll=function(){null!=Cyberoam.currentObject&&Cyberoam.currentObject.show()}),Cyberoam.clone=function(e){function t(){}t.prototype=e;var r=new t;return r.constructor=t,r},Cyberoam.setContextPath=function(e){Cyberoam.contextPath=e},Cyberoam.logger={log:function(){console.log.apply(this,arguments)},warn:function(){console.warn.apply(this,arguments)},error:function(){console.error.apply(this,arguments)},dir:function(){console.dir.apply(this,arguments)}},Cyberoam.setCSRFToken=function(e){var t,r;XMLHttpRequest.prototype.send=(t=XMLHttpRequest.prototype.send,function(r){this.setRequestHeader("X-CSRF-Token",e),t.call(this,r)}),window.open=(r=window.open,function(t,a,o,n){null===Cyberoam.getRequestParam(t,"csrf")&&(void 0===n&&(n=!1),n||(t+=(t.indexOf("?")<0?"?":"&")+"csrf="+e));var i=r.call(window,"",a,o);return i.location.href=t,i})},Cyberoam.openLogViewerWindow=function(e){var t=e||"log_viewer",r=0,a=0,o=790,n=1350;screen.height>o&&(r=(screen.height-o)/4),screen.width>n&&(a=(screen.width-n)/2),"log_viewer"===t&&(o=screen.height,n=screen.width,r=0,a=0);var i=window.open(Cyberoam.contextPath+"/webpages/logging/EventViewer.jsp?selectedTab="+t,null,"height="+o+", width="+n+", left
2086="+a+",top="+r),s=setInterval((function(){i.closed&&(Cyberoam.logger.log("Child window closed"),clearInterval(s),countDownTime=countDownInterval+1,Cyberoam.startit())}),2e4)},Cyberoam.checkModuleSebscription=function(e){try{for(var t in modulesubsctionList)if(modulesubsctionList[t].Name==e&&("ACTIVE"==modulesubsctionList[t].Status.toUpperCase()||"GRACE"==modulesubsctionList[t].Status.toUpperCase()))return!0}catch(e){}return!1},Cyberoam.percent=function(e,t){return isFinite(e)&&isFinite(t)&&t?e/t*100:0},Cyberoam.numberWithCommas=function(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},Cyberoam.tableLoad=function(e,t){Cyberoam.EventStream.ajax({dataType:"json",url:Cyberoam.contextPath+"/Controller?"+$.param({mode:Modes.READ_RECORD,operation:e,_:(new Date).getTime()})}).subscribe(t)},Cyberoam.pageLoad=function(e){if(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),"function"==typeof window["init"+e]&&window["init"+e](),"function"==typeof window["init"+e+"Theme"]&&window["init"+e+"Theme"](),Cyberoam.pageObject[Cyberoam.pageLayer].entityObject){var t=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var r in t)t[r].config&&t[r].config.confirmDiscard&&(Cyberoam.pageObject[Cyberoam.pageLayer].preDataObject=Cyberoam.preGeneratedObject(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject,Cyberoam.pageObject[Cyberoam.pageLayer].dataObject))}Cyberoam.setButton(),Cyberoam.setFocus(),Cyberoam.setPageTitle(),Cyberoam.setPageSize(),$(".cp-wrapper #mainframediv")[0]&&($(".cp-wrapper #mainframediv")[0].style.marginBottom="0px"),$(".footer-btn-pnl").length>0&&$(".cp-wrapper #mainframediv")[0]&&($(".cp-wrapper #mainframediv")[0].style.marginBottom="50px")},Cyberoam.setPageTitle=function(){var e="undefined"!=typeof menu?menu.currentData&&menu.currentData[menu.currentData.length-1]:void 0;if(!e||"iview"===e.appController&&"setting"!==e.tabtype||($("#menuLevelDiv").remove(),$("#timeDiv").remove()),Cyberoam.pageLayer>0){for(var t=(n=document.getElementById("popup"+Cyberoam.pageLayer)).getElementsByTagName("form"),r=0;r<t.length;r++)t[r].onsubmit=function(){return!1};if(n&&Cyberoam.pageLayer>0)if((i=Cyberoam.getElementsByClassName("content",n))[0]&&(i[0].className=""),(i=Cyberoam.getElementsByClassName("subheader",n))[0])if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup)void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].title&&(i[0].innerText=Cyberoam.pageObject[Cyberoam.pageLayer].title),i[0].style.cursor="move",i[0].onmousedown=function(e){dragStart(e,"popupouter"+Cyberoam.pageLayer),(e=new Cyberoam.Event(e)).clearKeyCode()};else if(i[0].className="cp-page-title",void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].title){if(i[0].innerText=Cyberoam.getTranslatedMSG(Cyberoam.pageObject[Cyberoam.pageLayer].title),void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&1==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup){if($(".cp-page-title").get(0)){$($(".cp-page-title")[0]).remove();
2086var a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text(Cyberoam.getTranslatedMSG(Cyberoam.pageObject[Cyberoam.pageLayer].title));$("#topbar-title").prepend(a)}}else if(0==$("#topbar-title").find(".cp-page-title").length&&$(".cp-page-title").get(0)){a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text($(".cp-page-title").text());$("#topbar-title").prepend(a),document.getElementById("cp-page-title").style.display="none"}for(var o=0;$(".cp-page-title").get(++o);)$(".cp-page-title").get(o).style.display="none"}}else{var n;if(null!==(n=document.getElementById(Cyberoam.mainFrame))){for(t=n.getElementsByTagName("form"),r=0;r<t.length;r++)t[r].onsubmit=function(){return!1};var i;(i=Cyberoam.getElementsByClassName("subheader",n))[0]&&jQuery(i[0]).remove()}if(document.getElementById("cp-page-title")){var s=document.getElementById("cp-page-title"),d="";if(0==s.children.length&&"undefined"!=typeof menu&&e?d="function"==typeof menu.getMenuTitle?menu.getMenuTitle():Cyberoam.getTranslatedMSG(e.label):s.children.length>0&&(d=s.childNodes[0].innerText),$(".cp-page-title").get(0)){$($(".cp-page-title")[0]).remove();
2086a=$('<div class = "cp-page-title" id = "cp-page-title"></div>').text(d);$("#topbar-title").prepend(a)}for(o=0;$(".cp-page-title").get(++o);)$($(".cp-page-title").get(o))&&$($(".cp-page-title").get(o))[0]&&$($($(".cp-page-title").get(o))[0]).remove()}}},Cyberoam.setFocus=function(){if(0==Cyberoam.pageLayer)var e=document.getElementById(Cyberoam.mainFrame);else e=document.getElementById("popup"+Cyberoam.pageLayer);e&&($(e).find("input, textarea, select").not("input[type=hidden],input[type=submit],input[type=reset],input[type=image],input[type=button]").filter(":enabled:visible:first").focus(),0==Cyberoam.pageLayer&&window.scrollTo(0,0))},Cyberoam.getProperty=function(e){return this[e]?this[e]:null},Cyberoam.getParentNode=function(e,t){for(;e&&t>0;)e=e.parentElement,t--;return e},Cyberoam.getCCLLocale=function(){return{"Chinese-Simplified":"zh-cn","Chinese-Traditional":"zh-tw",English:"en",French:"fr",German:"de",Italian:"it",Japanese:"ja",Spanish:"es"}[Cyberoam.currentLanguage]},Cyberoam.setProperty=function(e,t){"object"==typeof t||"number"==typeof t?this[e]=this.objectToString(t):"string"==typeof t&&(this[e]=t)},Cyberoam.setWindowSpecString=function(e){var t="";return $.each(e,(function(e,r){t.length?t+=","+e+"="+r:t=e+"="+r})),t},Cyberoam.isNS="Netscape"==navigator.appName?1:0,Cyberoam.isIE=-1!=navigator.userAgent.indexOf("MSIE"),Cyberoam.isChrome=-1!=navigator.userAgent.indexOf("Chrome"),Cyberoam.isFirefox=-1!=navigator.userAgent.indexOf("Firefox"),Cyberoam.isSafari=-1!=navigator.userAgent.indexOf("Safari"),Cyberoam.getBrowser=function(){return Cyberoam.isIE?"msie":Cyberoam.isChrome?"chrome":Cyberoam.isFirefox?"firefox":Cyberoam.isSafari?"safari":""},Cyberoam.DB={TRUE:"t",FALSE:"f"},Cyberoam.Point=function(e,t){this.x=e,this.y=t},Cyberoam.trim=function(e,t){return null==e||""==e?"":Cyberoam.ltrim(Cyberoam.rtrim(e,t),t)},Cyberoam.ltrim=function(e,t){return t=t||"\\s",e.replace(new RegExp("^["+t+"]+","g"),"")},Cyberoam.rtrim=function(e,t){return t=t||"\\s",e.replace(new RegExp("["+t+"]+$","g"),"")},Cyberoam.replaceAll=function(e,t,r){for(var a=0;(a=e.indexOf(t,a))>-1;)e=e.substring(0,a)+r+e.substring(a+t.length),a+=r.length;return e},Cyberoam.findItemInArray=function(e,t){for(var r=-1,a=t.length,o=0;o<a&&-1==(r=e==t[o]?o:-1);o++);return r},Cyberoam.removeItemInArray=function(e,t){var r=Cyberoam.findItemInArray(e,t);-1!=r&&t.splice(r,1)},Cyberoam.removeElementsInArray=function(e,t,r){e.splice(t,r)},Cyberoam.removeServerNodesInObject=function(e){e&&!$.isEmptyObject(e)&&$.each(e,(function(t,r){r.map&&(e[t]=r.map),r.myArrayList&&(e[t]=r.myArrayList),r.constructor===Array&&(e[t]=r.map((function(e){return e.constructor===Object&&e.map?e.map:e})),e[t].forEach((function(r,a){Cyberoam.removeServerNodesInObject(e[t][a])}))),r.constructor===Object&&Cyberoam.removeServerNodesInObject(e[t])}))},Cyberoam.decodeUriObject=function(e){e&&!$.isEmptyObject(e)&&$.each(e,(function(t,r){r.constructor===String&&(e[t]=decodeURIComponent(r)),r.constructor===Array&&(e[t]=r.map((function(e){return decodeURIComponent(e)}))),r.constructor===Object&&Cyberoam.decodeUriObject(e[t])}))},Cyberoam.deepFreeze=function(e){e&&e.constructor===Object&&($.each(e,(function(e,t){t.constructor===Object&&Cyberoam.deepFreeze(t)})),Object.freeze(e))},Cyberoam.getByteUnitConversion=function(){return{TB:1099511627776,GB:1073741824,MB:1048576,KB:1024,B:1}},Cyberoam.getUnitScale=function(e){var t=Cyberoam.getByteUnitConversion();return{number:[{unit:"T",value:1e12},{unit:"B",value:1e9},{unit:"M",value:1e6},{unit:"K",value:1e3},{unit:"",value:1}],data:[{unit:"TB",value:t.TB},{unit:"GB",value:t.GB},{unit:"MB",value:t.MB},{unit:"KB",value:t.KB},{unit:"B",value:t.B}]}[e]},Cyberoam.truncateNumber=function(e){return Cyberoam.getUnitScale("number").reduce((function(t,r){if(t)return t;if(!r.unit)return e.toString();if(e>=r.value){var a=!(e%r.value),o=e/r.value,n=o.toFixed(0);switch(n.length){case 1:return(a?o.toFixed(1):o.toFixed(2))+r.unit;case 2:return o.toFixed(1)+r.unit;default:return n+r.unit}}}),"")},Cyberoam.translateDataObject=function(e){return Object.keys(e||{}).map((function(t){var r={};return r[t]=$.extend({},e[t],{label:Language[e[t].label]}),r})).reduce((function(e,t){return $.extend({},e,t)}),{})},Cyberoam.getElementsByClassName=function(e,t){var r=null,a=[];r=null==t?document.getElementsByTagName("div"):t.getElementsByTagName("div");for(var o=0;o<r.length;o++)r[o].className==e&&a.push(r[o]);return a},Cyberoam.addClass=function(e,t){if(e.className){var r=e.className;r+=" ",r+=t,e.className=r}else e.className=t},Cyberoam.removeClass=function(e,t){if(e.className){var r=e.className.split(" "),a="";if(t)for(var o=0;o<r.length;
2086o++)t!=r[o]&&(a+=r[o],o<r.length-2&&(a+=" "));else{for(o=0;o<r.length-2;o++)a+=r[o]+" ";a+=r[o]}e.className=a}},Cyberoam.Event=function(e){this.event=e||event,this.getElement=function(){return this.event.srcElement?this.event.srcElement:this.event.target},this.getKeyCode=function(){return document.layers?eventChooser=keyStroke.which:eventChooser=this.event.keyCode,String.fromCharCode(eventChooser).charCodeAt(0)},this.getMousePoint=function(){return this.isNS?(X=this.event.pageX,Y=this.event.pageY):(X=this.event.clientX+document.body.scrollLeft,Y=this.event.clientY+document.body.scrollTop),new Cyberoam.Point(X,Y)},this.isAlt=function(){return document.layers?keyStroke.altKey:this.event.altKey},this.isAlt=function(){return document.layers?keyStroke.altKey:this.event.altKey},this.isLeftClick=function(){var e=this.isNS?this.event.which:this.event.button;return 2!=e&&3!=e},this.isRightClick=function(){var e=this.isNS?this.event.which:this.event.button;return 2==e||3==e},this.isCtrl=function(){return document.layers?keyStroke.ctrlKey:this.event.ctrlKey},this.isShift=function(){return document.layers?keyStroke.shiftKey:this.event.shiftKey},this.clearKeyCode=function(){isNetscape=document.layers,isNetscape?keyStroke.which=0:e?(this.event.preventDefault(),this.event.stopPropagation()):(this.event.returnValue=!1,this.event.keyCode=0)}},Cyberoam.addListener=function(e,t,r,a){return a=a||!1,window.addEventListener?(e.addEventListener(t,r,a),!0):!!window.attachEvent&&("keypress"==t&&(e.onkeypress=function(e){r(e)}),e.attachEvent("on"+t,r),!0)},Cyberoam.XML2Object=function(e,t){var r,a,o,n,i=new Array,s=e.getElementsByTagName(t)[0];for(r=0;r<s.childNodes.length;r++)if(1==s.childNodes[r].nodeType)for(o=s.childNodes[r],n=i[i.length]=new Object,a=0;a<o.childNodes.length;a++)1==o.childNodes[a].nodeType&&(n[o.childNodes[a].tagName]=o.childNodes[a].firstChild.nodeValue);return i},Cyberoam.objectToString=function(e){return"{"+function(e){var t,r=[];for(var a in e)e.hasOwnProperty(a)&&(t=e[a],r[r.length]=t&&"object"==typeof t?a+":{ "+arguments.callee(t).join(", ")+"}":"string"==typeof t?[a+': "'+t.toString()+'"']:[a+": "+t.toString()]);return r}(e).join(", ")+"}"},Cyberoam.toString=function(e){return"{"+function(e){var t,r=[];for(var a in e)e.hasOwnProperty(a)&&(t=e[a],r[r.length]=t&&"object"==typeof t?a+":{ "+arguments.callee(t).join(", ")+"}":"string"==typeof t?[a+': "'+t.toString()+'"']:[a+": "+t.toString()]);return r}(e).join(", ")+"}"},Cyberoam.Cookie=function(){},Cyberoam.Cookie.prototype.createOrReplace=function(e,t,r){this.search(e)?(this.erase(e),this.create(e,t,r)):this.create(e,t,r)},Cyberoam.Cookie.prototype.create=function(e,t,r){if(r){var a=new Date;a.setTime(a.getTime()+24*r*60*60*1e3);var o="; expires="+a.toGMTString()}else o="";document.cookie=e+"="+t+o+"; path=/"},Cyberoam.Cookie.prototype.search=function(e){for(var t=e+"=",r=document.cookie.split(";"),a=0;a<r.length;a++){for(var o=r[a];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return!0}return!1},Cyberoam.Cookie.prototype.read=function(e){for(var t=e+"=",r=document.cookie.split(";"),a=0;a<r.length;a++){for(var o=r[a];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return null},Cyberoam.Cookie.prototype.insert=function(e,t,r){var a=this.read(e);null==a||""==Cyberoam.trim(a)?a=t:a+="$"+t,a=this.truncateString(a),this.erase(e),this.create(e,a,r)},Cyberoam.Cookie.prototype.del=function(e,t,r){var a=this.read(e);a=this.removeString(a,t),this.create(e,a,r)},Cyberoam.Cookie.prototype.erase=function(e){this.create(e,"",-1)},Cyberoam.Cookie.prototype.truncateString=function(e){var t=e.split("$"),r="";if(t.length>20){var a=t.length-20;for(i=a;i<t.length;i++)r+=t[i],i!=t.length-1&&(r+="$")}else r=e;return r},Cyberoam.Cookie.prototype.removeString=function(e,t){var r=e.split("$"),a="",o="";if(r.length>0)for(i=0;i<r.length;i++)(o=r[i])!=t&&(a+=o,i!=r.length-1&&(a+="$"));return a},Cyberoam.dateFormat=function(){var e=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,t=function(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e};return function(r,a,o){var n=Cyberoam.dateFormat;if(1!=arguments.length||"[object String]"!=Object.prototype.toString.call(r)||/\d/.test(r)||(a=r,r=void 0),r=r?new Date(r):new Date,isNaN(r))throw SyntaxError("invalid date");"UTC:"==(a=String(n.masks[a]||a||n.masks.default)).slice(0,4)&&(a=a.slice(4),o=!0);var i=o?"getUTC":"get",s=r[i+"Date"](),d=r[i+"Day"](),l=r[i+"Month"](),c=r[i+"FullYear"](),u=r[i+"Hours"](),m=r[i+"Minutes"](),y=r[i+"Seconds"](),p=(r[i+"Milliseconds"](),o||r.getTimezoneOffset(),{dd:t(s),ddd:n.i18n.dayNames[d],dddd:n.i18n.dayNames[d+7],mm:t(l+1),mmm:n.i18n.monthNames[l],mmmm:n.i18n.monthNames[l+12],yy:String(c).slice(2),yyyy:c,HH:t(u),MM:t(m),ss:t(y)});return a.replace(e,(function(e){return e in p?p[e]:e.slice(1,e.length-1)}))}}(),Cyberoam.dateFormat.masks={default:"ddd dd mmm yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd' 'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"},Cyberoam.dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
2086ay","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]},Cyberoam.stringToDate=function(e,t){try{if(""!=t){e=e.toLowerCase();var r=-1,a=1,o=99,n=1,i=10,s=10,d=0;if(-1!=(r=t.indexOf("mmmm"))){var l=e.indexOf(" ",r);-1!=l?(e=e.substring(0,r+3)+e.substring(l),t=t.substring(0,r+3)+t.substring(l)):(e=e.substring(0,r+3),t=t.substring(0,r+3)),a=Cyberoam.stringToDate.monthToNum[e.substring(r,r+3).toLowerCase()]}else-1!=(r=t.indexOf("mmm"))?a=Cyberoam.stringToDate.monthToNum[e.substring(r,r+3).toLowerCase()]:-1!=(r=t.indexOf("mm"))&&(a=parseInt(e.substring(r,r+2),10)-1);return-1!=t.indexOf("ddd")?(-1!=(r=t.substring(0,t.indexOf("ddd")).indexOf("dd"))||-1!=(r=t.indexOf("dd",t.indexOf("ddd")+3)))&&(n=parseInt(e.substring(r,r+2),10)):-1!=(r=t.indexOf("dd"))&&(n=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("yyyy"))?o=parseInt(e.substring(r-1,r+4),10):-1!=(r=t.indexOf("yy"))&&(o=(o=parseInt(e.substring(r,r+2),10))>50?1900+o:2e3+o),-1!=(r=t.indexOf("HH"))&&(i=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("MM"))&&(s=parseInt(e.substring(r,r+2),10)),-1!=(r=t.indexOf("ss"))&&(d=parseInt(e.substring(r,r+2),10)),new Date(o,a,n,i,s,d)}return new Date(parseInt(e))}catch(e){Cyberoam.messageBox({message:"Error in date format"})}return new Date},Cyberoam.stringToDate.monthToNum={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},Cyberoam.getFormParameter=function(e){if(null!=e){for(var t=e.getElementsByTagName("input"),r="",a=0;a<t.length;a++)if("button"!=t[a].type&&0==t[a].disabled){for(var o=t[a],n=0;o.parentNode;){if("hidden"==o.style.visibility||"none"==o.style.display){n=1;break}o=o.parentNode}if("checkbox"!=t[a].type&&(1==n||"hidden"==t[a].style.visibility||"none"==t[a].style.display))continue;"radio"==t[a].type||"checkbox"==t[a].type?t[a].checked&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&"):"password"==t[a].type?r+=t[a].name+"="+encodeURIComponent(t[a].value)+"&":r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&"}t=e.getElementsByTagName("select");for(a=0;a<t.length;a++)if(0==t[a].disabled)for(var i=0;i<t[a].options.length;i++)t[a].options[i].selected&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].options[i].value))+"&");t=e.getElementsByTagName("textarea");for(a=0;a<t.length;a++)0==t[a].disabled&&(r+=t[a].name+"="+encodeURIComponent(Cyberoam.trim(t[a].value))+"&");return r}return null},Cyberoam.textEmptyFocus=function(e,t,r){e.value==t&&(e.value=""),e.style.color="",void 0!==r&&1==r&&(e.type="password")},Cyberoam.textEmptyBlur=function(e,t,r){""==e.value&&(e.value=t,e.style.color="#CCCCCC",void 0!==r&&1==r&&(e.type="text"))},Cyberoam.getTranslatedMsg=function(e){if(!e||"string"!=typeof e)return e;try{return e.trim().split(".").reduce((function(e,t){return e[t]}),window)}catch(t){Cyberoam.logger.error("Caught error in getTranslatedMsg",e,t)}},Cyberoam.getTranslatedMSG=function(e){if(void 0===e)return e;var t=this.trim(e);if(!Cyberoam.validateInputWithValidCharacters({textvalue:t,regexindex:Cyberoam.idxVariableName,i18nenable:!1}))return t;try{var r;if("string"==typeof t&&t.indexOf(".")>0){r=t.split(".").reduce((function(e,t){return e[t]}),window)}if(void 0===r||"string"!=typeof r)return-1!=t.indexOf("Language.")||-1!=t.indexOf("Message.")||-1!=t.indexOf("reportlabels.")?t.substring(t.lastIndexOf(".")+1):t}catch(e){return-1!=t.indexOf("Language.")||-1!=t.indexOf("Message.")||-1!=t.indexOf("reportlabels.")?t.substring(t.lastIndexOf(".")+1):t}return r=this.replaceFieldFromText(r)},Cyberoam.replaceFieldFromText=function(e){for(var t=0;e.indexOf("{",t)>=0;){t=e.indexOf("{",t)+1;var r=e.indexOf("}",t),a=e.substring(t,r);try{var o=window[a];if(null==o)return e;e=e.replace("{"+a+"}",o)}catch(e){t+=1;continue}t+=1}return e},Cyberoam.getURL=function(e,t,r){if(""!=e)if(-1!=e.indexOf("?"))if(-1==e.indexOf("#"))e=e+"&"+t+"="+r;else{var a=e.indexOf("#"),o=e.substring(0,a);o+="&"+t+"="+r,o+=e.substring(a),e=o}else e=e+"?"+t+"="+r;return e},Cyberoam.getQueryString=function(e,t,r){if(""!=e)if(-1==e.lastIndexOf("#"))e=e+"&"+t+"="+r;else{var a=e.lastIndexOf("#");if(e.substring(a).match(/{|}
2086/))e+="&"+t+"="+r;else{var o=e.substring(0,a);o+="&"+t+"="+r,o+=e.substring(a),e=o}}else e=t+"="+r;return e},Cyberoam.setLabelValue=function(e){var t=null;null==e?t=document.getElementsByTagName("label"):null!=e&&(t=e.getElementsByTagName("label"));for(var r=0;r<t.length;r++)if(""==Cyberoam.trim(t[r].innerHTML)&&""!=t[r].id)jQuery(t[r]).html(Cyberoam.getTranslatedMSG(t[r].id));else if(""==Cyberoam.trim(t[r].innerHTML)&&t[r].getAttribute("date")&&""!=t[r].getAttribute("date")){var a=t[r].getAttribute("date"),o=null;o=t[r].getAttribute("informat")?Cyberoam.stringToDate(a,t[r].getAttribute("informat")):Cyberoam.stringToDate(a,""),t[r].getAttribute("outformat")?jQuery(t[r]).html(Cyberoam.dateFormat(o,t[r].getAttribute("outformat"))):jQuery(t[r]).html(Cyberoam.dateFormat(o,"default"))}null==e?t=document.getElementsByTagName("div"):null!=e&&(t=e.getElementsByTagName("div"));for(var n=0;n<t.length;n++)t[n].title&&(t[n].title=Cyberoam.getTranslatedMSG(t[n].title));"undefined"!=typeof countDownTime&&(countDownTime=countDownInterval+1)},Cyberoam.startit=function(){Cyberoam.setAjaxSetup(),countDownTime&&Cyberoam.countDown(),hashCheck=setInterval("Cyberoam.check_hash()",500)},Cyberoam.countDown=function(){try{if(countDownTime-=1,Cyberoam.isCentralLogin)2==countDownTime&&(countDownTime=countDownInterval,Cyberoam.AJAXCall({url:"/Controller",method:"GET",query:"mode=6001",id:null}));else if(countDownTime<=0)return countDownTime=countDownInterval,void("undefined"!=typeof loginFrom?"userportal"==loginFrom?top.location=Cyberoam.contextPath+"/webpages/logout.jsp?webclient=myaccount":"vpnportal"==loginFrom&&(top.location=Cyberoam.contextPath+"/webpages/login.html"):top.location=Cyberoam.contextPath+"/webpages/logout.jsp")}catch(e){}},Cyberoam.setAjaxSetup=function(){$.ajaxSetup({beforeSend:function(e){Cyberoam.beforeSendAjaxRequest(e)},complete:function(e){Cyberoam.afterCompleteAjaxRequest(e)}})},Cyberoam.tokenMgmt=function(){var e=null,t=3;function r(n){$.ajax({type:"post",url:"/webconsole"===Cyberoam.contextPath?"/webconsole/refresh-token":"/userportal/refresh-token",contentType:"application/json",success:function(i,s,d){i.status===CSCConstants.SESSION_EXPIRED?o():(n||(e=setTimeout(r,a())),t=3)},error:function(e,a,n){"abort"!==a?401===e.status?o():t<=3?setTimeout((()=>{t+=1,r()}),15e3*t):(t=3,o()):r()},timeout:18e5})}function a(){let e=parseInt(localStorage.getItem("s$t"));return 1e3*(e-e/3)}function o(){clearTimeout(e)}return{sessionTimer:function(){let e;function t(){o(),clearTimeout(e),$(document).off("load",r),$(document).off("ajaxSend",r),$(document).off("ajaxSuccess",r),$(document).off("ajaxError",r)}function r(r,a,o){!o||!o.url||o.url.indexOf("/refresh-token")>0||(clearTimeout(e),e=setTimeout(t,1e3*parseInt(localStorage.getItem("s$t"))))}return $(document).on("load",r),$(document).ajaxSend(r),$(document).ajaxError(r),$(document).ajaxSuccess(r),r},startRefreshTokenIntrval:function(){e=setTimeout(r,a())},clearRefreshIntrvl:o,getRefreshToken:function(){r(!0)}}}(),Cyberoam.beforeSendAjaxRequest=function(e){Cyberoam.xhrPool.push(e)},Cyberoam.afterCompleteAjaxRequest=function(e){var t=Cyberoam.xhrPool.indexOf(e);t>-1&&Cyberoam.xhrPool.splice(t,1)},Cyberoam.AJAXCall=function(e){e.overlay="boolean"!=typeof e.overlay||e.overlay,e.method=e.method||e.httpMethod;let t={timeout:18e5,dataType:"json",url:e.restApi?e.url:Cyberoam.contextPath+e.url,method:e.method,cached:!1};e.header&&"object"==typeof header&&!Array.isArray(header)&&(t.headers=e.header);let r=e.overlayContainer||"mainframecontent";if(e.restApi?(t.data=e.data||e.query,t.contentType="application/json"):t.dataType=e.dataType&&"json"!==e.dataType?e.dataType:"text",!e.restApi){if(void 0!==e.query)454!=parseInt(Cyberoam.getRequestParam(e.query,"mode"))&&e.overlay&&Cyberoam.addOverLay(r);else e.query="";e.query=Cyberoam.getQueryString(e.query,"__RequestType","ajax"),e.query=Cyberoam.getQueryString(e.query,"t",(new Date).getTime()),e.event&&e.entity&&(e.query=Cyberoam.getQueryString(e.query,"Event",e.event),e.query=Cyberoam.getQueryString(e.query,"Entity",e.entity)),t.data=e.query}e.restApi&&e.overlay&&Cyberoam.addOverLay(r);$.ajax(t).then((function(t,r,a){e.restApi?function(t,r,a){e.overlay&&Cyberoam.removeOver
2086Lay(),t&&(sf.core.postResponse.showNotification(t,a.status,e),sf.core.postResponse.executeCallbacks(t,a.status,e))}(t,0,a):function(t,r,a){try{if(-1!=t.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(t),void Cyberoam.removeOverLay()}catch(e){}if(Cyberoam.removeOverLay(),"json"==e.dataType){if((t=YAHOO.lang.JSON.parse(t)).status==CSCConstants.SESSION_EXPIRED)return void(location.href=Cyberoam.contextPath+"/webpages/login.jsp");if(t.status==CSCConstants.ACCESSDENIED)return Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(Language.AccessDenied),t.status),void(void 0!==e.postResponse&&""!=e.postResponse&&e.postResponse(t,e.id));if(void 0!==t.entity&&void 0!==t.entity.map&&t.message)if(void 0!==t.entity.map.Entity&&void 0!==t.entity.map.Event){if(Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status]){var o=Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o),t.entity.map),t.status)}}else Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(t.message),t.entity.map),t.status);else void 0!==t.status&&t.message&&(void 0!==t.entity&&void 0!==t.entity.map&&void 0!==t.entity.map.Entity&&void 0!==t.entity.map.Event?Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status]&&(o=Cyberoam.eventstatus[t.entity.map.Entity].statusMappings[t.entity.map.Event][t.status].message,Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o),t.status)):Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(t.message),t.status))}if(Cyberoam.prevResponseStatus=t.status,t.status!=CSCConstants.SESSION_EXPIRED)if(598!=t.status)e.postResponse&&e.postResponse(t,e.id);else{if(Cyberoam.pageLayer>0&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close)return void Cyberoam.hidePopup();var n=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var i in n)if(0==Cyberoam.pageLayer&&"button"==n[i].objType&&n[i].config&&n[i].config.title==Cyberoam.getTranslatedMSG(Language.Cancel))return void n[i].object.click()}else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}(t)}),(function(t,r,a){e.overlay&&"abort"!==t.statusText&&Cyberoam.removeOverLay(),e.restApi?function(t,r,a){if(401!==t.status)if(0!==t.status){let r=JSON.parse(t.responseText);sf.core.postResponse.showNotification(r,t.status,e),sf.core.postResponse.executeCallbacks(r,t.status,e)}else"abort"!==t.statusText&&Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0});else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}(t):void 0!==e.error&&e.error(e.id)}))},Cyberoam.xhrPool.abortAll=function(){$(this).each((function(e,t){t.abort(),Cyberoam.xhrPool.splice(e,1)}))},Cyberoam.setClassAttribute=function(e,t){navigator.userAgent.indexOf("MSIE 7.0")>-1?e.className=t:e.setAttribute("class",t)};var setstatusfun=null,displayDivHeight=-100;Cyberoam.statusbarOver=function(){setstatusfun&&clearTimeout(setstatusfun)},Cyberoam.statusbarOut=function(){document.hasFocus()&&(setstatusfun=setTimeout((function(){Cyberoam.showStatusBar(!1)}),5e3))},Cyberoam.showStatusBar=function(e){var t=document.getElementById("mystatusbar");if(e)t.style.display="",displayDivHeight=t.childNodes[1].offsetHeight+30,t.style.height=displayDivHeight+"px",t.style.left=document.documentElement.clientWidth/2-250+"px",$(t).animate({opacity:"1",top:"10px"},"slow"),document.hasFocus()&&(setstatusfun=setTimeout((function(){Cyberoam.showStatusBar(!1)}),5e3));else{setstatusfun&&clearTimeout(setstatusfun);var r=-1*Math.abs(displayDivHeight)-10+"px";$(t).animate({opacity:"0",top:r},"slow")}},Cyberoam.setStatusBarMessage=function(e,t,r,a){var o=Array.isArray(e);o&&(e=e.join(""));if("undefined"!=e&&""!=Cyberoam.trim(e))try{(m=document.getElementById("mystatusbar")).onmouseout=function(){Cyberoam.statusbarOut()},m.onmouseover=function(){Cyberoam.statusbarOver()};var n=Cyberoam.createElement({tag:"div",className:"statusBarImageClass"}),i=Cyberoam.createElement({tag:"i",className:"fa fa-check"},n);m.className="statusbar messagesuccess";var s=Cyberoam.createElement({tag:"div",className:"statusBarMsgClass"}),d=Cyberoam.createElement({tag:"span",className:"statussuccess"},s);if(o?d.innerHTML=e:d.appendChild(document.createTextNode(e)),null!=t&&""!=e&&(t>=211&&t<=215?(Cyberoam.setClassAttribute(i,"fa fa-info-circle"),Cyberoam.setClassAttribute(d,"statusinfo"),m.className="statusbar messageinfo"):598==t?(i.setAttribute("class","fa fa-exclamation-triangle"),d.setAttribute("class","statuswarning"),m.className="statusbar messagewarning"):t>=500||t>=204&&t<=210?(Cyberoam.setClassAttribute(i,"fa fa-exclamation-circle"),Cyberoam.setClassAttribute(d,"statuserror"),m.className="statusbar messagefail"):3==t?(Cyberoam.setClassAttribute(i,"fa fa-exclamation-triangle"),Cyberoam.setClassAttribute(d,"statuswarning"),m.className="statusbar messagewarning"):1==t&&(Cyberoam.setClassAttribute(i,"statusloading statusicon"),Cyberoam.setClassAttribute(d,"statusloading"),m.className="statusbar messagesuccess")),m||((m=document.createElement("div")).className="statusbar",m.id="statusbar",m.style.top="0px",m.style.height="25px",document.getElementById("wrapper").appendChild(m),m.onclick=function(){document.getElementById("wrapper").removeChild(document.getElementById("statusbar"))},setTimeout((function(){document.getElementById("wrapper").removeChild(document.getElementById("statusbar"))}),8e3)),m){if(m.innerHTML="",0==t||""==t)m.appendChild(document.createTextNode(e));
2086else if(m.appendChild(n),m.appendChild(s),void 0!==r&&null!=r&&void 0!==a&&null!=a){var l=Cyberoam.createElement({tag:"span",id:"StatusMoreDetail"},s),c=Cyberoam.createElement({tag:"a"},l);c.setAttribute("href","#"),c.appendChild(document.createTextNode("["+Language.MoreInfo+"]"))}void 0!==r&&void 0!==a&&"HTML"==a?document.getElementById("StatusMoreDetail").onclick=function(){Cyberoam.messageBox({message:r})}:void 0!==r&&null!=r&&void 0!==a&&null!=a&&"HTML"!=a&&(document.getElementById("StatusMoreDetail").onclick=function(){Cyberoam.showPopup({URL:a,width:"700",height:"550"})})}var u=Cyberoam.createElement({tag:"div",className:"statusBarHideMsgDiv"});Cyberoam.createElement({tag:"i",className:"fa fa-times"},u),m.appendChild(u),u.onclick=function(){m.onmouseout=function(){},m.onmouseover=function(){},Cyberoam.showStatusBar(!1)},Cyberoam.showStatusBar(!0)}catch(e){}else try{var m;(m=document.getElementById("mystatusbar"))&&Cyberoam.showStatusBar(!1)}catch(e){}},Cyberoam.addOverLay=function(e="mainframecontent"){Cyberoam.pageLayer>0&&$("#mainframecontent").is(":hidden")&&(e="inlinePopup");var t=Cyberoam.pageLayer>0?"z-index:9999":"";0===$("#"+e).length&&(e="body"),$("#"+e+" .spinner-overlay").remove(),jQuery('<div class="spinner-overlay" id="overlay" style="'+t+';"> <div class="spinner"></div></div>').appendTo("#"+e),Cyberoam.toggleSpaceBar("disable")},Cyberoam.removeOverLay=function(){jQuery("#overlay").length>0&&jQuery("#overlay").remove(),Cyberoam.toggleSpaceBar("enable")},Cyberoam.toggleSpaceBar=function(e){window.onkeydown=function(t){if(32===t.keyCode){if("enable"==e)return!0;"disable"==e&&t.preventDefault()}}},Cyberoam.showDetails=function(e,t,r){var a=document.getElementById(e);"none"==a.style.display?(a.style.display="",t&&(t.className="advance_open bigicon",r&&(t.className="arrowstyle_close smallicon"))):(a.style.display="none",t&&(t.className="advance_closed bigicon",r&&(t.className="arrowstyle_open smallicon")))},Cyberoam.replaceFieldValue=function(e,t){if(null==t)return e;function r(r){if("string"==typeof r){var a=r.match(/\{([^{}]*)\}/gm);for(var o in a)if(a.hasOwnProperty(o)){var n=a[o],i=n.match(/\{(.*)\}/)[1],s=t[i];if(s||(i=i.split(".").pop(),s=t[i]+"",n="{"+n+"}"),s=s.toString()){s.length>25&&(s=s.substring(0,25)+"..."),s=s.replace(/\\\\/g,"\\").replace(/\\\'/g,"'");var d=document.createTextNode(s),l=document.createElement("span");l.appendChild(d),s=Array.isArray(e)?encodeURIComponent(l.innerHTML):encodeURIComponent(l.innerText)}r=r.replace(n,s)}return decodeURIComponent(r)}}if(null!=t.entityList&&(t=entityList[0]),Array.isArray(e)){var a=[];return $.each(e,(function(e,t){a[e]=r(t)})),a}return r(e)},Cyberoam.validateMailServerUserName=function(e){return!!/^\w([\.@ !$%^&*\-\_\/]*?\w)*$/.test(e)},Cyberoam.validateNameWithMultipleSpaces=function(e,t){if(null!=t){if(!new RegExp("^[\\w"+regexHindi+regexChinese+regexFrench+"]([ ]*[\\w"+regexHindi+regexChinese+regexFrench+"])*$").test(e))return!1}else if(!/^\w([ ]*\w)*$/.test(e))return!1;return!0},Cyberoam.validateNetmask=function(e){if(1==(r=e.split(".")).length){if(!/^\d{1,2}$/.test(e))return!1;if(parseInt(e)<1||parseInt(e)>32)return!1}else{if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;var t="0,128,192,224,240,248,252,254,255".split(","),r=e.split("."),a=t.length;if(0==parseInt(r[0])||parseInt(r[0])>255)return!1;for(var o=0;o<r.length;o++){if(parseInt(r[o])>255)return!1;for(var n=!1,i=0;i<a;i++)if(r[o]==t[i]){n=!0;break}if(!n)return!1;if(0!=o&&255!=parseInt(r[o-1])&&0!=parseInt(r[o]))return!1}}return!0},Cyberoam.validateNetworkId=function(e,t){if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;var r=e.split("."),a=t.split(".");if(1==a.length){if(parseInt(t)<2||parseInt(t)>32)return!1;a=Cyberoam.convertNetBitsToNetmask(t).split(".")}else if(!Cyberoam.validateNetmask(t))return!1;return!(parseInt(r[0])<=0)&&(r[0]&a[0])+"."+(r[1]&a[1])+"."+(r[2]&a[2])+"."+(r[3]&a[3])==e},Cyberoam.getValidNetworkId=function(e,t){var r="0.0.0.0";return Cyberoam.validateNetworkId(e,t)?e:(networkArr=e.split("."),netmaskArr=t.split("."),1==netmaskArr.length&&(netmaskArr=Cyberoam.convertNetBitsToNetmask(t).split(".")),parseInt(networkArr[0])<0||parseInt(networkArr[0])>254||parseInt(networkArr[1])<0||parseInt(networkArr[1])>254||parseInt(networkArr[2])<0||parseInt(networkArr[2])>254||parseInt(networkArr[3])<0||parseInt(networkArr[3])>254?r:(net1=networkArr[0]&netmaskArr[0],net2=networkArr[1]&netmaskArr[1],net3=networkArr[2]&netmaskArr[2],net4=networkArr[3]&netmaskArr[3],r=net1+"."+net2+"."+net3+"."+net4))},Cyberoam.getValidIPv6NetworkId=function(e,t){for(var r=Cyberoam.bestRepresent(e).split(":"),a=[],o=[],n=0;n<8;n+=2)a[n/2]=parseInt((r[n]+r[n+1]).toUpperCase(),16),o[n/2]=t/32>=1?parseInt(Cyberoam.Address.ip6.getbineryof32(32),2):parseInt(Cyberoam.Address.ip6.getbineryof32(t%32),2),t-=32;var i="";for(var n in o)o.hasOwnProperty(n)&&(i+=Cyberoam.fixLength(((a[n]&o[n])>>>32).toString(16),8).substring(0,4)+":"+Cyberoam.fixLength(((a[n]&o[n])>>>32).toString(16),8).substring(4,8)+":");return i=i.substr(0,i.length-1)},Cyberoam.validateIPNetmask=function(e){var t={textvalue:e,i18nenable:!1,regexindex:Cyberoam.idxIPv4};if(e.indexOf("/",0)<0)return Cyberoam.validateInputWithValidCharacters(t);if(0==e.indexOf("/",0))return!1;var r=e.split("/")[0],a=e.split("/")[1];if(t={textvalue:r,i18nenable:!1,regexindex:Cyberoam.idxIPv4},"255.255.255.255"==a){if(!Cyberoam.validateInputWithValidCharacters(t)||!Cyberoam.validateNetmask(a))return!1}else if(!Cyberoam.validateNetworkId(r,a))return!1;return!0},Cyberoam.validateIPv4Range=function(e,t){if(startArr=e.split("."),endArr=t.split("."),parseInt(startArr[0])!=parseInt(endArr[0]))return!1;if(parseInt(startArr[1])<parseInt(endArr[1]))return!0;
2086if(parseInt(startArr[1])==parseInt(endArr[1])){if(parseInt(startArr[2])<parseInt(endArr[2]))return!0;if(parseInt(startArr[2])==parseInt(endArr[2])&&parseInt(startArr[3])<parseInt(endArr[3]))return!0}return!1},Cyberoam.validateMulticastIPv4=function(e){if(!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!1;for(var t=e.split("."),r=0;r<4;r++)if(0==r){if(parseInt(t[r])<224||parseInt(t[r])>239)return!1}else if(parseInt(t[r])<0||parseInt(t[r])>255)return!1;return!0},Cyberoam.convertIPv4ToInt=function(e){var t=e.split("."),r=0;return r+=16777216*Number(t[0]),r+=65536*Number(t[1]),r+=256*Number(t[2]),r+=Number(t[3])},Cyberoam.isIPv4FallInRange=function(e,t,r){return!!Cyberoam.validateMulticastIPv4(e)&&(!!Cyberoam.validateMulticastIPv4(t)&&(!!Cyberoam.validateMulticastIPv4(r)&&(!!Cyberoam.validateMulticastIPv4(t,r)&&!(Cyberoam.convertIPv4ToInt(t)>Cyberoam.convertIPv4ToInt(e)||Cyberoam.convertIPv4ToInt(r)<Cyberoam.convertIPv4ToInt(e)))))},Cyberoam.validateDate=function(e,t){var r=e.substring(0,4),a=e.substring(5,7),o=e.substring(8,10);return startdate=r+a+o,r=t.substring(0,4),a=t.substring(5,7),o=t.substring(8,10),enddate=r+a+o,!(startdate>enddate)},Cyberoam.validateURL=function(e){return!!/^(((\w([.-]?\w)+([:][0-9]{1,5})?(\/([.-?&=#%\/+]?[-&%]?\w)*)*)+)|(\w([.-:@\/]?\w)*))$/.test(e)},Cyberoam.validateKeyword=function(e){return!(!Cyberoam.validateURL(e)&&!/^([a-zA-Z0-9]+([=]?\w)*)$/.test(e))},Cyberoam.validateRange=function(e,t,r){return e<=r&&r<=t},Cyberoam.formatByte=function(e){for(var t=parseFloat(e),r=0;t>=1024;)t/=1024,r++;return String(t.toFixed(2)).replace(".00","")+[" Bytes"," KB"," MB"," GB"," TB"][r]},Cyberoam.formatByteForBandwidth=function(e){let t=parseFloat(e),r=0;for(;t>=1024;)t/=1024,r++;return String(t.toFixed(2)).replace(".00","")+[" Bps"," KBps"," MBps"," GBps"," TBps"][r]},Cyberoam.validatePasswordComplexity=function(e,t){var r=!1,a=Language.InvalidPasswordbr;if(0!=Cyberoam.passwdComplexityChk){if(e==t&&(a=a+Language.UserNameAndPwdSame+"<br/>"),1==Cyberoam.chkPasswdLength&&t.length<Cyberoam.passwdLength&&(a+=Cyberoam.getTranslatedMSG("Language.InvalidPwdLength").replace("{pwlength}",Cyberoam.passwdLength)),1==Cyberoam.upperLowerCase&&(/[a-z]/.test(t)&&/[A-Z]/.test(t)||(a+=Language.UpperLowerCase)),1==Cyberoam.numericCase&&(/[0-9]/.test(t)||(a+=Language.NumericCase)),1==Cyberoam.specialCase){for(var o=0;o<t.length;o++)"[!@#$%^&*()+=`-[]\\';,./{}|\":<>?~_]".indexOf(t[o])>0&&(r=!0);r||(a+=Language.SpecialCase)}if(a!=Language.InvalidPasswordbr)return Cyberoam.messageBox({message:a}),!1}return!0},Cyberoam.validateUserPasswordComplexity=function(e,t){var r=!1,a=Language.InvalidPasswordbr;if(0!=Cyberoam.userPasswdComplexityChk){if(e==t&&(a=a+Language.UserNameAndPwdSame+"<br/>"),1==Cyberoam.chkUserPasswdLength&&t.length<Cyberoam.userPasswdLength&&(a+=Cyberoam.getTranslatedMSG("Language.InvalidPwdLength").replace("{pwlength}",Cyberoam.userPasswdLength)),1==Cyberoam.upperLowerCasePwForUser&&(/[a-z]/.test(t)&&/[A-Z]/.test(t)||(a+=Language.UpperLowerCase)),1==Cyberoam.numericCasePwForUser&&(/[0-9]/.test(t)||(a+=Language.NumericCase)),1==Cyberoam.specialCasePwForUser){for(var o=0;o<t.length;o++)"[!@#$%^&*()+=`-[]\\';,./{}|\":<>?~_]".indexOf(t[o])>0&&(r=!0);r||(a+=Language.SpecialCase)}if(a!=Language.InvalidPasswordbr)return Cyberoam.messageBox({message:a}),!1}return!0},Cyberoam.validateDefaultPasswordComplexity=function(e){var t=!1,r=Language.passwordhaveComplexity;if(e.length<10)return Cyberoam.messageBox({message:r}),!1;if(!/[a-z]/.test(e)||!/[A-Z]/.test(e))return Cyberoam.messageBox({message:r}),!1;if(!/[0-9]/.test(e))return Cyberoam.messageBox({message:r}),!1;for(var a=0;a<e.length;a++)if("[!`@#$%^&*()+=-[]\\';,./{}|\":<>?~_]".indexOf(e[a])>0){t=!0;break}return!!t||(Cyberoam.messageBox({message:r}),!1)},Cyberoam.copyToClipboard=function(e){var t=document.getElementById(e);!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName||t.value.trim().length>0&&navigator.clipboard.writeText(t.value).then((()=>{Cyberoam.showStatusBarMessage(Language.CopiedToClipboard,200,1e3)})).catch((e=>{Cyberoam.logger.error("Failed to copy: ",e)}))},Cyberoam.showStatusBarMessage=function(e,t,r){Cyberoam.setStatusBarMessage(e,t),Cyberoam.showStatusBar(!0),window.setTimeout(Cyberoam.showStatusBar,r)},Cyberoam.validatePort=function(e){return!!Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1})},Cyberoam.validatePortRange=function(e){if(e.indexOf(":")<0)return Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});var t=e.split(":");if(t.length>2)return!1;if(2==t.length){var r=Cyberoam.validateInputWithValidCharacters({textvalue:t[0],regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1}),a=Cyberoam.validateInputWithValidCharacters({textvalue:t[1],regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});if(!r||!a)return!1;if(parseInt(t[0])>=parseInt(t[1]))return!1}return!0},Cyberoam.validatePortRangeSep=function(e,t){if(e.indexOf(t)<0)return Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxPortNoWithAny,i18nenable:!1});var r=e.split(":");if(r.length>2)return!1;if(2==r.length){var a=Cyberoam.validateInputWithValidCharacters({textvalue:r[0],regexindex:Cyberoam.idxPortNo,i18nenable:!1}),o=Cyberoam.validateInputWithValidCharacters({textvalue:r[1],regexindex:Cyberoam.idxPortNo,i18nenable:!1});if(!a&&!o)return!1;if(parseInt(r[0])>=parseInt(r[1]))return!1}return!0}
2086,Cyberoam.createNetMask=function(e,t,r,a,o,n){if(!(t<0||t>31||r<1||r>32))if("asc"==a)for(;t<=r;){var i=document.createElement("option"),s="0.0.0.0";0!=t&&(s=Cyberoam.convertNetBitsToNetmask(t)),i.value=s,i.innerHTML="start"==o?"/"+t+" ("+s+")":"("+s+") /"+t,n&&i.value==n&&(i.selected="selected"),e.appendChild(i),t++}else for(;t<=r;){i=document.createElement("option"),s="0.0.0.0";0!=r&&(s=Cyberoam.convertNetBitsToNetmask(r)),i.value=s,i.innerHTML="start"==o?"/"+r+" ("+s+")":"("+s+") /"+r,n&&i.value==n&&(i.selected="selected"),e.appendChild(i),r--}},Cyberoam.createNetMaskOptions=function(e,t,r,a){var o,n=new Object;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o.label="/"+e+" ("+i+")",n[i]=o):(o.label="("+i+") /"+e,n[i]=o),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o.label="/"+t+" ("+i+")",n[i]=o):(o.label="("+i+") /"+t,n[i]=o),t--}return n}},Cyberoam.convertNetBitsToNetmask=function(e){var t=parseInt(e),r="0.0.0.0";if(net1=parseInt(t/8),net2=t%8,net3=t/8,net1!=net3)switch(net1){case 0:r=Cyberoam.octetValue(net2)+".0.0.0";break;case 1:r="255."+Cyberoam.octetValue(net2)+".0.0";break;case 2:r="255.255."+Cyberoam.octetValue(net2)+".0";break;case 3:r="255.255.255."+Cyberoam.octetValue(net2);break;case 4:r="255.255.255.255"}else if(net1==net3)switch(net1){case 0:r=octetValue(net2)+".0.0.0";break;case 1:r="255.0.0.0";break;case 2:r="255.255.0.0";break;case 3:r="255.255.255.0";break;case 4:r="255.255.255.255"}return r},Cyberoam.octetValue=function(e){var t=0;switch(e){case 0:t=255;break;case 1:t=128;break;case 2:t=192;break;case 3:t=224;break;case 4:t=240;break;case 5:t=248;break;case 6:t=252;break;case 7:t=254}return t},Cyberoam.isEmpty=function(e){return null==e||0==e.length||""==e},Cyberoam.validateIPWithAll=function(e){return 1==e.length&&"*"==e.charAt(0)||Cyberoam.validateIPNetmask(e)},Cyberoam.validateIPList=function(e,t){var r;if(Cyberoam.isEmpty(e))return!1;for(var a=(e=(e=e.replace(/ /g,"")).replace(/\n/g,",").replace(/\r/g,"")).split(","),o=0;o<a.length;o++)if(r={textvalue:a[o],i18nenable:!1,regexindex:Cyberoam.idxIPv4},!Cyberoam.validateInputWithValidCharacters(r))return!1;e=(a=Cyberoam.removeDuplicateElement(a))[0];for(o=1;o<a.length;o++)e=e+","+a[o];return void 0!==t&&(t.value=e),!0},Cyberoam.removeDuplicateElement=function(e){var t=new Array;e:for(var r=0;r<e.length;r++){for(var a=0;a<t.length;a++)if(t[a]==e[r])continue e;t[t.length]=e[r]}return t},Cyberoam.chkDuplicateElement=function(e){for(var t=0;t<e.length;t++)for(var r=0;r<e.length;r++)if(t!=r&&e[t]==e[r])return!1;return!0},Cyberoam.validateMAClist=function(e){if(""==e)return Cyberoam.messageBox({message:Language.MAClistMsg}),!1;for(var t=(e=(e=(e=(e=e.replace(/ /g,"")).replace(/\n/g,",").replace(/\r/g,"")).replace(RegExp("-","g"),":")).toUpperCase()).split(","),r=0;r<t.length;r++)if(!Cyberoam.validateInputWithValidCharacters({textvalue:t[r],regexindex:Cyberoam.idxMAC,i18nenable:!1}))return!1;e=(t=Cyberoam.removeDuplicateElement(t))[0];for(r=1;r<t.length;r++)e=e+","+t[r];return document.getElementById("csvmacaddresslistid").value=e,!0},Cyberoam.validateFloat=function(e){return!!/^\d+\.\d+$/.test(e)},Cyberoam.validateNumber=function(e){return e.indexOf(".")<0?Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxInteger}):Cyberoam.validateInputWithValidCharacters({textvalue:e,regexindex:Cyberoam.idxFloat})},Cyberoam.validateMobileno=function(e){return!!Cyberoam.validateNumber(e)&&!("0"==e.charAt(0)||e.length<7||e.length>11)},Cyberoam.deanonymize=function(e,t){for(var r,a="",o="",n=0,i=0,s=0;i<t.length;i++){if(s==e.length&&(s=0),o="",(n=t.charAt(i).charCodeAt(0))>=65&&n<=90||n>=103&&n<=122)r=t.charAt(i).charCodeAt(0);else{for(var d=n-48;0!=d;)d--,i++,o+=t.charAt(i);r=parseInt(o,16)}n=e.charAt(s).charCodeAt(0)^r,a+=String.fromCharCode(n),s++}return a},Cyberoam.validateValueByRegEx=function(e,t){return!!e.test(t)},Cyberoam.gatewayValidation=function(e,t,r){return networkArr=e.split("."),netmaskArr=t.split("."),gwipArr=r.split("."),net1=networkArr[0]&netmaskArr[0],net2=networkArr[1]&netmaskArr[1],net3=networkArr[2]&netmaskArr[2],net4=networkArr[3]&netmaskArr[3],validateid1=net1+"."+net2+"."+net3+"."+net4,net1=gwipArr[0]&netmaskArr[0],net2=gwipArr[1]&netmaskArr[1],net3=gwipArr[2]&netmaskArr[2],net4=gwipArr[3]&netmaskArr[3],validateid2=net1+"."+net2+"."+net3+"."+net4,validateid1==validateid2},Cyberoam.maskToBinary=function(e){for(var t="",r=0,a=e>0?e-16>=0?16:e:0;r<16;r++,a--)t=a>0?"1"+t:"0"+t;return parseInt(t,2).toString(10)},Cyberoam.ConvertMaskbitToIPV6=function(e){if(!((e*=1)>=0&&e<=128))throw"ConvertMaskbitToIPV6: illegal argument";for(var t=[];e>=16;)t.push("ffff"),e-=16;for(e>0&&t.push((65536-Math.pow(2,16-e)).toString(16));t.length<8;)t.push("0000");return t},Cyberoam.gatewayValidationIP6=function(e,t,r){var a=e.split(":"),o=r.split(":"),n="",i=Cyberoam.ConvertMaskbitToIPV6(t);
2086for(var s in a)i.hasOwnProperty(s)&&(n+=((parseInt(a[s],16)&parseInt(i[s],16))>>>32)+".",16);var d="";for(var s in a)i.hasOwnProperty(s)&&(d+=((parseInt(o[s],16)&parseInt(i[s],16))>>>32)+".",16);return n==d},Cyberoam.navigateURL=function(e){if(null===Cyberoam.getRequestParam(e,"csrf")&&(e+=(e.indexOf("?")<0?"?":"&")+"csrf="+Cyberoam.c$rFt0k3n),"Microsoft Internet Explorer"!=navigator.appName)location.href=e;else{var t=document.createElement("a");t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},Cyberoam.downloadFile=function(e){Cyberoam.setStatusBarMessage("","");var t=e.id,r=(Cyberoam.createDownloadFormAndIframe(t),jQuery("#jdownloadForm"+t));jQuery(r).attr("action",e.url),jQuery(r).attr("method","POST"),jQuery(r).attr("target","jdownloadFrame"+t),jQuery(r).trigger("submit");var a={};downloadResponse=function(){var r=document.getElementById("jdownloadFrame"+t);try{r.contentWindow?a.responseText=r.contentWindow.document.body?r.contentWindow.document.body.childNodes[0].innerHTML:null:r.contentDocument&&(a.responseText=r.contentDocument.document.body?r.contentDocument.document.body.childNodes[0].innerHTML:null)}catch(t){jQuery.handleError(e,a,null,t)}var o=YAHOO.lang.JSON.parse(a.responseText);void 0!==o.entity&&void 0!==o.entity.map?Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o.message),o.entity.map),o.status,o.content,o.contentType):void 0!==o.status?Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),o.status,o.content,o.contentType):Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),null,o.content,o.contentType),e.response&&e.response(a.responseText),setTimeout((function(){try{jQuery("#jdownloadFrame"+t).remove(),jQuery("#jdownloadForm"+t).remove()}catch(t){jQuery.handleError(e,a,null,t)}}),100),a=null},jQuery("#jdownloadFrame"+t).on("load",downloadResponse)},Cyberoam.createDownloadFormAndIframe=function(e){var t="jdownloadFrame"+e,r='<iframe id="'+t+'" name="'+t+'" style="position:absolute; top:-9999px; left:-9999px"';jQuery(r+=" ></iframe>").appendTo(document.body);var a="jdownloadForm"+e,o=jQuery('<form action="" method="POST" name="'+a+'" id="'+a+'" ><input type="hidden" name="csrf" value="'+Cyberoam.c$rFt0k3n+'"></form>');jQuery(o).css("position","absolute"),jQuery(o).css("top","-1200px"),jQuery(o).css("left","-1200px"),jQuery(o).appendTo(document.body)},Cyberoam.textonkeypressforfilter=function(e,t){var r;window.event?(e=window.event,r=window.event.keyCode):r=e.which,e&&13==r&&document.getElementById(t).click()},Cyberoam.setButton=function(){var e=Cyberoam.getEntityObject();for(var t in e)e[t].object&&"button"==e[t].objType&&e[t].config&&(e[t].config.title==Language.Add||e[t].config.title==Language.Ok||e[t].config.title==Language.Save)&&$(e[t].object).addClass("cp-btn cp-green-btn"),e[t].object&&"button"==e[t].objType&&e[t].config&&e[t].config.title==Language.Cancel&&$(e[t].object).addClass("cp-btn cp-gray-btn")},Cyberoam.setShortcutKey=function(e,t){var r=new Cyberoam.Event(e);if(t=Cyberoam.getEntityObject(),r.isCtrl()&&r.isShift()&&r.getKeyCode()>=49&&r.getKeyCode()<=58)return menu.displayMenuByNumber(r.getKeyCode()-48),void r.clearKeyCode();for(var a in t){if(r.isCtrl()&&r.isShift())return;if(r.isCtrl())if(45==r.getKeyCode()){if("button"==t[a].objType&&t[a].config&&t[a].config.title==Cyberoam.getTranslatedMSG(Language.Add))return t[a].object.click(),void r.clearKeyCode()}else if(83==r.getKeyCode()){var o=null;if(Cyberoam.pageLayer>0)o=document.getElementById("popup"+Cyberoam.pageLayer).getElementsByTagName("form");else o=document.getElementById(Cyberoam.mainFrame).getElementsByTagName("form");if(1==o.length&&"button"==t[a].objType&&t[a].config&&(t[a].config.title==Cyberoam.getTranslatedMSG(Language.Ok)||t[a].config.title==Cyberoam.getTranslatedMSG(Language.Save)))return t[a].object.click(),void r.clearKeyCode()}else if(46==r.getKeyCode()&&"button"==t[a].objType&&t[a].config&&t[a].config.title==Cyberoam.getTranslatedMSG(Language.Delete))return t[a].object.click(),void r.clearKeyCode()}if(112==r.getKeyCode())return openHelp(),void r.clearKeyCode();if(r.isCtrl()){if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].paginator){if(39==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getNextPage()),void r.clearKeyCode();if(37==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getPreviousPage()),void r.clearKeyCode();if(38==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(1),void r.clearKeyCode();if(40==r.getKeyCode())return Cyberoam.pageObject[Cyberoam.pageLayer].paginator.setPage(Cyberoam.pageObject[Cyberoam.pageLayer].paginator.getTotalPages()),void r.clearKeyCode()}if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].checkAll&&65==r.getKeyCode()){var n=document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].checkAll.checkBoxItems[0].id);return clickObject(n,Cyberoam.pageObject[Cyberoam.pageLayer].checkAll.checkBoxItems[0]),void r.clearKeyCode()}}if(r.isShift()&&191==r.getKeyCode()){if(void 0!==r.getElement().type&&("text"==r.getElement().type.toLowerCase()||"textarea"==r.getElement().type.toLowerCase()||"password"==r.getElement().type.toLowerCase()))return;Cyberoam.showPopup({URL:"/KeyboardShortcuts.html"})}121==r.getKeyCode()&&(location.href="index.jsp")},Cyberoam.getEntityObject=function(){var e=null;return Cyberoam.pageObject[Cyberoam.pageLayer]&&(e=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject),e},Cyberoam.generateFilterJSON=function(e,t,r,a){return{key:e,criteria:t,value:r,type:a}},Cyberoam.validateInputWithInvalidCharacters=function(e,t){var r=!0;(Cyberoam.illegalChars[e.regexindex].regex.test(e.textvalue)&&(r=!1),e.i18nenable)||new RegExp("^[Â-ï¿¿]*$").test(e.textValue)&&(r=!1);return r},Cyberoam.validateInputWithValidCharacters=function(e,t){var r=!0;r=!0;return void 0===e.i18nenable&&(e.i18nenable=!1),e.regexindex==Cyberoam.idxMAC&&("00:00:00:00:00:00"!=e.textvalue&&"00-00-00-00-00-00"!=e.textvalue||(r=!1)),Cyberoam.legalChars[e.regexindex].i18nvalidation?e.i18nenable?new RegExp("^["+Cyberoam.legalChars[e.regexindex].regex+"Â-ï¿¿]*$").test(e.textvalue)||(r=!1):new RegExp("^["+Cyberoam.legalChars[e.regexindex].regex+"]*$").test(e.textvalue)||(r=!1):(Cyberoam.legalChars[e.regexindex].regex.test(e.textvalue)||(r=!1),void 0!==t&&void 0!==t.config.range&&(t.config.range.validation=!0,r&&((r=Cyberoam[Cyberoam.legalChars[e.regexindex].rangevalidation](e.textvalue,t.config.range.start,t.config.range.end))||(Cyberoam.messageBox({message:t.config.range.message}),t.config.range.validation=!1)))),r},Cyberoam.validateIntRange=function(e,t,r){var a=!0,o=parseInt(e),n=parseInt(t),i=parseInt(r);return n<i?(o<n||o>i)&&(a=!1):(Cyberoam.messageBox({message:"Developer alert: Range start value is greater than end value!"}),a=!1),a},Cyberoam.createElement=function(e,t){var r=document.createElement(e.tag);return void 0!==e.type&&r.setAttribute("type",e.type),void 0!==e.id&&r.setAttribute("id",e.id),void 0!==e.title&&r.setAttribute("title",e.title),void 0!==e.style&&r.setAttribute("style",e.style),void 0!==e.name&&r.setAttribute("name",e.name),void 0!==e.cellspacing&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.cellSpacing=e.cellspacing:r.setAttribute("cellspacing",e.cellspacing)),void 0!==e.cellpadding&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.cellPadding=e.cellpadding:r.setAttribute("cellpadding",e.cellpadding)),void 0!==e.className&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.className=e.className:r.setAttribute("class",e.className)),void 0!==e.colspan&&(navigator.userAgent.indexOf("MSIE 7.0")>-1?r.colSpan=e.colspan:r.setAttribute("COLSPAN",e.colspan)),void 0!==e.href&&r.setAttribute("href",e.href),void 0!==e.type&&r.setAttribute("type",e.type),void 0!==e.src&&r.setAttribute("src",e.src),void 0!==e.innerText&&(r.innerText=e.innerText),void 0!==e.sandbox&&(r.sandbox=e.sandbox),void 0!==e.rel&&r.setAttribute("rel",e.rel),void 0!==e.textContent&&(r.textContent=e.textContent),void 0!==e.onclick&&(r.onclick=e.onclick),void 0!==t&&t.appendChild(r),r},Cyberoam.password=function(e){for(var t in this.config={id:"",name:"",confirm:!0,minlength:1,maxlength:999,label:Language.Password,add:!1,escap:!0,getOpcodeValue:null,width:null,onChangePassword:null,onCancel:null},e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong Password Configuration "+t});this.config[t]=e[t]}""==this.config.name&&(this.config.name=this.config.id)},Cyberoam.password.prototype.create=function(){var e=this;""!=e.config.id&&(0==e.config.add?e.cancel():e.changePassword())},Cyberoam.password.prototype.getPassword=function(){if(document.getElementById("password"+this.config.id)){var e=document.getElementById("password"+this.config.id).value;return"text"==document.getElementById("password"+this.config.id).type?"":e}return null},Cyberoam.password.prototype.validatePassword=function(){var e=this;if(document.getElementById("password"+e.config.id)){var t=document.getElementById("password"+e.config.id).value;"text"==document.getElementById("password"+e.config.id).type&&(t="");var r=t;if(1==e.config.confirm&&(r=document.getElementById("confirmpassword"+e.config.id).value,"text"==document.getElementById("confirmpassword"+e.config.id).type&&(r="")),t.length<e.config.minlength){var a="";return a=e.config.minlength<2?Language.inputRequired.replace("{inputField}",e.config.label.toLowerCase()):Language.MinimumCharactersRequired.replace("{minlength}",e.config.minlength).replace("{label}",e.config.label),Cyberoam.messageBox({message:a,afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1}if(t.length>e.config.maxlength)return Cyberoam.messageBox({message:Language.MaximumCharactersRequired.replace("{maxlength}",e.config.maxlength).replace("{label}",e.config.label),afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1;if(t!=r)return Cyberoam.messageBox({message:e.config.label+Language.andConfirm+e.config.label+Language.areNotSame,afterOk:function(){document.getElementById("password"+e.config.id).focus()},afterCancel:function(){document.getElementById("password"+e.config.id).focus()}}),!1}return!0},Cyberoam.password.prototype.disabled=function(e){1==e?this.cancel(e):0==this.config.add?this.cancel():this.changePassword()},Cyberoam.password.prototype.cancel=function(e){var t=this,r=document.getElementById(t.config.id);r.innerHTML="";var a=document.createElement("font");if(a.className="testfont",a.innerHTML="********** ",r.appendChild(a),void 0===e||0==e){var o=document.createElement("a");o.style.paddingLeft="5px",o.style.textDecoration="underline",o.innerHTML=Language.Change+" "+t.config.label,r.appendChild(o),o.onclick=function(){t.changePassword(),null!=t.config.onChangePassword&&t.config.onChangePassword()}}},Cyberoam.validateCustomURL=function(e){var t;if(!/^((https?|ftp):\/\/[a-z0-9-]+|([a-z0-9-]+))(\.[a-z0-9-]+)+([\/?].*)?$/.test(e)){var r=0,a=e.split(":");if("http"!=a[r].toLowerCase()&&"https"!=a[r].toLowerCase()&&"ftp"!=a[r].toLowerCase()||(a[++r]=a[r].substring(2)),a.length>r+2)return!1;if(t={textvalue:a[r++],i18nenable:!1,regexindex:Cyberoam.idxIPv4},!Cyberoam.validateInputWithValidCharacters(t))return!1;if(void 0!==a[r]&&(t={textvalue:a[r],i18nenable:!1,regexindex:Cyberoam.idxPortNo}),!Cyberoam.validateInputWithValidCharacters(t))return!1}return!0},Cyberoam.password.prototype.changePassword=function(){var e=this,t=document.getElementById(e.config.id);t.innerHTML="";var r=document.createElement("input");if(r.type="password",r.className="textboxcss",r.name=e.config.name,r.id="password"+e.config.id,r.maxLength=e.config.maxlength,null!=e.config.width&&(r.style.width=parseInt(e.config.width)+"px"),r.placeholder=e.config.label,r.setAttribute("autocomplete","off"),t.appendChild(r),e.config.confirm){t.appendChild(document.createElement("br"));var a=document.createElement("input");a.type="password",a.className="textboxcss",a.name="confirm"+e.config.name,a.id="confirmpassword"+e.config.id,a.maxLength=e.config.maxlength,null!=e.config.width&&(a.style.width=parseInt(e.config.width)+"px"),a.style.marginTop="3px",a.placeholder=Language.ConfirmWord+e.config.label,a.setAttribute("autocomplete","off"),t.appendChild(a),setTimeout((function(){if(void 0!==$("div#passwd").data("plugin_strength_meter"))try{$("div#passwd").data("plugin_strength_meter").reattach()}catch(e){Cyberoam.logger.error("There was an error attaching password guide plugin")}}),100)}if(1!=e.config.add){var o=document.createElement("a");o.style.paddingLeft="10px",o.innerHTML=Language.Cancel,t.appendChild(o),o.onclick=function(){e.cancel(),null!=e.config.onCancel&&e.config.onCancel()}}},Cyberoam.print=function(e){var t=document.createElement("iframe");t.onload=function(){(t.contentDocument?t.contentDocument:t.contentWindow.document).getElementsByTagName("body")[0].innerHTML=e,t.contentWindow.focus(),t.contentWindow.print(),t.style.display="none",setTimeout((function(){t.parentNode.removeChild(t)}),2e3)},document.getElementsByTagName("body")[0].appendChild(t)}
2086,Cyberoam.DropdownMenu=function(e,t){this.$dropdowndiv=null,this.$dropdownWrapper=null,this.id=e,this.$caller=$(t),null==this.$dropdowndiv&&(this.$dropdowndiv=$("<div></div>").attr("id","dropdown1").addClass("dropdownmenu").appendTo(document.body).hide(),this.$dropdownWrapper=$("<div><div>").appendTo(this.$dropdowndiv).addClass("root"))},Cyberoam.DropdownMenu.prototype.show=function(){if("undefined"!=this.$caller){var e=this.$caller.offset().left+this.$dropdowndiv.width()+10;$(window).width()>=e?this.$dropdowndiv.css({top:this.$caller.offset().top+this.$caller.height()+8+"px",left:this.$caller.offset().left+1+"px"}).stop().show():this.$dropdowndiv.css({top:this.$caller.offset().top+this.$caller.height()+8+"px",left:this.$caller.offset().left-(this.$dropdowndiv.width()-this.$caller.width()-10)+1+"px"}).stop().show(),this.$caller.css({"border-bottom-width":"0px"}),this.$caller.addClass("dropdownMenuParentSelected"),this.$caller.removeClass("toppanel"),this.$caller.css({"border-right":"#AAA 1px solid","border-radius":"0px 3px 0px 0px"})}},Cyberoam.DropdownMenu.prototype.hide=function(){null!=this.$dropdowndiv&&this.$dropdowndiv.stop().hide(),null!=this.$caller&&(this.$caller.css({"border-bottom-width":"1px"}),this.$caller.addClass("toppanel"),this.$caller.removeClass("dropdownMenuParentSelected"),this.$caller.css({"border-right":"1px solid #000","border-radius":"0px 3px 3px 0px"})),Cyberoam.currentObject=null},Cyberoam.DropdownMenu.prototype.addMenuItemHTML=function(e,t,r){var a=this;null!=this.$dropdowndiv&&$("<div></div>").attr("id",e).html(t).on("click",(function(){a.hide(),r()})).appendTo(this.$dropdownWrapper).addClass("menuitem")},Cyberoam.DropdownMenu.prototype.addMenuItemSeparator=function(){$("<div></div>").appendTo(this.$dropdownWrapper).addClass("seprator").html("<div></div>")},Cyberoam.DropdownMenu.prototype.setCaller=function(e){this.$caller=$(e)},Cyberoam.DropdownMenu.prototype.getOffsetPosition=function(){return[new Cyberoam.Point(parseInt(this.$dropdowndiv.offset().left),parseInt(this.$dropdowndiv.offset().top)),new Cyberoam.Point(parseInt(this.$dropdowndiv.offset().left+this.$dropdowndiv.width()),parseInt(this.$dropdowndiv.offset().top+this.$dropdowndiv.height()))]},Cyberoam.convertNetmaskToInt=function(e){e.split(".");return Cyberoam.convertIPv4ToInt(e).toString(2).match(/1/g).length},Cyberoam.Address=function(e){for(var t in this.config={id:"",title:"",IPType:Cyberoam.Address.IPv4,isMask:!1,type:Cyberoam.Address.IPv4,multicast:!0,unspecify:!0,loopback:!0,networkBroadcast:!0,networkIP:!0,linkLocal:!0,broadcast:!0,reserved:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0,validator:null,getOpcodeValue:null,ip:"",netmask:"",range1:"",range2:""},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if(this.config.type==Cyberoam.Address.All?""!=this.config.ip&&-1!=this.config.ip.indexOf(":")||""!=this.config.range1&&-1!=this.config.range1.indexOf(":")?this.config.IPType=Cyberoam.Address.IPv6:this.config.IPType=Cyberoam.Address.IPv4:this.config.IPType=this.config.type,this.address=null,"string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}1==this.config.allowNetmask&&"-1"!=this.config.ip.indexOf("/")&&(this.config.netmask=this.config.ip.substring(this.config.ip.indexOf("/")+1,this.config.ip.length),this.config.ip=this.config.ip.substring(0,this.config.ip.indexOf("/"))),this.config.IPType==Cyberoam.Address.IPv4?this.address=new Cyberoam.Address.ip4({address:this.config.ip,netmask:this.config.netmask,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping,range1:this.config.range1,range2:this.config.range2}):this.address=new Cyberoam.Address.ip6({address:this.config.ip,netmask:this.config.netmask,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping,range1:this.config.range1,range2:this.config.range2})},Cyberoam.Address.IPv4=0,Cyberoam.Address.IPv6=1,Cyberoam.Address.All=2,Cyberoam.Address.multicast=3,Cyberoam.Address.loopback=4,Cyberoam.Address.unspecified=1,Cyberoam.Address.linklocal=5,Cyberoam.Address.broadcast=2,Cyberoam.Address.reserved=6,Cyberoam.Address.prototype.get=function(){return{ip:this.address.config.address,netmask:this.address.config.netmask,type:this.config.IPType}},Cyberoam.Address.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.prototype.validate=function(){return this.address.isValid()&&!(""!=this.address.config.netmask&&!this.address.isValidNetmask())||
2086(this.errorStatus=this.address.getErrorStatus(),!1)},Cyberoam.Address.prototype.validateRange=function(){return!!this.address.isValidRange()},Cyberoam.Address.prototype.getRange=function(){return this.address.getRange()},Cyberoam.Address.prototype.set=function(e,t){this.config.type==Cyberoam.Address.All?""!=e&&-1!=e.indexOf(":")?this.config.IPType=Cyberoam.Address.IPv6:this.config.IPType=Cyberoam.Address.IPv4:this.config.IPType=this.config.type,void 0===t&&(t=""),-1!=e.indexOf("/")&&(t=e.split("/")[1],e=e.split("/")[0]),this.config.IPType==Cyberoam.Address.IPv4?this.address=new Cyberoam.Address.ip4({address:e,netmask:t,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping}):this.address=new Cyberoam.Address.ip6({address:e,netmask:t,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask,ipv4Mapping:this.config.ipv4Mapping}),""!=e&&(this.config.isMask?(document.getElementById("address_"+this.config.id).value=this.address.config.address,document.getElementById("mask_"+this.config.id).value=this.address.config.netmask):document.getElementById("address_"+this.config.id).value=this.address.config.address+(""!=this.address.config.netmask&&"undefined"!=this.address.config.netmask?"/"+this.address.config.netmask:""))},Cyberoam.Address.prototype.create=function(){var e=document.getElementById(this.config.id),t=this;""==t.config.title&&(t.config.type==Cyberoam.Address.IPv4?t.config.title=Language.IPv4:t.config.type==Cyberoam.Address.IPv6&&(t.config.title=Language.IPv6)),Cyberoam.createElement({tag:"input",type:"text",className:"textboxcss",id:"address_"+this.config.id},e).onblur=function(){var e=this.value,r="";t.config.type==Cyberoam.Address.All?""!=e&&-1!=e.indexOf(":")?t.config.IPType=Cyberoam.Address.IPv6:t.config.IPType=Cyberoam.Address.IPv4:t.config.IPType=t.config.type,-1!=e.indexOf("/")&&(r=e.split("/")[1],e=e.split("/")[0]),t.config.IPType==Cyberoam.Address.IPv4?t.address=new Cyberoam.Address.ip4({address:e,netmask:r,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask}):t.address=new Cyberoam.Address.ip6({address:e,netmask:r,multicast:this.config.multicast,unspecify:this.config.unspecify,loopback:this.config.loopback,networkBroadcast:this.config.networkBroadcast,networkIP:this.config.networkIP,linkLocal:this.config.linkLocal,broadcast:this.config.broadcast,reserved:this.config.reserved,addressList:this.config.addressList,allowAny:this.config.allowAny,allowNetmask:this.config.allowNetmask})},this.config.isMask&&(maskElement=Cyberoam.createElement({tag:input,className:"textboxcss",id:"mask_"+this.config.id},e),maskElement.onblur=function(){var e=this.value;t.address.setMask(e)}),this.set(this.config.ip,this.config.netmask)},Cyberoam.Address.ip4=function(e){for(var t in this.config={address:"",netmask:"",range1:"",range2:"",multicast:!0,unspecify:!0,loopback:!0,linkLocal:!0,broadcast:!0,reserved:!0,networkBroadcast:!0,networkIP:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if("string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}},Cyberoam.Address.ip4.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.ip6=function(e){for(var t in this.config={address:"",netmask:"",range1:"",range2:"",multicast:!0,unspecify:!0,loopback:!0,linkLocal:!0,broadcast:!0,reserved:!0,networkBroadcast:!0,networkIP:!0,addressList:!1,allowAny:!1,allowNetmask:!1,ipv4Mapping:!0},this.errorStatus=200,e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});this.config[t]=e[t]}if("string"!=typeof this.config.netmask&&"number"!=typeof this.config.netmask){var r=this.config.netmask();this.config.netmask=r}},Cyberoam.Address.ip6.prototype.getErrorStatus=function(){return this.errorStatus},Cyberoam.Address.ip4.prototype.setMask=function(e){this.config.netmask=e},Cyberoam.Address.ip4.prototype.isValid=function(e){if(this.errorStatus=200,void 0===e&&(e=this.config.address),this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),1==this.config.allowAny&&"*"==this.config.address)return!0;for(var t in addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if("string"==typeof r&&!r.match(Cyberoam.legalChars[Cyberoam.idxIPv4].regex))return this.errorStatus=500,!1}return!this.config.unspecify&&this.isUnspecified()?(this.errorStatus=501,!1):!this.config.multicast&&this.isMulticast()?(this.errorStatus=502,!1):!this.config.loopback&&this.isLoopback()?(this.errorStatus=503,!1):!this.config.linkLocal&&this.isLinklocal()?(this.errorStatus=504,!1):!this.config.broadcast&&this.isBroadcast()?(this.errorStatus=505,!1):!this.config.reserved&&this.isReserved()?(this.errorStatus=506,!1):!this.config.networkBroadcast&&this.isNetworkBroadcast()?(this.errorStatus=507,!1):!(!this.config.networkIP&&this.isNetworkIP())||(this.errorStatus=508,!1)},Cyberoam.Address.ip4.isNetworkBroadcast=function(e,t){if(1==t.split(".").length){if(parseInt(t)<2||parseInt(t)>32)return!1;t=Cyberoam.convertNetBitsToNetmask(t)}var r=Cyberoam.Address.ip4.toInteger(t),a=Cyberoam.Address.ip4.toInteger(e);return a==(a|~r)},Cyberoam.Address.ip4.prototype.isNetworkBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isNetworkBroadcast(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isNetworkIP=function(e,t){if(1==t.split(".").length){if(parseInt(t)<2||parseInt(t)>32)return!1;t=Cyberoam.convertNetBitsToNetmask(t)}var r=Cyberoam.Address.ip4.toInteger(t),a=Cyberoam.Address.ip4.toInteger(e);return a==(a&r)>>>32},Cyberoam.Address.ip4.prototype.isNetworkIP=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isNetworkIP(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isMulticast=function(e){var t=e.split(".");return!(parseInt(t[0])<224||parseInt(t[0])>239)},Cyberoam.Address.ip4.prototype.isMulticast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isMulticast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isReserved=function(e){var t=e.split(".");return parseInt(t[0])>=240&&parseInt(t[0])<=255},Cyberoam.Address.ip4.prototype.isReserved=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isReserved(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isUnspecified=function(e){return"0.0.0.0"==e},Cyberoam.Address.ip4.prototype.isUnspecified=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isUnspecified(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isBroadcast=function(e){return"255.255.255.255"==e},Cyberoam.Address.ip4.prototype.isBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isBroadcast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isLoopback=function(e){return"127"==e.split(".")[0]},Cyberoam.Address.ip4.prototype.isLoopback=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isLoopback(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.isLinklocal=function(e){var t=e.split(".");return 169==parseInt(t[0])&&254==parseInt(t[1])&&(0!=parseInt(t[2])&&255!=parseInt(t[2]))},Cyberoam.Address.ip4.prototype.isLinklocal=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip4.isLinklocal(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip4.prototype.isIPInRange=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.range1),void 0===r&&(r=this.config.range2),this.isValid(e)?this.isValid(t)?this.isValid(r)?this.toInteger(t)>this.toInteger(e)||this.toInteger(r)<this.toInteger(e)?0:1:-3:-2:-1},Cyberoam.Address.ip4.prototype.isValidRange=function(e,t){return void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),!(!this.isValid(e)||!this.isValid(t))&&!(this.toInteger(e)>=this.toInteger(t))},Cyberoam.Address.ip4.prototype.getRange=function(e,t){return void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),this.toInteger(t)-this.toInteger(e)},Cyberoam.Address.ip4.prototype.toInteger=function(e){return void 0===e&&(e=this.config.address),Cyberoam.Address.ip4.toInteger(e)},Cyberoam.Address.ip4.toInteger=function(e){var t=e.split("."),r=0;return r+=16777216*Number(t[0]),r+=65536*Number(t[1]),r+=256*Number(t[2]),r+=Number(t[3])},Cyberoam.Address.ip4.prototype.isValidNetworkIP=function(e,t){if(void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),!this.isValid(e))return!1;var r=e.split("."),a=t.split(".");if(1==a.length){if(parseInt(t)<2||parseInt(t)>32)return!1;a=this.convertNetBitsToNetmask(t).split(".")}else if(!this.isValidNetmask(t))return!1;return!(parseInt(r[0])<=0)&&((r[0]&a[0])>>>32)+"."+((r[1]&a[1])>>>32)+"."+((r[2]&a[2])>>>32)+"."+((r[3]&a[3])>>>32)==e},Cyberoam.Address.ip4.prototype.isValidNetmask=function(e){if(void 0===e&&(e=this.config.netmask),1==(r=e.split(".")).length){if(!/^\d{1,2}$/.test(e))return this.errorStatus=510,!1;if(parseInt(e)<1||parseInt(e)>32)return this.errorStatus=510,!1}else{if(!this.isValid(e))return this.errorStatus=510,!1;var t=[0,128,192,224,240,248,252,254,255],r=e.split("."),a=t.length;if(0==parseInt(r[0])||parseInt(r[0])>255)return this.errorStatus=510,!1;for(var o=0;o<r.length;o++){if(parseInt(r[o])>255)return this.errorStatus=510,!1;for(var n=!1,i=0;i<a;i++)if(r[o]==t[i]){n=!0;break}if(!n)return this.errorStatus=510,!1;if(0!=o&&255!=parseInt(r[o-1])&&0!=parseInt(r[o]))return this.errorStatus=510,!1}}return!0},Cyberoam.Address.ip4.prototype.isValidIPWithmask=function(e){return ipNetmask.indexOf("/",0)<0?(void 0===e&&(e=this.config.address),this.isValid(e)):0!=ipNetmask.indexOf("/",0)&&(void 0!==e?(ip=e.split("/")[0],netmask=e.split("/")[1]):(ip=this.config.address,netmask=this.config.netmask),!!this.isValid(ip)&&!!this.isValidNetworkIP(ip,netmask))},Cyberoam.Address.ip4.prototype.getValidNetworkIP=function(e,t){void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask);var r="0.0.0.0";return this.isValidNetworkIP(e,t)?e:(networkArr=e.split("."),netmaskArr=t.split("."),1==netmaskArr.length&&(netmaskArr=this.convertNetBitsToNetmask(t).split(".")),parseInt(networkArr[0])<0||parseInt(networkArr[0])>254||parseInt(networkArr[1])<0||parseInt(networkArr[1])>254||parseInt(networkArr[2])<0||parseInt(networkArr[2])>254||parseInt(networkArr[3])<0||parseInt(networkArr[3])>254?r:(net1=(networkArr[0]&netmaskArr[0])>>>32,net2=(networkArr[1]&netmaskArr[1])>>>32,net3=(networkArr[2]&netmaskArr[2])>>>32,net4=(networkArr[3]&netmaskArr[3])>>>32,r=net1+"."+net2+"."+net3+"."+net4))},Cyberoam.Address.ip4.prototype.convertNetBitsToNetmask=function(e){var t=parseInt(e),r="0.0.0.0";if(net1=parseInt(t/8),net2=t%8,net3=t/8,net1!=net3)switch(net1){case 0:r=this.octetValue(net2)+".0.0.0";break;case 1:r="255."+this.octetValue(net2)+".0.0";break;case 2:r="255.255."+this.octetValue(net2)+".0";break;case 3:r="255.255.255."+this.octetValue(net2);break;case 4:r="255.255.255.255"}else if(net1==net3)switch(net1){case 0:r=octetValue(net2)+".0.0.0";break;case 1:r="255.0.0.0";break;case 2:r="255.255.0.0";break;case 3:r="255.255.255.0";break;case 4:r="255.255.255.255"}return r},Cyberoam.Address.ip4.prototype.octetValue=function(e){var t=0;switch(e){case 0:t=255;break;case 1:t=128;break;case 2:t=192;break;case 3:t=224;break;case 4:t=240;break;case 5:t=248;break;case 6:t=252;break;case 7:t=254}return t},Cyberoam.Address.ip6.prototype.isValid=function(e){if(this.errorStatus=200,void 0===e&&(e=this.config.address),this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),1==this.config.allowAny&&"*"==this.config.address)return!0;for(var t in addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(!Cyberoam.validIPv6Addres(r))return this.errorStatus=500,!1}return!this.config.unspecify&&this.isUnspecified()?(this.errorStatus=501,!1):!this.config.multicast&&this.isMulticast()?(this.errorStatus=502,!1):!this.config.loopback&&this.isLoopback()?(this.errorStatus=503,!1):!this.config.linkLocal&&this.isLinklocal()?(this.errorStatus=504,!1):!this.config.broadcast&&this.isBroadcast()?(this.errorStatus=505,!1):!this.config.reserved&&this.isReserved()?(this.errorStatus=506,!1):!this.config.networkIP&&this.isNetworkIP()?(this.errorStatus=508,!1):!(!this.config.ipv4Mapping&&this.isIPv4Mapping())||(this.errorStatus=509,!1)},Cyberoam.Address.ip4.prototype.gatewayValidation=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),Cyberoam.gatewayValidation(e,t,r)},Cyberoam.Address.ip6.prototype.gatewayValidation=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.netmask),Cyberoam.gatewayValidationIP6(e,t,r)},Cyberoam.validIPv6Addres=function(e){var t=e.split(":"),r=e.split("::");if(t.length>8)return!1;if(-1==e.indexOf(".")){if(t.length<8&&-1==e.indexOf("::"))return!1}else{if(t.length<7&&-1==e.indexOf("::"))return!1;if(t.length>7)return!1}if(-1!=e.indexOf(":::"))return!1;if(e.lastIndexOf(":")==e.length-1&&e.lastIndexOf("::")!=e.length-2)return!1;if(r.length>2)return!1;if(-1==e.indexOf(":"))return!1;var a=/[^0-9A-Fa-f]+/,o=-1;for(o=0;o<t.length-1;o++){if(t[o].length>4)return!1;if(a.test(t[o]))return!1}if((a=/[^0-9A-Fa-f.]+/).test(t[o]))return!1;if(!/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t[o])){if(t[o].length>4)return!1;if((a=/[^0-9A-Fa-f]+/).test(t[o]))return!1}return!0},Cyberoam.Address.ip6.getbineryof32=function(e){for(var t="",r=0,a=0;r<32;r++,a++)t+=a<e?"1":"0";return t},Cyberoam.Address.ip6.isNetworkIP=function(e,t){for(var r=Cyberoam.bestRepresent(e).split(":"),a=[],o=[],n=0;n<8;n+=2)a[n/2]=parseInt((r[n]+r[n+1]).toUpperCase(),16),o[n/2]=t/32>=1?parseInt(Cyberoam.Address.ip6.getbineryof32(32),2):parseInt(Cyberoam.Address.ip6.getbineryof32(t%32),2),t-=32;for(var n in o)if((a[n]&o[n])>>>32!=a[n])return!1;return!0},Cyberoam.Address.ip6.prototype.isNetworkIP=fu
2086nction(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isNetworkIP(r,this.config.netmask))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isBroadcast=function(e){return"FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"==Cyberoam.bestRepresent(e).toUpperCase()},Cyberoam.Address.ip6.prototype.isBroadcast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isBroadcast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isReserved=function(e){return!1},Cyberoam.Address.ip6.prototype.isReserved=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isReserved(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isMulticast=function(e){return 0==Cyberoam.bestRepresent(e).split(":")[0].toLowerCase().indexOf("ff")},Cyberoam.Address.ip6.prototype.isMulticast=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isMulticast(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isUnspecified=function(e){return"0000:0000:0000:0000:0000:0000:0000:0000"==Cyberoam.bestRepresent(e)},Cyberoam.Address.ip6.prototype.isUnspecified=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isUnspecified(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isLoopback=function(e){var t=Cyberoam.bestRepresent(e);return"0000:0000:0000:0000:0000:0000:0000:0001"==Cyberoam.trim(t)},Cyberoam.Address.ip6.prototype.isLoopback=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isLoopback(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isLinklocal=function(e){var t=Cyberoam.bestRepresent(e).split(":");return 0==t[0].toLowerCase().indexOf("fe8")||0==t[0].toLowerCase().indexOf("fe9")||0==t[0].toLowerCase().indexOf("fea")||0==t[0].toLowerCase().indexOf("feb")},Cyberoam.Address.ip6.prototype.isLinklocal=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isLinklocal(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.isIPv4Mapping=function(e){return 0==Cyberoam.bestRepresent(e).toUpperCase().indexOf("0000:0000:0000:0000:0000:FFFF:")},Cyberoam.Address.ip6.prototype.isIPv4Mapping=function(){var e=this.config.address;for(var t in this.config.addressList?addressArr=e.split(","):(addressArr=[],addressArr.push(e)),addressArr)if(addressArr.hasOwnProperty(t)){var r=addressArr[t];if(Cyberoam.Address.ip6.isIPv4Mapping(r))return this.errorStatus=500,!0}return!1},Cyberoam.Address.ip6.prototype.isIPInRange=function(e,t,r){return void 0===e&&(e=this.config.address),void 0===t&&(t=this.config.range1),void 0===r&&(r=this.config.range2),!!(this.isValid(t)&&this.isValid(r)&&this.isValid(e))&&!(this.isValidRange(e,t)||!this.isValidRange(e,r))},Cyberoam.Address.ip6.prototype.isValidRange=function(e,t){if(void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2),!this.isValid(e)||!this.isValid(t))return!1;var r=this.bestRepresent(e),a=this.bestRepresent(t),o=r.split(":"),n=a.split(":");if(Number("0x"+o[0])<Number("0x"+n[0]))return!0;if(Number("0x"+o[0])==Number("0x"+n[0])){if(Number("0x"+o[1])<Number("0x"+n[1]))return!0;
2086if(Number("0x"+o[1])==Number("0x"+n[1])){if(Number("0x"+o[2])<Number("0x"+n[2]))return!0;if(Number("0x"+o[2])==Number("0x"+n[2])){if(Number("0x"+o[3])<Number("0x"+n[3]))return!0;if(Number("0x"+o[3])==Number("0x"+n[3])){if(Number("0x"+o[4])<Number("0x"+n[4]))return!0;if(Number("0x"+o[4])==Number("0x"+n[4])){if(Number("0x"+o[5])<Number("0x"+n[5]))return!0;if(Number("0x"+o[5])==Number("0x"+n[5])){if(Number("0x"+o[6])<Number("0x"+n[6]))return!0;if(Number("0x"+o[6])==Number("0x"+n[6])&&Number("0x"+o[7])<Number("0x"+n[7]))return!0}}}}}}},Cyberoam.Address.ip6.prototype.getRange=function(e,t){void 0===e&&(e=this.config.range1),void 0===t&&(t=this.config.range2);for(var r=Cyberoam.bestRepresent(e),a=Cyberoam.bestRepresent(t),o=r.split(":"),n=a.split(":"),i=0,s=0;s<8;s++)i+=(Number("0x"+n[s])-Number("0x"+o[s]))*Math.pow(65536,7-s);return i+1},Cyberoam.Address.ip6.prototype.bestRepresent=function(e){return Cyberoam.bestRepresent(e)},Cyberoam.binwith2bit=function(e){for(var t=0;t<2-e.length;t++)e="0"+e;return e},Cyberoam.getIPv6BitsFromIPv4=function(e){var t=e.split(".");return Cyberoam.binwith2bit(parseInt(t[0]).toString(16))+""+Cyberoam.binwith2bit(parseInt(t[1]).toString(16))+":"+(Cyberoam.binwith2bit(parseInt(t[2]).toString(16))+""+Cyberoam.binwith2bit(parseInt(t[3]).toString(16)))},Cyberoam.bestRepresent=function(e){if(-1!=e.indexOf(".")){var t=e.substring(e.lastIndexOf(":")+1),r=e.substring(0,e.lastIndexOf(":")+1);e=r+Cyberoam.getIPv6BitsFromIPv4(t)}if(-1!=e.indexOf("::")){var a,o=e.split("::"),n=o[0],i=o[1],s=n.split(":"),d=i.split(":"),l="";for(a=0;a<s.length;a++)l+=this.fixLength(s[a],4)+":";for(var c=0;c<8-(s.length+d.length);c++,a++)l+="0000:";for(c=0;c<d.length;c++,a++)l+=Cyberoam.fixLength(d[c],4)+":";l=l.substr(0,l.length-1)}else{for(d=e.split(":"),l="",c=0;c<d.length;c++,a++)l+=Cyberoam.fixLength(d[c],4)+":";l=l.substr(0,l.length-1)}return l},Cyberoam.fixLength=function(e,t){t=t<0?0:t,e=e.substr(0,t);var r=[];return r.length=t-e.length+1,""+r.join("0")+e},Cyberoam.Address.ip6.prototype.fixLength=function(e,t){t=t<0?0:t,e=e.substr(0,t);var r=[];return r.length=t-e.length+1,""+r.join("0")+e},Cyberoam.Address.ip6.prototype.isValidNetmask=function(e){var t="";return""==(t=void 0!==e?e:this.config.netmask)||void 0===t||isNaN(t)?(this.errorStatus=510,!1):("string"==typeof t&&(t=parseInt(t)),"number"!=typeof t?(this.errorStatus=510,!1):!(t<1||t>128)||(this.errorStatus=510,!1))},Cyberoam.InternetProtocol=function(e){for(var t in this.config={id:"",name:"",ipv4tab:!1,ipv6tab:!1},e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong InternetProtocol Configuration "+t});this.config[t]=e[t]}""==this.config.name&&(this.config.name=this.config.id)},Cyberoam.InternetProtocol.prototype.create=function(){var e=this;""!=e.config.id&&(e.IPv6Protocol(),document.getElementById(e.config.id).style.display="")},Cyberoam.InternetProtocol.prototype.IPv6Protocol=function(){var e=this,t=document.getElementById(e.config.id);t.className="ip_tab_main_div";var r=document.createElement("div");r.className="toplinkseprator_CR",r.setAttribute("style","margin-top:0px;"),t.appendChild(r);var a=document.createElement("div");a.className="ip_tab_sub_div_selected",a.id="ipv4div_"+this.config.id,a.innerHTML="IPv4",r.appendChild(a);var o=document.createElement("div");o.className="toplinkseprator_CR",o.setAttribute("style","margin-top:0px;"),t.appendChild(o);var n=document.createElement("div");n.className="ip_tab_sub_div_unselected",n.id="ipv6div_"+this.config.id,n.innerHTML="IPv6",o.appendChild(n);var i=document.createElement("div");i.className="toplinkseprator_CR",i.setAttribute("style","margin-top:0px;padding:inherit;"),t.appendChild(i);var s=document.createElement("input");s.type="hidden",t.appendChild(s),e.config.ipv4tab&&e.config.ipv4tab(),a.onclick=function(){a.className="ip_tab_sub_div_selected",n.className="ip_tab_sub_div_unselected",s.value="0",e.config.ipv4tab&&e.config.ipv4tab()},n.onclick=function(){n.className="ip_tab_sub_div_selected",a.className="ip_tab_sub_div_unselected",s.value="1",e.config.ipv6tab&&e.config.ipv6tab()}},Cyberoam.InternetProtocol.prototype.getProtocol=function(){var e=document.getElementById("ipv4div_"+this.config.id);return null!=e&&-1==e.className.indexOf("_selected")?"1":"0"},Cyberoam.InternetProtocol.prototype.setProtocol=function(e){var t=document.getElementById("ipv4div_"+this.config.id),r=document.getElementById("ipv6div_"+this.config.id);"1"==e?(t.className="ip_tab_sub_div_unselected",r.className="ip_tab_sub_div_selected"):(t.className="ip_tab_sub_div_selected",r.className="ip_tab_sub_div_unselected")},Cyberoam.validateIPv6Prefix=function(e,t){if(!Cyberoam.validIPv6Addres(e))return!1;if(newIP=Cyberoam.bestRepresent(e).split(":"),128==t||0==t)return!0;
2086if(t%4!=0||t>128||0==t)return!1;for(var r=t/4-1,a=newIP.join(""),o=a.length-1;o>r;o--)if("0"!=a.charAt(o))return!1;return!0},Cyberoam.table=function(e){var t={column:[],data:[],action:1,checkBox:!0,noChildHeader:!1,key:"",isThisChild:!0,postRenderEvent:null,alternateColor:!1,checkBoxFormater:null};for(var r in this.config={column:[],data:[],isChild:!1,key:"id",action:1,alternateColor:!0,child:t,id:"",checkBox:!0,checkBoxFormater:null,noChildHeader:!1,isThisChild:!1,postRenderEvent:null,width:"",dragDrop:!1,isHeaderVisible:!0},e)if(void 0!==this.config[r])if("child"==r){for(var a in e[r])void 0!==t[a]&&(t[a]=e[r][a]);this.config[r]=t}else this.config[r]=e[r];this.checkBoxArray=[],jQuery("#ygddfdiv").remove()},Cyberoam.table.prototype.create=function(){this.createTable(this.config)},Cyberoam.table.prototype.getTableData=function(){return this.config.data},Cyberoam.table.prototype.expandAll=function(){var e;e=Cyberoam.getElementsByClassName("dynamicRecordAdd",document.getElementById(this.id)),$(e[0]).trigger("click")},Cyberoam.table.prototype.collepsAll=function(){var e;e=Cyberoam.getElementsByClassName("dynamicRecordDelete",document.getElementById(this.id)),$(e[0]).trigger("click")},Cyberoam.table.prototype.createTable=function(e){var t=e.id,r=(e.data,this),a=document.getElementById(t);if(1!=e.isChild&&0!=e.alternateColor||!1,0==e.noChildHeader){for(var o=!1,n=0;n<e.column.length;n++)if(void 0!==e.column[n].group&&""!=e.column[n].group){o=!0;break}var i="width:98%";""!=e.width&&(i="width:"+e.width+";");var s=Cyberoam.createElement({tag:"table",id:"table_"+t,style:i,className:"cr-custom-table"},a),d=Cyberoam.createElement({tag:"tbody"},s);s.cellSpacing="1",s.cellPadding="2",s.border="0";var l=Cyberoam.createElement({tag:"tr"},d);if(1==o&&(trObject2=Cyberoam.createElement({tag:"tr"},d)),1==e.isChild){var c=Cyberoam.createElement({tag:"td",className:"tableheader"},l);1==o&&c.setAttribute("rowspan",2),c.setAttribute("width","20");var u=Cyberoam.createElement({tag:"div",className:"dynamicRecordAdd"},c);$(u).on("click",(function(){var e=null;for(var r in"dynamicRecordAdd"==this.className?(this.className="dynamicRecordDelete",e=Cyberoam.getElementsByClassName("dynamicRecordAdd",document.getElementById("table_"+t))):(this.className="dynamicRecordAdd",e=Cyberoam.getElementsByClassName("dynamicRecordDelete",document.getElementById("table_"+t))),e)e.hasOwnProperty(r)&&$(e[r]).trigger("click")}))}if(1==e.checkBox){(c=Cyberoam.createElement({tag:"td",className:"tableheader"},l)).setAttribute("width","20"),1==o&&c.setAttribute("rowspan",2);u=Cyberoam.createElement({tag:"div",style:"width:20px"},c),Cyberoam.createElement({tag:"div",id:"selectAll_"+t,className:"checkBox"},u);this.checkBoxAll=new Cyberoam.CheckBox([{id:"selectAll_"+t,name:"selectAll_"+t,click:function(){r.checkBoxObject.selectAll(r.checkBoxAll.getValueById("selectAll_"+t))}}]),this.checkBoxAll.create()}for(n=0;n<e.column.length;n++)if(void 0===e.column[n].type||"hidden"!=e.column[n].type){var m=e.column[n],y="width:auto";c=Cyberoam.createElement({tag:"td",title:m.label,className:"tableheader"},l);if(1==o&&void 0===m.group&&c.setAttribute("rowspan",2),""!=m.width&&(y="width:"+m.width,c.setAttribute("width",m.width)),(u=Cyberoam.createElement({tag:"span",style:"float:left"},c)).innerHTML=m.label,m.isFilter){var p=t+"_"+m.key+"_filter";Cyberoam.createElement({tag:"span",title:"Click to Filter",className:"columnFilter",id:p,onclick:m.onFilter.click},c)}if(void 0!==m.group&&""!=m.group){c.setAttribute("colspan",m.group.length);for(var g=0;g<e.column[n].group.length;g++)if(void 0===e.column[n].group[g].type||"hidden"!=e.column[n].group[g].type){m=e.column[n].group[g],y="width:auto",c=Cyberoam.createElement({tag:"td",title:m.label,className:"tableheader"},trObject2);if(""!=m.width&&(y="width:"+m.width,c.setAttribute("width",m.width)),(u=Cyberoam.createElement({tag:"span",style:"float:left"},c)).innerHTML=m.label,m.isFilter)p=t+"_"+m.key+"_filter",Cyberoam.createElement({tag:"span",title:"Click to Filter",className:"columnFilter",id:p,onclick:m.onFilter.click},c)}}}}else s=a;if(null!=e.data&&e.data.length>0){for(var f=0;f<e.data.length;f++){var b="tabletext-bkgd";if("tbody"!=s.tagName.toLowerCase()){d=Cyberoam.createElement({tag:"tbody",id:"tbody"+f},s);1==e.dragDrop&&(d.style.cursor="move",d.draggable=!0,d.ondragstart=function(e){dragrow=e.target,dragTableId=dragrow.parentNode.id},d.ondragover=function(e){return e.preventDefault(),!1},d.ondrop=function(e){e.preventDefault();var t=Number(e.currentTarget.id.split("tbody")[1]),r=Number(dragrow.id.split("tbody")[1]);e.currentTarget.parentNode.id===dragTableId&&(t>r?s.childNodes[t+1].after(dragrow):s.childNodes[t+1].before(dragrow))},d.ondragend=function(e){dragend(e)});l=Cyberoam.createElement({tag:"tr"},d)}else l=Cyberoam.createElement({tag:"tr"},s);if(1==e.isChild&&void 0!==e.data[f].child){(c=Cyberoam.createElement({tag:"td",className:b},l)).setAttribute("width","20"),(u=Cyberoam.createElement({tag:"div",className:"dynamicRecordAdd"},c)).setAttribute("rowid",e.data[f][e.key]),u.setAttribute("rowindex",f),$(u).on("click",(function(){"dynamicRecordAdd"==this.className&&document.getElementById("tbody"+this.getAttribute("rowid")).childNodes[0].childNodes.length>2?(this.className="dynamicRecordDelete",document.getElementById("tbody"+this.getAttribute("rowid")).style.display="",document.getElementById("tbodyData"+this.getAttribute("rowid"))&&""==document.getElementById("tbodyData"+this.getAttribute("rowid")).innerHTML&&(e.child.id="tbodyData"+this.getAttribute("rowid"),e.child.data=[],""==e.child.key&&(e.child.key=e.key),0==e.child.column.length&&(e.child.column=e.column,e.child.noChildHeader=!0),e.child.noChildHeader&&(-1==navigator.userAgent.indexOf("MSIE")?document.getElementById("tbody"+this.getAttribute("rowid")).innerHTML="":$("#tbody"+this.getAttribute("rowid")).html(""),e.child.id="tbody"+this.getAttribute("rowid")),void 0!==e.data[this.getAttribute("rowindex")].child?e.child.data=e.data[this.getAttribute("rowindex")].child:e.child.data=[],r.createTable(e.child))):(this.className="dynamicRecordAdd",document.getElementById("tbody"+this.getAttribute("rowid")).style.display="none")}));d=Cyberoam.createElement({tag:"tbody",id:"tbody"+e.data[f][e.key],style:"display:none",className:"childTable"},s);var h=Cyberoam.createElement({tag:"tr"},d);Cyberoam.createElement({tag:"td"},h);1==e.checkBox&&Cyberoam.createElement({tag:"td"},h),Cyberoam.createElement({tag:"td",id:"tbodyData"+e.data[f][e.key],colspan:e.column.length+1},h)}else if(1==e.isChild||1==e.isThisChild)c=Cyberoam.createElement({tag:"td",className:b},l);if(1==e.checkBox){(c=Cyberoam.createElement({tag:"td",className:b},l)).setAttribute("width","20");u=Cyberoam.createElement({tag:"div",style:"width:20px"},c),Cyberoam.createElement({tag:"div",id:"checkbox_"+t+"_"+Cyberoam.replaceAll(e.data[f][e.key],"\\.","_"),className:"checkBox"},u);var C={id:"checkbox_"+t+"_"+Cyberoam.replaceAll(e.data[f][e.key],"\\.","_"),value:e.data[f][e.key],name:"checkbox"+t,click:function(){r.checkBoxAll.selectById("selectAll_"+t,!1)}};null!=e.checkBoxFormater&&e.checkBoxFormater(C,e.data[f]),this.checkBoxArray.push(C)}for(n=0;n<e.column.length;n++)if(void 0!==e.column[n].group&&""!=e.column[n].group){for(g=0;g<e.column[n].group.length;
2086g++)if(void 0===e.column[n].group[g].type||"hidden"!=e.column[n].group[g].type){var v="";void 0!==e.data[f][e.column[n].group[g].key]&&(v=e.data[f][e.column[n].group[g].key]);c=Cyberoam.createElement({tag:"td",className:b},l),y="width:100%";e.isHeaderVisible||(y="width:"+e.column[n].width+"px");u=Cyberoam.createElement({tag:"div",style:y},c);null!=e.column[n].group[g].formater?e.column[n].group[g].formater(u,v,e.data[f]):u.appendChild(document.createTextNode(v))}}else{if(void 0!==e.column[n].type&&"hidden"==e.column[n].type)continue;v="";void 0!==e.data[f][e.column[n].key]&&(v=e.data[f][e.column[n].key]);c=Cyberoam.createElement({tag:"td",className:b},l),y="width:100%";e.isHeaderVisible||(y="width:"+e.column[n].width+"px");u=Cyberoam.createElement({tag:"div",style:y},c);null!=e.column[n].formater?e.column[n].formater(u,v,e.data[f]):u.appendChild(document.createTextNode(v))}}this.checkBoxArray.length>0&&(this.checkBoxObject=new Cyberoam.CheckBox(this.checkBoxArray),this.checkBoxObject.create())}else{for(l=Cyberoam.createElement({tag:"tr"},s),n=0;n<e.column.length;n++)void 0!==e.column[n].group&&""!=e.column[n].group&&n;c=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd",colspan:e.column.length+1},l);(u=Cyberoam.createElement({tag:"div",style:"width:100%;"},c)).appendChild(document.createTextNode(Language.NoRecordsFound))}null!=e.postRenderEvent&&e.postRenderEvent()},Cyberoam.table.prototype.dragDropTableRow=function(){var e=document.getElementById("table_"+this.config.id);if(e){var t=e.childNodes.length,r=YAHOO.util.Dom,a=YAHOO.util.Event,o=YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget(e);for(j=1;j<t;j++)new YAHOO.example.DDList(e.childNodes[j].id)}},YAHOO.example.DDList=function(e,t,a){YAHOO.example.DDList.superclass.constructor.call(this,e,t,a);var o=this.getDragEl();r.setStyle(o,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,t){var r=this.getDragEl(),a=this.getEl();r.innerHTML="<table><tbody>"+a.childNodes[0].childNodes[1].innerHTML+"</tbody></table>"},endDrag:function(e){var t=this.getEl(),a=this.getDragEl();r.setStyle(a,"visibility","");var o=new YAHOO.util.Motion(a,{points:{to:r.getXY(t)}},.2,YAHOO.util.Easing.easeOut),n=a.id,i=this.id;o.onComplete.subscribe((function(){r.setStyle(n,"visibility","hidden"),r.setStyle(i,"visibility","")})),o.animate()},onDragDrop:function(e,t){if(1===o.interactionInfo.drop.length){var a=o.interactionInfo.point;if(!o.interactionInfo.sourceRegion.intersect(a)){var n=r.get(t);if("tbody"==n.nodeName.toLowerCase()){var i=o.getDDById(t);n.appendChild(this.getEl()),i.isEmpty=!1,o.refreshCache()}}}},onDrag:function(e){var t=a.getPageY(e);t<this.lastY?this.goingUp=!0:t>this.lastY&&(this.goingUp=!1),this.lastY=t},onDragOver:function(e,t){var a=this.getEl(),n=r.get(t),i=(a.parentNode,n.parentNode);"table"==i.nodeName.toLowerCase()&&(this.goingUp?i.insertBefore(a,n):i.insertBefore(a,n.nextSibling)),o.refreshCache()}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)}},Cyberoam.createNetMaskOptions=function(e,t,r,a){var o,n=new Object;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o.label="/"+e+" ("+i+")",
2086n[i]=o):(o.label="("+i+") /"+e,n[i]=o),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o.label="/"+t+" ("+i+")",n[i]=o):(o.label="("+i+") /"+t,n[i]=o),t--}return n}},Cyberoam.createSubnetPrefixOptions=function(e,t,r,a){var o,n=new Array;if(!(e<0||e>31||t<1||t>32)){if("asc"==r)for(;e<=t;){o=new Object;var i="0.0.0.0";0!=e&&(i=Cyberoam.convertNetBitsToNetmask(e)),"start"==a?(o={key:e,label:"/"+e+" ("+i+")"},n.push(o)):(o={key:e,label:"("+i+") /"+e},n.push(o)),e++}else for(;e<=t;){i="0.0.0.0";0!=t&&(i=Cyberoam.convertNetBitsToNetmask(t)),o=new Object,"start"==a?(o={key:t,label:"/"+t+" ("+i+")"},n.push(o)):(o={key:t,label:"("+i+") /"+t},n.push(o)),t--}return n}},Cyberoam.current_hash=window.location.hash,Cyberoam.pageHash={},Cyberoam.check_hash=function(){window.location.hash!=Cyberoam.current_hash&&"undefined"!=typeof menu&&void 0!==Cyberoam.pageHash[window.location.hash]&&(null!=Cyberoam.pageHash[window.location.hash].displayURL?menu.displayMenuByURL(Cyberoam.pageHash[window.location.hash].displayURL,Cyberoam.pageHash[window.location.hash].url):(menu.refreshMenu(),Cyberoam.setMainFrame(Cyberoam.pageHash[window.location.hash].url)))},Cyberoam.set_hash=function(e){for(var t in Cyberoam.pageHash)if(Cyberoam.pageHash[t].url==e)return window.location.hash=t,void(Cyberoam.current_hash=t);var r="#"+Math.floor(1e5*Math.random()+1);"undefined"!=typeof cpBreadcrumbs&&(Cyberoam.current_hash=r),window.location.hash=r},Cyberoam.validateMultipleEmail=function(e){if(!e)return Cyberoam.messageBox({message:Language.inputRequired.replace("{inputField}",Language.Mail.toLowerCase())}),!1;var t=!1,r=e.split(",");if(r.length>10)return Cyberoam.messageBox({message:Language.AddrEmailMaxLimitExceed}),!1;for(var a=0;a<r.length;a++){var o={textvalue:Cyberoam.trim(r[a]),i18nenable:!1,regexindex:Cyberoam.idxEmail};Cyberoam.validateInputWithValidCharacters(o)||(t=!0)}return!t||(Cyberoam.messageBox({message:Language.validInputRequired.replace("{inputField}",Language.Mail.toLowerCase())}),!1)},Cyberoam.Toggle=function(e){if(e)for(var t in this.toggleItems={id:"",name:"",label:"",value:"",click:null,width:null,checked:!1,disabled:!1,css:"",togglesize:""},e){if(null==this.toggleItems[t]&&null!=this.toggleItems[t]){Cyberoam.messageBox({message:"Wrong toggle property "+t});break}this.toggleItems[t]=e[t]}};var clickObject=function(e,t){t.click&&t.click(e)};Cyberoam.Toggle.prototype.generateToggle=function(e){if(document.getElementById(e.id)&&""==Cyberoam.trim(document.getElementById(e.id).innerHTML)){var t=document.getElementById(e.id);"small"==e.togglesize?jQuery(t).html("<input type='checkbox' name='"+e.id+"' id='"+e.id+"' /><label for="+e.id+"><div class='small'></div></label>"):jQuery(t).html("<input type='checkbox' name='"+e.id+"' id='"+e.id+"' /><label for="+e.id+"><div></div></label>");var r=document.getElementById(e.id).getElementsByTagName("input")[0];t.removeAttribute("id"),r.value=e.value,e.checked&&(r.checked=!0),e.disabled&&(e.checked?(r.checked=!0,r.disabled=!0):r.disabled=!0,r.disabled=!0),r.onclick=function(){clickObject(r,e)}}},Cyberoam.Toggle.prototype.create=function(){this.toggleItems;this.generateToggle(this.toggleItems)},Cyberoam.Toggle.prototype.getValueById=function(e){var t=document.getElementById(e);return"checkbox"==t.type&&1==t.checked&&(""==t.value||t.value)},Cyberoam.Toggle.prototype.selectById=function(e,t){var r=document.getElementById(e);r&&(t?r.checked||r.disabled||(r.checked=t):r.disabled||(r.checked=t))},Cyberoam.Toggle.prototype.disableById=function(e,t){var r=document.getElementById(e);r&&(r.disabled=t,t?r.disabled||(r.checked||(r.checked=t),r.disabled=t):r.checked?r.checked=!0:r.checked=!1)},Cyberoam.Toggle.prototype.isSelected=function(){var e=document.getElementById(this.toggleItems.id);return"checkbox"!=e.type||0!=e.checked},Cyberoam.Toggle.prototype.isDisabled=function(){var e=document.getElementById(this.toggleItems.id);return"checkbox"!=e.type||0!=e.disabled};var RadioComponent=function(e){if(this.selectedIndex=null,this.radioList=[],this.config,null!==e.id&&void 0!==e.id&&""!==e.id)if(null!==e.items&&void 0!==e.items&&""!==e.items){this.config=e;var t=this,r=$("#"+this.config.id);if(r.length>0){var a,o;r.addClass("radio-toolbar");for(var n="name_"+parseInt(1e4*Math.random().toFixed(4)),i=0;i<this.config.items.length;i++){var s="radio_"+parseInt(1e4*Math.random().toFixed(4));a=$("<input type='radio' id='"+s+"' name='"+n+"' value='"+this.config.items[i].value+"' >"),o=$("<label for='"+s+"'>"+Cyberoam.getTranslatedMSG(this.config.items[i].label)+"</label>"),a.on("click",(function(e){t.setValue(this.value)})),this.radioList.push(a[0]),r.append(a),r.append(o)}this._setValue(this.config.defaultValue?this.config.defaultValue:this.radioList[0].value)}}else Cyberoam.logger.error("Please pass appropriate items");else Cyberoam.logger.error("Please pass appropriate id")};function updateDeviceProperty(e,t){var r=JSON.parse(e);r&&(Cyberoam.deviceProperty=r),t()}RadioComponent.prototype._setValue=function(e){var t=!1;try{if(null===this.selectedIndex||e!==this.radioList[this.selectedIndex].value){for(var r=0;r<this.radioList.length;r++)this.radioList[r].value==e&&($(this.radioList[r]).prop("checked",!0),this.selectedIndex=r,t=!0);if(t)for(r=0;r<this.radioList.length;r++)$(this.radioList[r]).next().toggleClass(this.config.items[r].classname,this.radioList[r].checked)}}catch(e){Cyberoam.logger.error("Improper Value")}return t},RadioComponent.prototype.setValue=function(e){this._setValue(e)&&this.config.onchange&&this.config.onchange.call(this,e)},RadioComponent.prototype.getValue=function(){return this.radioList[this.selectedIndex].value},RadioComponent.prototype.setValueByIndex=function(e){try{this.setValue(this.config.items[e].value)}catch(e){Cyberoam.logger.error("Improper index.")}},Cyberoam.setEventStatusMessage=function(e){if("object"!=typeof e&&(e=YAHOO.lang.JSON.parse(e)),void 0!==e.entity&&void 0!==e.entity.map&&void 0!==e.status){if(void 0!==e.entity.map.Entity&&void 0!==e.entity.map.Event&&Cyberoam.eventstatus[e.entity.map.Entity].statusMappings[e.entity.map.Event][e.status]){var t=Cyberoam.eventstatus[e.entity.map.Entity].statusMappings[e.entity.map.Event][e.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(t),e.entity.map),e.status,e.content,e.contentType)}}else 599==e.status&&e.message&&Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(e.message),e.status)},Cyberoam.showLicDiv=function(e,t){if(e&&t){var r=document.getElementById(e);if(r&&!Cyberoam.checkModuleSebscription(t)){var a=null;if("Web Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebProtection):"Email Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.EmailProtection):"Network Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection):"Web Server Protection"==t?a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebserverProtection):"Sandstorm"==t&&(a=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.ZeroDayProtectionLowercase)),!a)return;
2086ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:a}),r),$(r).show()}}},Cyberoam.showXstreamMDRLicDiv=function(e){if(e){var t=document.getElementById(e);t&&(Cyberoam.checkModuleSebscription("ZeroDay Protection")&&Cyberoam.checkModuleSebscription("Central Orchestration")||(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.XstreamMDRLic}),t),$(t).show()))}},Cyberoam.showSandstormLicDiv=function(e,t){if(e&&t){var r,a=document.getElementById(e);if(a)Cyberoam.checkModuleSebscription("ZeroDay Protection")||("SandstormActivityManage"==t?r=Language.FeatureSandstormActivitySubscription:"SandstormSettingsEdit"!=t&&"SandstormActivityDetailManage"!=t||(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.ZeroDayProtectionLowercase)),ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:r}),a),$(a).show())}},Cyberoam.showNDRLicDiv=function(e){if(e){var t=document.getElementById(e);t&&(Cyberoam.checkModuleSebscription("NDR Essentials for Firewall")||(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.NDRLicense}),t),$(t).show()))}},Cyberoam.showNDRHaBanner=function(e){if(e){var t=document.getElementById(e);t&&(ReactDOM.render(React.createElement(Banner,{type:"warn",size:"medium",text:Message.NDRHaAANotSupported}),t),$(t).show())}},Cyberoam.showLicMsgFieldWise=function(e){if("object"==typeof e)for(var t=0;t<e.length;t++)if(!Cyberoam.checkModuleSebscription(e[t][1])){var r=null;if("Web Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebProtection):"Email Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.EmailProtection):"Network Protection"==e[t][1]?r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection):"Web Server Protection"==e[t][1]&&(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.WebserverProtection)),null!=r){var a="object"==typeof e[t][0]?e[t][0]:document.getElementById(e[t][0]),o='<div class="fa fa-exclamation-triangle" onmouseover="Cyberoam.showTooltip({data:Cyberoam.getLicMsg(\''+r+"')},this)\"></div>";$(a).html(o),$(a).show()}}},Cyberoam.getIPSLicMsg=function(e,t){var r=null;if(void 0!==t&&"off"==t?r=Cyberoam.getTranslatedMSG("Message.NetworkProtectionIPSNotification"):Cyberoam.checkModuleSebscription(e[0][1])||(r=Cyberoam.getTranslatedMSG("Message.FeatureSubscription").replace("{module}",Language.NetworkProtection)),null!=r){var a="object"==typeof e[0][0]?e[0][0]:document.getElementById(e[0][0]),o='<div class="fa fa-exclamation-triangle fa-ips-alert" onmouseover="Cyberoam.showTooltip({data:Cyberoam.getLicMsg(\''+r+"')},this)\"></div>";$(a).html(o),$(a).show()}},Cyberoam.getLicMsg=function(e){var t="<table cellpadding='0' cellspacing='2'>";return t=t+"<tr><td class='text' style='width:550px;'>"+e+"</td></tr>",t+="</table>"},Cyberoam.showTooltipDown=function(e,t){if(jQuery("#tooltipcustom")&&0!=$(t).offset().left){jQuery('<div id="tooltipcustom" style="width:auto;position:absolute"></div>').appendTo("#body");var r=[];r.push('<div class="tooltipWrapper">'),e.header&&r.push('<div class="tooltipheader"><div style="display:inline-block;">'+Cyberoam.getTranslatedMSG(e.header)+'</div><div style="float:right" class="tooltipclose" onclick=Cyberoam.closeTooltip();></div></div>'),r.push('<div id="tooltipbody">'),r.push(e.data),r.push("</div>"),r.push("</div>"),r.push("</div>"),$("#tooltipcustom").html(r.join("")),document.getElementById("tooltipcustom").style.zIndex=200*Cyberoam.pageLayer+10,$(t).on("mouseout",(function(e){Cyberoam.hideTooltip()})),$(t).on("mouseover",(function(e){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),$("#tooltipcustom").on("mouseout",(function(e){Cyberoam.hideTooltip()})),$("#tooltipcustom").on("mouseover",(function(e){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),Cyberoam.setLabelValue(document.getElementById("tooltipcustom"));var a=document.getElementById("tooltipcustom");jQuery("#tooltipcustom").height()>350&&(document.getElementById("tooltipbody").style.height="350px"),a.style.left=$(t).offset().left-jQuery("#tooltipcustom").width()+45+"px",jQuery("#tooltipcustom").height()+$(t).offset().top+$(t).height()>document.body.clientHeight?a.style.top=$(t).offset().top+$(t).outerHeight()+"px":a.style.top=$(t).offset().top+27+"px"}},Cyberoam.setMultiSelectControlData=function(e,t,r,a,o,n){var i;t&&((n.entity&&n.entity.map&&n.entity.map.ipfamily==Cyberoam.getPageRequestParameter("ipfamily")||void 0===Cyberoam.getPageRequestParameter("ipfamily"))&&(Cyberoam.getObjectID()<=0?o[t].config.data[n.entity.map.entityid.toString()]={label:n.entity.map.entityname,type:a}:n.entity&&n.entity.map&&n.entity.map.__newname?o[t].config.data[Cyberoam.getObjectID()]={label:n.entity.map.__newname,type:a}:null!=r&&(o[t].config.data[Cyberoam.getObjectID()]={label:n.entity.map[r],type:a}),i=o[t].object.getSelectedKeys(),Cyberoam.getObjectID()<=0?"Any"!=i?i.push(n.entity.map.entityid):i=[n.entity.map.entityid]:Cyberoam.getObjectID()>0&&("Any"==i?i=[Cyberoam.getObjectID()]:null!=i&&null!=i&&i.length>0&&-1==i.lastIndexOf(Cyberoam.getObjectID())&&i.push(Cyberoam.getObjectID())
2086),o[t].object.setRecord(i)))},window.onscroll=function(){$(document).scrollTop()?$("#topbar").addClass("topBarShadow"):$("#topbar").removeClass("topBarShadow")},Cyberoam.initMenuProperty=function(){objectArray={},"off"==Cyberoam.deviceProperty.quarantine&&(objectArray.QUARANTINE={}),"off"==Cyberoam.deviceProperty.icap&&(objectArray.ICAP={}),"off"==Cyberoam.deviceProperty.sslvpnpolicy&&(objectArray.SSL={}),0==Cyberoam.deviceProperty.redavailability&&(objectArray.RED={}),"off"==Cyberoam.deviceProperty.logsandreports&&(objectArray.LOGSREPORTS={}),"off"==Cyberoam.deviceProperty.ha&&(objectArray.HA={}),"off"==Cyberoam.deviceProperty.wirelessprotection&&(objectArray.awe={}),"off"==Cyberoam.deviceProperty.waf&&(objectArray.WAF={});var e=Cyberoam.deviceProperty.wlan,t=Cyberoam.deviceProperty.wirelessprotection;"off"==e&&"off"==t&&(objectArray["WLAN&MESH"]={}),"off"==e&&(objectArray.WLAN={}),"off"==t&&(objectArray.MESH={}),0==Cyberoam.deviceProperty.dlp?(objectArray.DLP={},objectArray.DLPMTA={}):"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?(objectArray.POLICIESMTA={},objectArray.DLPMTA={}):(objectArray.DLP={},objectArray.POLICIESPROXY={}),1!=Cyberoam.deviceProperty.dual_av&&(objectArray.MALWAREPROTECTION={}),"off"==Cyberoam.deviceProperty.spx?(objectArray.SPX={},objectArray.SPXMTA={}):"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.SPXMTA={}:objectArray.SPX={},"0"==Cyberoam.deviceProperty.heartbeatavailability&&(objectArray.HB={}),"off"==Cyberoam.deviceProperty.atp_feature&&(objectArray.ATP={}),"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.SMTPPROFILES={}:objectArray.SPAMRULE={},"enable"!=Cyberoam.deviceProperty.mta||"off"==Cyberoam.deviceProperty.mta_mode?objectArray.ADDRGRPMTA={}:objectArray.ADDRGRP={},"enable"==Cyberoam.deviceProperty.mta&&"off"!=Cyberoam.deviceProperty.mta_mode||(objectArray.HOSTRELAY={}),"enable"==Cyberoam.deviceProperty.mta&&"off"!=Cyberoam.deviceProperty.mta_mode||(objectArray.MAILSPOOL={}),"0"==Cyberoam.internetSchemeCount&&(objectArray.InternetScheme={}),"off"==Cyberoam.deviceProperty.ndr_feature&&(objectArray.NDR={})},Cyberoam.reinitializeMenu=function(){callBack=function(){Cyberoam.initMenuProperty(),menu.update(menuArr)},Cyberoam.getDeviceProperty(callBack)},Cyberoam.getDeviceProperty=function(e){var t="mode="+Modes.LIST_DEVICE_PROPERTY+"&json={}";Cyberoam.AJAXCall({url:"/Controller",postResponse:function(t){updateDeviceProperty(t,e)},method:"post",query:t,id:null})},Cyberoam.Store=function(){var e=function(e){return arguments.length>1&&(e=[]).push.apply(e,arguments),(e=e||[]).filter((function(e){return"function"==typeof e})).reduceRight((function(e,t){return e?t(e):t}),null)};return{applyMiddleware:function(){var t=[];return t.push.apply(t,arguments),function(r){return function(a,o){var n=r(a,o),i={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},s=t.map((function(e){return e(i)})),d=e(s.concat(n.dispatch));return $.extend({},n,{dispatch:d})}}},batcher:function(e){return function(t,r){return Array.isArray(r)?r.filter((function(e){return!!e})).reduce(e,t):e(t,r)}},combineReducers:function(e){return function(t,r){return Object.keys(e).reduce((function(a,o){return a[o]=e[o](t?t[o]:null,r),a}),{})}},compose:e,createStore:function e(t,r,a){var o="function"==typeof r?void 0:r,n=[],i=function(e){"function"==typeof t&&(o=t(o,e)),n.forEach((function(t){return t(e)}))};return"function"==typeof r&&(a=r,r=void 0),"function"==typeof a?a(e)(t,r):(r||i({}),{dispatch:i,getState:function(){return o},subscribe:function(e){return"function"==typeof e&&(n=n.concat(e)),function(){n=n.filter((function(t){return t!==e}))}}})}}}(),Cyberoam.ReactStore={connect:function(e,t,r,a){return function(o){return class extends React.Component{constructor(e){super(e),this.state={}}componentDidMount(){(void 0===a||a&&!a.pure)&&(this.unsubscribe=r.subscribe((()=>{this.forceUpdate()})))}render(){e=e||(()=>({})),t=t||(()=>({}));const a=Object.assign({},e(r.getState()),t(r.dispatch));return React.createElement(o,Object.assign({},a,this.props))}componentWillUnmount(){this.unsubscribe&&this.unsubscribe()}}}}},Cyberoam.EventStream=function(){function e(e){this.dispose=e}function t(e,t,r){"object"==typeof e?(this.onNext=e.onNext||$.noop,this.onError=e.onError||$.noop,this.onCompleted=e.onCompleted||$.noop):(this.onNext=e||$.noop,this.onError=t||$.noop,this.onCompleted=r||$.noop)}
2086function r(e){this._forEach=e}return r.ajax=function(e){return r.create((function(t){var r=$.ajax($.extend({},e,{success:function(e){return t.onNext(e)}}));return function(){return r.abort()}}))},r.create=function(t){return new r((function(r){return new e(t(r))}))},r.delay=function(e){return r.create((function(t){var r=setTimeout((function(){return t.onNext()}),e);return function(){return clearTimeout(r)}}))},r.interval=function(e){var t=0;return r.create((function(r){var a=setInterval((function(){return r.onNext(t++)}),e);return function(){return clearInterval(a)}}))},r.fromEvent=function(e,t){return r.create((function(r){var a=function(e){return r.onNext(e)};return e.addEventListener(t,a),function(){return e.removeEventListener(t,a)}}))},r.fromReader=function(e){return r.create((function(t){var r=new FileReader;return r.addEventListener("loadend",(function(e){return t.onNext(e)})),r.readAsDataURL(e),function(){return r.abort()}}))},r.prototype={debounce:function(e){var t=this;return new r((function(a){var o={time:null,data:null},n=void 0;return t._forEach({onNext:function(t){var i=(new Date).getTime();(!o.data||o.data&&i-o.time<e)&&(o.data=t,o.time=i),n&&n.dispose(),n=r.delay(e).forEach((function(){a.onNext(o.data),o.data=null}))},onError:function(){a.onError(),subscription.dispose(),n.dispose()},onCompleted:function(){a.onCompleted(),n.dispose()}})}))},distinct:function(e,t){var a=this;return new r((function(r){var o=[],n={};
2086return a._forEach({onNext:function(a){n.data="function"==typeof e?e(a):a,0!==o.length&&void 0!==t||(o=o.concat(n.data),r.onNext(a));for(var i=!0,s=0;s<o.length;s++)t(o[s],n.data)||(i=!1);i&&(o=o.concat(n.data),r.onNext(a))},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},distinctUntilChanged:function(e,t){var a=this;return new r((function(r){var o={},n={};return a._forEach({onNext:function(a){if(n.data="function"==typeof e?e(a):a,void 0===o.data||void 0===t)return o.data=n.data,r.onNext(a);t(o.data,n.data)&&(r.onNext(a),o.data=n.data)},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},doAction:function(e,a,o){var n=this,i=new t(e,a,o);return new r((function(e){return n._forEach({onNext:function(t){i.onNext(t),e.onNext(t)},onError:function(t){i.onError(t),e.onError(t)},onCompleted:function(){i.onCompleted(),e.onCompleted()}})}))},filter:function(e){var t=this;return new r((function(r){return t._forEach({onNext:function(t){"function"==typeof e&&e(t)&&r.onNext(t)}})}))},forEach:function(e,r,a){var o=new t(e,r,a);return this._forEach(o)},map:function(e){var t=this;return new r((function(r){return t._forEach({onNext:function(t){t="function"==typeof e?e(t):t,r.onNext(t)},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}})}))},subscribe:function(e,t,r){return this.forEach(e,t,r)},switchLatest:function(){var e=this;return new r((function(t){var r={subscription:null};return e._forEach({onNext:function(e){r.subscription&&r.subscription.dispose(),r.subscription=e.forEach((function(e){t.onNext(e)}))},onError:function(e){t.onError(e)},onCompleted:function(){t.onCompleted()}})}))},take:function(e){var t=this;return new r((function(r){var a=0,o=t._forEach({onNext:function(t){r.onNext(t),++a===e&&(o.dispose(),r.onCompleted())},onError:function(e){r.onError(e)},onCompleted:function(){r.onCompleted()}});return o}))},takeUntil:function(e){var t=this;return new r((function(r){var a=t._forEach(r),o=e.forEach((function(){a.dispose(),o.dispose(),r.onCompleted()}));return a}))}},r}();var Functor=function(e){this.value=e};Functor.of=function(e){return new Functor(e)},Functor.prototype.map=function(e){return new Functor(e(this.value))},Functor.prototype.extend=Functor.prototype.map,Functor.prototype.val=function(){return this.value};var composeFunction=function(){return[].slice.call(arguments).filter((function(e){return"function"==typeof e})).reduce((function(e,t){return function(){return e?e.call(null,t.apply(null,arguments)):t.apply(null,arguments)}}),null)};Cyberoam.getPropertyDeep=function(e,t,r){return(e=e[(t=Array.isArray(t)?t:t.split("."))[0]])&&t.length>1?Cyberoam.getPropertyDeep(e,t.slice(1),r):void 0===e?r:e},Cyberoam.managePageRefreshHelper=function(e,t,r){var a=Cyberoam.getPropertyDeep(e,t);a?r(!1,a.length):r()},Cyberoam.fetchKeys=function(e,t){return t.children||(e=e.concat({key:t.key})),t.children&&(e=e.concat(t.children.map((function(e){return{key:e.key}})))),e},Cyberoam.isCloneOperation=function(e){return Cyberoam.getOperation()===e.toString()&&parseInt(Cyberoam.getObjectID(),10)>0},Cyberoam.isUpdateOperation=function(e){return Cyberoam.getOperation()===e.toString()},Cyberoam.getIndexedName=function(e,t,r){const a=t.reduce((function(e,t){return e[t]=!0,e}),{});var o=0,n=e;do{const e=(n+" "+ ++o).length-r;if(e>0){if(n.length<e)return null;n=n.substr(0,n.length-e),o=1}}while(a[n+" "+o]);return n+" "+o},Cyberoam.replaceObjectValueInList=function(e,t,r,a){for(var o in e)e[o][t]===r&&(e[o][t]=a)},Cyberoam.replaceAllWebTrafficValue=function(e){Cyberoam.replaceObjectValueInList(e,"label",CategoryConstants.ORIGINAL_ALL_WEB_TRAFFIC,Language.ALLWebTraffic)},Cyberoam.togglePolicyLegacyWarning=function(e){var t=e.webfilterid.object.getSelectedKeys(),r=e.webfilterid.config.data[t];("NetworkPolicyEdit"===Cyberoam.pageObject[Cyberoam.pageLayer].module||"NetworkPolicyEdit"===Cyberoam.parentPage())&&NetworkPolicyEObject.proxymode.object.getValueById("proxymode")||!r||r.safesearch_enabled!==Cyberoam.DB.TRUE&&r.youtubefilter_enabled!==Cyberoam.DB.TRUE&&r.googapp_allowed_domains_enabled!==Cyberoam.DB.TRUE&&r.xff_enabled!==Cyberoam.DB.TRUE&&r.office365_tenant_restrict_enabled!==Cyberoam.DB.TRUE?$(".policyLegacyWarning").hide():$(".policyLegacyWarning").show()}
2086,Cyberoam.handleEscapeKey=function(e){27===e.keyCode&&e.data&&"function"==typeof e.data.cb&&e.data.cb()},Cyberoam.ellipsizeTextBox=function(e){return e&&e.length>28&&(" , "===(e=e.substring(0,37)).substr(e.length-3)?e=e.substring(0,34):" ,"===e.substr(e.length-2)?e=e.substring(0,35):" "===e.substr(e.length-1)?e=e.substring(0,36):e.length>33&&(e=e.substring(0,31)),e+="..."),e},Cyberoam.isValidCert=function(e){var t=100,r=101;if(!Cyberoam.getDataObject.CAListWithStatus||!e)return!0;var a=JSON.parse(Cyberoam.getDataObject.CAListWithStatus);return a[e].status===t||a[e].status===r},Cyberoam.getCertStatus=function(e){return JSON.parse(Cyberoam.getDataObject.CAListWithStatus)[e].status},Cyberoam.toggleCertWarning=function(e,t){if(Cyberoam.isValidCert(e))$("#"+t+"cert-error div").hide();else{var r=Cyberoam.getCertStatus(e);$("#"+t+"cert-error div").hide(),102===r?$("#"+t+"-missing-cert").show():103===r?$("#"+t+"-expired-cert").show():$("#"+t+"-fatal-cert").show()}},Cyberoam.addUniqueItemToList=function(e,t){return-1===e.indexOf(t)&&e.push(t),e},Cyberoam.scrollIntoViewIfNeeded=function(e,t){var r=t.offset().top,a=r+t.height(),o=e.offset().top,n=o+e.height();o<r&&(t[0].scrollTop=e[0].offsetTop-50),n>a&&(t[0].scrollTop=e[0].offsetTop-t.height()+50)},Cyberoam.sortLowerCaseAlphabetically=function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:1},Cyberoam.getBrowserZoomRatio=function(){return Math.ceil((window.outerWidth-8)/window.innerWidth*10)/10},Cyberoam.isInDomain=function(e,t){if(!e||!t)return!1;if(e=e.toLowerCase(),t=t.toLowerCase(),e.length<t.length)return!1;if(e===t)return!0;var r=e.split(".").reverse(),a=t.split(".").reverse();if(r.length<a.length)return!1;for(var o in a)if(r[o]!==a[o])return!1;return!0},Cyberoam.languageNeutralSort=function(e,t,r){return null==t?e.sort(((e,t)=>e.toString().localeCompare(t.toString(),Cyberoam.getCCLLocale()))):e.sort(((e,a)=>{if(r){const t=e.key,o=a.key;if(t===r)return-1;if(o===r)return 1}const o=Cyberoam.getPropertyDeep(e,t),n=Cyberoam.getPropertyDeep(a,t);return void 0===o||void 0===n?0:o.toString().localeCompare(n.toString(),Cyberoam.getCCLLocale())}))},Cyberoam.getOrCreateElement=function(e,t){const r=document.getElementById(e);if(null==r){const r=document.createElement("div");return r.id=e,t&&(r.style=t),document.body.appendChild(r),r}return r.innerHTML="",t&&(r.style=t),r},Cyberoam.integerSort=function(e,t,r,a){var o=0;if("boolean"!=typeof r)return Cyberoam.logger.log("integerSort desc isn't boolean: "+r),o;if("string"!=typeof a||!a)return Cyberoam.logger.log("integerSort field parameter isn't correct: "+a),o;if("object"!=typeof e||null==e._oData||null==e._oData[a]||!e._oData[a].match(/^\-?\d+$/))return Cyberoam.logger.log("integerSort parameter a isn't correct"),o;if("object"!=typeof t||null==t._oData||!t._oData[a].match(/^\-?\d+$/))return Cyberoam.logger.log("integerSort parameter b isn't correct"),o;var n=parseInt(e._oData[a]),i=parseInt(t._oData[a]);return o=n<i?-1:n==i?0:1,r&&(o*=-1),o},Cyberoam.objectReference={usageRefreshTime:""},Cyberoam.objectReference.usageColumnFormatter=function(e,t,r,a,o,n,i){var s=t.getData("usages");void 0!==t.getData("usages")&&null!=t.getData("usages")||(s="0"),void 0!==t.getData("updatedat")&&null!=t.getData("updatedat")&&(Cyberoam.objectReference.usageRefreshTime=t.getData("updatedat"));var d="";if("0"==s)d=Cyberoam.createElement({tag:"a",className:"usage_count_0",title:s});else{d=Cyberoam.createElement({tag:"a",className:"usage_count",title:s});var l="/objects/ObjectReference.html";l=l+"?entity="+encodeURIComponent(o)+"&id="+encodeURIComponent(n)+"&name="+encodeURIComponent(i),d.onclick=function(){Cyberoam.showPopup({URL:l,width:680,height:420,hideCloseButton:!0,title:i})}}d.onmouseover=function(){var e='<div><span style="float:left;padding-right:10px;">'+Cyberoam.getTranslatedMSG("Language.ReferenceTooltip1").replace("{usages}",s)+'</span></div><div><span style="float:left;padding-right:10px;">'+Cyberoam.getTranslatedMSG("Language.ReferenceTooltip2").replace("{timeline}",Cyberoam.objectReference.usageRefreshTime)+"</span></div>";Cyberoam.showTooltip({data:e},d)},d.appendChild(document.createTextNode(s)),e.appendChild(d)},Cyberoam.objectReference.usageRefreshOver=function(e){var t='<div><span style="float:left;padding-right:10px;">'+Language.ReferenceRefreshTooltip1+'</span></div><div><span style="float:left;padding-right:10px;">'+Language.ReferenceRefreshTooltip2+" <b>"+Cyberoam.objectReference.usageRefreshTime+"</b></span></div>";Cyberoam.showTooltip({data:t},e)},Cyberoam.objectReference.usageRefreshRequest=function(e,t){var r={entity:e};Cyberoam.AJAXCall({method:"post",dataType:"json",url:"/Controller?",query:"mode=3218&json="+JSON.stringify(r),postResponse:t})},Cyberoam.DecompressIpv6Address=function(e){if(-1===e.indexOf("::"))return e;for(var t=e.split(":"),r=9-t.length,a="",o=0;o<r;o++)a+="0000:";
2086t=(e=e.replace("::",":"+a)).split(":");for(o=0;o<t.length;o++)t[o]=t[o].padStart(4,"0");return t.join(":")},Cyberoam.AlphaNumericSorting=function(e,t){let r=new Intl.Collator("en",{numeric:!0,ignorePunctuation:!0,caseFirst:"upper"});return e.sort((function(e,a){return r.compare(e[t],a[t])}))},Cyberoam.YUI={restoreTableSettings:function(e){try{var t=JSON.parse(localStorage.getItem("tableSettings"));t?.[e]?.columns&&t[e].columns.forEach((function(t){document.querySelectorAll("#"+e+" ."+t.id)[0].setAttribute("width",t.width)}))}catch(t){Cyberoam.logger.error("Error while restoring column width for tableId: ",e,t)}},storeTableSettings:function(e,t,r){try{var a="yui-dt-col-"+t,o=[],n=JSON.parse(localStorage.getItem("tableSettings"));n?.[e]?(0===(o=n[e].columns).filter((function(e){return e.id===a})).length?o.push({id:a,width:r+"px"}):o.forEach((function(e){e.id===a&&(e.width=r+"px")})),n[e]={columns:o},n=JSON.stringify(n)):(o.push({id:a,width:r+"px"}),n?(n[e]={columns:o},n=JSON.stringify(n)):n=JSON.stringify({[e]:{columns:o}})),localStorage.setItem("tableSettings",n)}catch(t){Cyberoam.logger.error("Error while storing column width for tableId: ",e,t)}}};function CyberoamForm(){this.fields=[]}function CyberoamTableHeader(e){this.component=e}function CyberoamTable(e){this.dt=e}Cyberoam.initEntityObject=function(e,t){try{for(var o in t)t.hasOwnProperty(o)&&(t[o].key=o,Cyberoam.createEntity(e,t[o],t),null!=e&&Cyberoam.setDataObjectValue(e,t[o],t));void 0!==Cyberoam.pageObject&&void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject=t)}catch(e){Cyberoam.messageBox({message:e})}},document.onkeydown=function(e){void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.setShortcutKey(e,Cyberoam.pageObject[Cyberoam.pageLayer].entityObject)},Cyberoam.autocomple=!1,Cyberoam.textonkeypress=function(e,t,o,a,n){var i=new Cyberoam.Event(e);if(i&&13==i.getKeyCode()){if(Cyberoam.autocomple!=t.value)return;for(var r in a)if("button"==a[r].objType&&0==a[r].object.disabled&&a[r].config&&(a[r].config.title==Cyberoam.getTranslatedMSG(Language.Ok)||a[r].config.title==Cyberoam.getTranslatedMSG(Language.Save))&&t.form.name==a[r].object.form.name){if(Cyberoam.generateRequest(a,a[r],n)){i.clearKeyCode();break}return void i.clearKeyCode()}}},Cyberoam.createEntity=function(e,t,o){switch(t.objType){case"textbox":case"password":if(void 0!==t.config&&void 0!==t.config.id&&document.getElementById(t.config.id))t.object=null,t.object=new Cyberoam.password(t.config),t.object.create();else{if(void 0===t.object.length)t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.maxlength&&t.object.setAttribute("maxLength",t.config.maxlength),t.config&&t.config.disable&&(t.object.disabled=!0);else for(var a=0;a<t.object.length;a++)t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.maxlength&&t.object[a].setAttribute("maxLength",t.config.maxlength),t.config&&t.config.disable&&(t.object[a].disabled=!0);$(t.object).on("keypress",(function(e){var t=new Cyberoam.Event(e);t&&13==t.getKeyCode()&&(Cyberoam.autocomple=this.value)})),$(t.object).on("keyup",(function(a){Cyberoam.textonkeypress(a,t.object,t,o,e)}))}break;case"address":t.object=new Cyberoam.Address(t.config),t.object.create();break;case"radio":t.config&&t.config.option&&(t.config.dynamic?Cyberoam.createRadio(t,t.config.option):Cyberoam.setRadioValues(t.object,t.config.option));for(a=0;a<t.object.length;a++){var n=$(t.object[a]),i=n.attr("id");n.next("label").attr("for",i)}t.config&&t.config.disable&&Cyberoam.setRadioDisable(t.object);break;case"checkbox":void 0!==t.config.option&&t.config.dynamic?Cyberoam.createMultipleChkBox(t):(t.object=new Cyberoam.CheckBox(t.config),t.object.create());break;case"selectbox":if(t.config&&t.config.disable&&(t.object.disabled=!0),t.config&&t.config.option)if(void 0===t.object.length||0==t.object.length||t.object[0]&&"option"==t.object[0].tagName.toLowerCase())Cyberoam.createOptions(t.config.option,t.object);else for(a=0;a<t.object.length;a++)Cyberoam.createOptions(t.config.option,t.object[a]);break;case"textarea":t.config&&t.config.title&&(t.object.placeholder=t.config.title),t.config&&t.config.disable&&(t.object.disabled=!0),t.object.className="textareacss";break;
2086case"CRController":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.CRController(t.config),t.object.create());break;case"SingleSelector":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.SingleSelector,{config:t.config}),document.getElementById(t.config.id)),t.config.popupDiv&&Cyberoam.hideShowWidgetPopupTR(t.config.popupDiv,"none"));break;case"MultiSelector":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.MultiSelector,{config:t.config}),document.getElementById(t.config.id)),t.config.popupDiv&&Cyberoam.hideShowWidgetPopupTR(t.config.popupDiv,"none"));break;case"selectionBox":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.SelectionBox(t.config),t.object.create());break;case"MultiInputList":document.getElementById(t.config.id)&&(t.object=null,t.object=ReactDOM.render(React.createElement(Cyberoam.MultiInputList,{config:t.config}),document.getElementById(t.config.id)));break;case"multilist":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.MultListBox(t.config),t.object.create());break;case"datatable":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.DataTable(t.config),t.object.create());break;case"combobox":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.combobox(t.config),t.object.create());break;case"button":t.object&&(t.config&&null!=t.config.title&&(!Cyberoam.isCloneRule()||t.config.title!=Cyberoam.getTranslatedMSG(Language.Ok)&&t.config.title!=Cyberoam.getTranslatedMSG(Language.Save)?t.object.value=Cyberoam.getTranslatedMSG(t.config.title):t.object.value=Cyberoam.getTranslatedMSG(Language.Clone)),Cyberoam.addListener(t.object,"click",(function(){void 0!==Cyberoam.prevResponseStatus&&598!=Cyberoam.prevResponseStatus&&Cyberoam.setStatusBarMessage("",""),Cyberoam.generateRequest(o,t,e)}),!0));break;case"div":t.object&&(t.config&&null!=t.config.title&&(t.object.innerHTML=Cyberoam.getTranslatedMSG(t.config.title)),Cyberoam.addListener(t.object,"click",(function(){t.config.click(o)}),!0));break;case"file":t.object.id=t.key;break;case"ipfamily":document.getElementById(t.config.id)&&(t.object=null,t.object=new Cyberoam.InternetProtocol(t.config),t.object.create());break;case"toggle":t.object=new Cyberoam.Toggle(t.config),t.object.create();break;case"radiocomponent":t.object=new RadioComponent(t.config)}Cyberoam.setEvents(t,o)},Cyberoam.getDomObject=function(e){return e.domId&&(e=$.extend(e,{object:document.getElementById(e.domId)})),e.domName&&(e=$.extend(e,{object:document.getElementsByName(e.domName)})),e},Cyberoam.reduceEntityObject=function(e,t){return e[t.key]=t,e},Cyberoam.getCheckboxOpcodeValue=function(e,t){return e.config[0].value===("true"===t[0])},Cyberoam.getRadioOpcodeValue=function(e){var t=Cyberoam.getRadioValue(e.object);return parseInt(t,10)},Cyberoam.getSelectboxOpcodeValue=function(e,t){return t=t[0],parseInt(t,10)},Cyberoam.deleteEntities=function(e,t,o){Cyberoam.messageBox({confirm:!0,message:Language.DeleteMultiConfirm,afterOk:function(){Cyberoam.AJAXCall({dataType:"json",method:"post",postResponse:function(e){200===e.status?t():"function"==typeof o&&o()},query:$.param(e),url:"/Controller"})}})},Cyberoam.escapeValue=function(e){return e=Cyberoam.replaceAll(e,"\\","\\\\"),e=Cyberoam.replaceAll(e,"'","\\'")},Cyberoam.bypassEscape=function(e,t){return t.objType===e&&(t.arrayEnable=!0,t.config.escap=!1),t},Cyberoam.bypassEscapeCheckbox=function(e){return Cyberoam.bypassEscape("checkbox",e)},Cyberoam.bypassEscapeRadio=function(e){return Cyberoam.bypassEscape("radio",e)},Cyberoam.bypassEscapeSelectbox=function(e){return Cyberoam.bypassEscape("selectbox",e)},Cyberoam.setEvents=function(e,t){if(e.events)for(var o in e.events)if("radio"==e.objType)for(var a=0;a<e.object.length;a++)"INPUT"==e.object[a].tagName.toUpperCase()&&(e.object[a].setAttribute("key",e.key),"click"==o&&(e.object[a].onclick=function(){var e=this.getAttribute("key");t[e].events[o](this,o,t)}));else"checkbox"==e.objType||Cyberoam.addListener(e.object,o,(function(){e.events[o](e.object,e.key,t)}),!0)},Cyberoam.setDataObjectValue=function(e,t,o){if(t.config&&null!=t.config.formater)t.config.formater(t,e.Record[t.key],e,o);else if(e.Record&&null!=e.Record[t.key])switch(t.objType){case"password":case"combobox":case"CRController":case"SingleSelector":case"MultiSelector":case"MultiInputList":case"selectionBox":case"multilist":break;case"textbox":case"textarea":if("name"==t.type&&Cyberoam.getObjectID()>0&&(t.oldValue=e.Record[t.key]),void 0===t.object.length)null!=e.Record[t.key]&&Cyberoam.setTextBoxValue(t.object,e.Record[t.key]);else for(var a=0;a<t.object.length;a++)null!=e.Record[t.key][a]&&Cyberoam.setTextBoxValue(t.object[a],e.Record[t.key][a]);break;case"radio":null!=e.Record[t.key]&&Cyberoam.setRadioValue(t.object,e.Record[t.key]);break;case"address":null!=e.Record[t.key]&&t.object.set(e.Record[t.key]);break;case"checkbox":case"toggle":null!=t.formater?t.formater(t,e.Record[t.key],e,o):null!=e.Record[t.key]&&Cyberoam.setCheckBoxValue(t,e.Record[t.key]);break;case"selectbox":if(null!=e.Record[t.key])if("object"!=typeof e.Record[t.key])Cyberoam.setSelectBoxValue(t.object,e.Record[t.key]);else if(void 0===t.object.length||0==t.object.length||t.object[0]&&"option"==t.object[0].tagName.toLowerCase())for(a=0;a<e.Record[t.key].length;a++)Cyberoam.setSelectBoxValue(t.object,e.Record[t.key][a]);else for(a=0;a<t.object.length;a++)Cyberoam.setSelectBoxValue(t.object[a],e.Record[t.key][a]);break;case"hidden":!t.value&&e.Record[t.key]&&null!=e.Record[t.key]&&(t.value=e.Record[t.key]);break;case"radiocomponent":null!=e.Record[t.key]&&t.object._setValue(e.Record[t.key])}},Cyberoam.createRadio=function(e,t){for(var o in t)0==o?jQuery('<input type="radio" name="'+e.config.id+'" id="'+(e.config.id+o)+'" value="'+o+'" checked = "checked"/><label for="'+(e.config.id+o)+'">'+Cyberoam.getTranslatedMSG(t[o].label)+"</label>").appendTo(document.getElementById(e.config.id)):jQuery('<input type="radio" name="'+e.config.id+'" id="'+(e.config.id+o)+'" value="'+o+'" /><label for="'+(e.config.id+o)+'">'+Cyberoam.getTranslatedMSG(t[o].label)+"</label>").appendTo(document.getElementById(e.config.id));e.object=[];var a=document.getElementsByName(e.config.id);for(o=0;o<a.length;o++)"input"==a[o].tagName.toLowerCase()&&e.object.push(a[o])},Cyberoam.createMultipleChkBox=function(e){var t=[],o=null;void 0!==e.config.click&&(o=e.config.click);var a=0;for(i in e.config.option)e.config.option.hasOwnProperty(i)&&(jQuery('<div id="chk'+e.key+a+'" ></div>').appendTo("#"+e.config.id),t.push({id:"chk"+e.key+a,label:e.config.option[i].label,name:e.key,value:i,click:o,width:e.config.width}),a++);e.config=t,e.object=new Cyberoam.CheckBox(t),e.object.create()},Cyberoam.createOptions=function(e,t){if(t&&e){if(void 0!==t.length){for(var o in e)if(e.hasOwnProperty(o)){var a=o;void 0!==e[o].key&&(a=e[o].key),void 0===e[o].label?t.options[t.length]=new Option(a,a):"Error"==e[o].label?t.options[t.length]=new Option(e[o].label,a):t.options[t.length]=new Option(Cyberoam.getTranslatedMSG(e[o].label),a)}}else for(var o in e)if(e.hasOwnProperty(o)){a=o;void 0!==e[o].key&&(a=e[o].key),void 0===e[o].label?jQuery('<option value="'+a+'">'+a+"</option>").appendTo(t):jQuery('<option value="'+a+'">'+Cyberoam.getTranslatedMSG(e[o].label)+"</option>").appendTo(t)}}else Cyberoam.messageBox({message:"One Object as argument is missing"})},Cyberoam.setRadioDisable=function(e){for(var t=0;t<e.length;t++)e[t].disabled=!0},Cyberoam.setRadioEnable=function(e){for(var t=0;t<e.length;t++)e[t].disabled=!1},Cyberoam.setTextBoxValue=function(e,t){e.value=t},Cyberoam.setRadioValues=function(e,t){for(var o=0;o<e.length;o++)0==o&&(e[0].checked=!0),e[o].value=t[o]},Cyberoam.setRadioValue=function(e,t){for(var o=0;o<e.length;o++)e[o].value==t&&(e[o].checked="checked")}
2086,Cyberoam.setCheckBoxValue=function(e,t){if(void 0===e.config.length)e.config.value==t&&e.object.selectById(e.config.id,!0);else for(var o=0;o<e.config.length;o++)if("object"!=typeof t)e.config[o].value==t&&e.object.selectById(e.config[o].id,!0);else for(var a=0;a<t.length;a++)e.config[o].value==t[a]&&e.object.selectById(e.config[o].id,!0)},Cyberoam.setSelectBoxValue=function(e,t){for(var o=0;o<e.options.length;o++)e.options[o].value==t&&(e.options[o].selected=!0)},Cyberoam.setCRControllerValue=function(e,t){for(var o=0;o<t.length;o++){var a=t[o].label;t=t[o].key;setCRCValue(e.id,a,t)}},Cyberoam.setListValue=function(e,t){var o=new Array;if(""!=t){for(var a=0;a<t.length;a++)o[a]=t[a].label;insertListItems(e.id,o)}},Cyberoam.setDefaultText=function(e,t,o){e&&($(e).on("focus",(function(){Cyberoam.textEmptyFocus(e,t,o)})),$(e).on("blur",(function(){Cyberoam.textEmptyBlur(e,t,o)})),(null!=e&&""==e.value||e.value==t)&&Cyberoam.textEmptyFocus(e,t,o))},Cyberoam.setMultiListValue=function(e,t,o){var a=new Array,n=new Array;if(""!=t){for(var i=0;i<o.length;i++)n[i]=o[i].label;for(i=0;i<t.length;i++)a[i]=t[i].label;insertMultiListElements(e.id,n),insertMultiListSelElements(e.id,a)}},Cyberoam.validateNotNull=function(e,t){var o,a=null;return a=void 0===t?e.object:e.object[t],"password"==e.objType?""!=a.value&&null!=a.value&&a.value!=e.config.title||(null==e.label&&(e.label=e.key),Cyberoam.messageBox({message:Language.inputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase()),afterOk:function(){a.focus()},afterCancel:function(){a.focus()}}),!1):""!=Cyberoam.trim(a.value)&&null!=a.value&&Cyberoam.trim(a.value)!=e.config.title||(e.config.customMessage?o=e.config.customMessage:(void 0===e.label&&(e.label=e.key),o=Language.inputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase())),Cyberoam.messageBox({message:o,afterOk:function(){a.focus()},afterCancel:function(){a.focus()}}),!1)},Cyberoam.validateMaxLength=function(e,t){var o=null;return o=void 0===t?e.object:e.object[t],!(""!=Cyberoam.trim(o.value)&&Cyberoam.trim(o.value)!=e.config.title&&Cyberoam.trim(o.value).length>e.config.maxlength)||(null==e.label&&(e.label=e.key),Cyberoam.messageBox({message:Language.MaximumCharactersRequired.replace("{maxlength}",e.config.maxlength).replace("{label}",Cyberoam.getTranslatedMSG(e.label)),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}),!1)},Cyberoam.evali18nFlag=function(e,t){if("InputWithValidCharacters"==t.config.type){var o=Cyberoam.legalChars[t.config.regexindex].i18nvalidation,a=!0;o&e||o&void 0===e?a=!0:(o&!e||!o&e||!o&!e)&&(a=!1)}else a=e;return a},Cyberoam.validateType=function(e,t){var o=null;if(""!=(o=void 0===t?e.object:e.object[t]).value){var a,n,i=Cyberoam.trim(o.value),r=e.config.regexindex;i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'"),e.config.regexindex==Cyberoam.idxMAC&&(e.object.value=e.object.value.replace(/-/g,":"));var c=500;if(e.config)if("address"==e.config.type){e.config.typeConfig.ip=i;var l=new Cyberoam.Address(e.config.typeConfig);n=l.validate(),c=l.getErrorStatus()}else e.config.enablei18n?"InputWithValidCharacters"==e.config.type||"InputWithInvalidCharacters"==e.config.type?(a={textvalue:i,i18nenable:Cyberoam.evali18nFlag(!0,e),regexindex:r},n=Cyberoam["validate"+e.config.type](a,e)):n=Cyberoam["validate"+e.config.type](i):"InputWithValidCharacters"==e.config.type||"InputWithInvalidCharacters"==e.config.type?(a={textvalue:i,i18nenable:Cyberoam.evali18nFlag(!1,e),regexindex:r},n=Cyberoam["validate"+e.config.type](a,e)):n=Cyberoam["validate"+e.config.type](i,!1);if(n)return!0;null==e.label&&(e.label=e.key);e.config.type;return e.config.customMessage?Cyberoam.messageBox({message:e.config.customMessage,afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):e.config.range&&!e.config.range.validation?e.config.range.validation||(e.config.range.validation=null):"InputWithInvalidCharacters"==e.config.type&&Language.validation&&void 0!==Language.validation[r]||"InputWithValidCharacters"==e.config.type&&Language.validation&&void 0!==Language.validation[r]?Cyberoam.messageBox({message:Language.you_cannot_enter+Language.validation[r]+Language.value_for+Cyberoam.getTranslatedMSG(e.label),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):void 0!==Language["_"+e.config.type]?Cyberoam.messageBox({message:Language.you_must_enter+Language["_"+e.config.type]+Language.value_for+Cyberoam.getTranslatedMSG(e.label),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}):500==c?Cyberoam.messageBox({message:Language.validInputRequired.replace("{inputField}",Cyberoam.getTranslatedMSG(e.label).toLowerCase()),afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}
2086):Cyberoam.messageBox({message:Language.invalid_address[c]+Cyberoam.getTranslatedMSG(e.label).toLowerCase()+".",afterOk:function(){o.focus()},afterCancel:function(){o.focus()}}),!1}return!0},Cyberoam.checkVisibilityOfObject=function(e,t){var o=0,a=null;switch(t){case"textbox":case"textarea":case"selectbox":a=e;break;case"radio":case"radiocomponent":a=e[0];break;case"checkbox":a=document.getElementById(e.checkBoxItems[0].id);break;case"CRController":case"SingleSelector":case"MultiSelector":case"combobox":case"selectionBox":case"MultiInputList":case"multilist":case"toggle":a=document.getElementById(e.config.id);break;case"password":a=void 0!==e.config?document.getElementById(e.config.id):e}if(null==a)return!0;for(;a.parentNode;){if("hidden"==a.style.visibility||"none"==a.style.display){o=1;break}a=a.parentNode}return 1==o||void 0!==e.style&&("hidden"==e.style.visibility||"none"==e.style.display)},Cyberoam.getRadioValue=function(e){for(var t=null,o=0;o<e.length;o++)e[o].checked&&0==e[o].disabled&&(t=e[o].value);return t},Cyberoam.isSkipVisibilityCheck=function(e){return void 0!==e&&void 0!==e.skipVisibilityCheck&&e.skipVisibilityCheck},Cyberoam.validateObjects=function(e,t,o,a,n){void 0!==e.opcodeParam&&void 0!==e.requestParamKey?e.requestParamKey.push(e.opcodeParam):void 0===e.opcodeParam&&void 0!==e.requestParamKey&&e.requestParamKey.push(e.key);var i="",r=!0;switch(e.objType){case"password":case"textbox":case"textarea":if(void 0!==e.object.validatePassword)if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)){if(!e.object.validatePassword())return!1;i=e.object.getPassword()}else r=!1;else if(void 0===e.object.length){if(0==e.object.disabled)if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)){if(e.config&&1==e.config.notnull)if(!Cyberoam.validateNotNull(e))return!1;if(e.config&&e.config.maxlength)if(!Cyberoam.validateMaxLength(e))return!1;if(e.config&&e.config.type&&""!=e.object.value&&null!=e.object.value)if(!Cyberoam.validateType(e))return!1;i="password"==e.objType?e.object.value:Cyberoam.trim(e.object.value)}else r=!1}else{for(var c=[],l=0;l<e.object.length;l++)if(0==e.object[l].disabled){if(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)){if(e.config&&1==e.config.notnull)if(!Cyberoam.validateNotNull(e,l))return!1;if(e.config&&e.config.maxlength)if(!Cyberoam.validateMaxLength(e,l))return!1;if(e.config&&e.config.type&&""!=e.object.value&&null!=e.object[l].value)if(!Cyberoam.validateType(e,l))return!1;""==e.object[l].value?c.push(""):c.push(e.object[l].value)}}else r=!1;for(l=0;l<e.object.length;l++)1==e.object[l].disabled&&(r=!0);i=c}if("textbox"==e.objType)if("string"==typeof i)i=i.replace(/\s+/g," ");else for(var l in i)i[l]=i[l].replace(/\s+/g," ");break;case"address":if(!e.object.validate())return!1;i=JSON.stringify(e.object.get());break;case"radio":i=Cyberoam.getRadioValue(e.object);break;case"selectbox":if(e.object.multiple)if(0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType))r=!1;else{var s=new Array;for(l=0;l<e.object.options.length;l++)e.object.options[l].selected&&(e.config&&e.config.returnKey?s.push(e.object.options[l].value):s.push(e.object.options[l].text));i=s}else if(void 0===e.object.length||e.object[0]&&"option"==e.object[0].tagName.toLowerCase())0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType)?r=!1:i=e.config&&e.config.returnKey?e.object.value:e.object.options[e.object.selectedIndex].text,e.arrayEnable&&(i=new Array(i));else{i=[];for(l=0;l<e.object.length;l++)0!=e.object[l].disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)?r=!1:e.config&&e.config.returnKey?i.push(e.object[l].value):i.push(e.object[l].options[e.object[l].selectedIndex].text)}break;case"checkbox":e.config[0]&&(i=e.object.getValueByName(e.config[0].name));break;case"CRController":case"SingleSelector":case"MultiSelector":e.object.isDisabled()||(i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.config&&e.config.returnParam?e.object.getSelectedValuesByParam(e.config.returnParam):e.object.getSelectedLabels());break;case"combobox":i=e.config&&e.config.returnKey?e.object.getSelectedKey():e.object.getSelectedLabel();break;case"selectionBox":case"multilist":i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.object.getSelectedLabels();break;case"MultiInputList":i=e.config&&e.config.returnKey?e.object.getRecordKey():e.object.getRecordLabel();break;case"hidden":void 0!==e.value?i=e.value:e.object&&void 0!==e.object.value&&(i=e.object.value);break;case"toggle":e.config&&(i=e.object.getValueById(e.config.id));break;case"radiocomponent":e.config&&(i=e.object.getValue())}if("button"==e.objType)return t;if("div"==e.objType)return t;if(e.config&&null!=e.config.validator&&r&&!e.config.validator(e,i,o,a,n))return!1;if("checkbox"==e.objType&&null!=e.validator&&!e.validator(e,i,o,a,n))return!1;var b=!1;if("checkbox"==e.objType||"MultiInputList"==e.objType?e.getOpcodeValue&&(i=e.getOpcodeValue(e,i,o,a,n),b=!0):e.config&&e.config.getOpcodeValue&&(b=!0,void 0!==(i=e.config.getOpcodeValue(e,i,o,a,n))&&"string"==typeof i&&(i=Cyberoam.trim(i),"textbox"==e.objType&&(i=i.replace(/\s+/g," ")))),("checkbox"==e.objType||"MultiInputList"==e.objType)&&""==i)return t;if("name"==e.type&&Cyberoam.getObjectID()>0&&(i&&(i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'")),t.__newname=i,i=e.oldValue),"ipfamily"==e.objType&&(null!=e.requestParamKey?(e.requestParamKey.push("ipfamily"),t=Cyberoam.setSubEntity(e,t,e.object.getProtocol())):t.ipfamily=e.object.getProtocol()),null!=i&&""!=i){if(void 0===e.config||void 0!==e.config&&(void 0===e.config.escap||1==e.config.escap))if(e.arrayEnable)for(var y=0;y<i.length;y++)"string"==typeof i[y]&&(i[y]=Cyberoam.replaceAll(i[y],"\\","\\\\"),i[y]=Cyberoam.replaceAll(i[y],"'","\\'"));else i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'");else void 0!==e.arrayEnable&&0!=e.arrayEnable||(i=i.toString());if("CRController"!=e.objType&&"SingleSelector"!=e.objType&&"MultiSelector"!=e.objType||(null!=e.requestParamKey?(e.requestParamKey.push(null!=e.opcodeParam?e.opcodeParam+"_cat":e.key+"_cat"),t=Cyberoam.setSubEntity(e,t,e.object.getSelectedCategory())):e.opcodeParam?t[e.opcodeParam+"_cat"]=e.object.getSelectedCategory():t[e.key+"_cat"]=e.object.getSelectedCategory()),0==r&&!b)return t;null!=e.requestParamKey?t=Cyberoam.setSubEntity(e,t,i):e.opcodeParam?t[e.opcodeParam]=i:t[e.key]=i}return t},Cyberoam.setSubEntity=function(e,t,o){for(var a=0;a<e.requestParamKey.length;a++)for(var n=e.requestParamKey[a].split("."),i=t,r=0;r<n.length;r++)void 0===i[n[r]]&&n.length>1&&r+1!=n.length?(i[n[r]]={},i=i[n[r]]):n.length>1&&r+1!=n.length&&(i=i[n[r]]),r+1==n.length&&(i[n[r]]=o);return t},Cyberoam.preGeneratedObject=function(e,t){var o={},a={};for(var n in e){if(e.hasOwnProperty(n))e[n].key=n,a=Cyberoam.getObjectsValue(e[n],a,t,e,o)}return a},Cyberoam.getObjectsValue=function(e,t,o,a,n){void 0!==e.opcodeParam&&void 0!==e.requestParamKey?e.requestParamKey.push(e.opcodeParam):void 0===e.opcodeParam&&void 0!==e.requestParamKey&&e.requestParamKey.push(e.key);var i="",r=!0;switch(e.objType){case"password":case"textbox":case"textarea":if(void 0!==e.object.validatePassword)Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)?i=e.object.getPassword():r=!1;else if(void 0===e.object.length)0==e.object.disabled&&(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object,e.objType)?i="password"==e.objType?e.object.value:Cyberoam.trim(e.object.value):r=!1);else{for(var c=[],l=0;l<e.object.length;l++)0==e.object[l].disabled?(Cyberoam.isSkipVisibilityCheck(e.config)||0==Cyberoam.checkVisibilityOfObject(e.object[l],e.objType))&&(""==e.object[l].value?c.push(""):c.push(e.object[l].value)):r=!1;for(l=0;l<e.object.length;l++)1==e.object[l].disabled&&(r=!0);i=c}if("textbox"==e.objType)if("string"==typeof i)i=i.replace(/\s+/g," ");else for(var l in i)i[l]=i[l].replace(/\s+/g," ");break;case"address":i=JSON.stringify(e.object.get());break;case"radio":i=Cyberoam.getRadioValue(e.object);break;case"selectbox":if(e.object.multiple)if(0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType))r=!1;else{var s=new Array;for(l=0;l<e.object.options.length;l++)e.object.options[l].selected&&(e.config&&e.config.returnKey?s.push(e.object.options[l].value):s.push(e.object.options[l].text));i=s}else if(void 0===e.object.length||e.object[0]&&"option"==e.object[0].tagName.toLowerCase())0!=e.object.disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object,e.objType)?r=!1:i=e.config&&e.config.returnKey?e.object.value:e.object.options[e.object.selectedIndex].text,e.arrayEnable&&(i=new Array(i));else{i=[];for(l=0;l<e.object.length;l++)0!=e.object[l].disabled||!Cyberoam.isSkipVisibilityCheck(e.config)&&Cyberoam.checkVisibilityOfObject(e.object[l],e.objType)?r=!1:e.config&&e.config.returnKey?i.push(e.object[l].value):i.push(e.object[l].options[e.object[l].selectedIndex].text)}break;case"checkbox":e.config[0]&&(i=e.object.getValueByName(e.config[0].name));break;case"CRController":case"SingleSelector":case"MultiSelector":e.object.isDisabled()||(i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.config&&e.config.returnParam?e.object.getSelectedValuesByParam(e.config.returnParam):e.object.getSelectedLabels());break;case"combobox":i=e.config&&e.config.returnKey?e.object.getSelectedKey():e.object.getSelectedLabel();break;case"selectionBox":case"multilist":i=e.config&&e.config.returnKey?e.object.getSelectedKeys():e.object.getSelectedLabels();break;case"MultiInputList":i=e.config&&e.config.returnKey?e.object.getRecordKey():e.object.getRecordLabel();break;case"hidden":void 0!==e.value?i=e.value:e.object&&void 0!==e.object.value&&(i=e.object.value);break;case"toggle":e.config&&(i=e.object.getValueById(e.config.id));break;case"radiocomponent":e.config&&(i=e.object.getValue())}if("button"==e.objType)return t;if("div"==e.objType)return t;var b=!1;if("checkbox"==e.objType||"MultiInputList"==e.objType?e.getOpcodeValue&&(i=e.getOpcodeValue(e,i,o,a,n),b=!0):e.config&&e.config.getOpcodeValue&&(b=!0,void 0!==(i=e.config.getOpcodeValue(e,i,o,a,n))&&"string"==typeof i&&(i=Cyberoam.trim(i),"textbox"==e.objType&&(i=i.replace(/\s+/g," ")))),("checkbox"==e.objType||"MultiInputList"==e.objType)&&""==i)return t;if("name"==e.type&&Cyberoam.getObjectID()>0&&(i&&(i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'")),t.__newname=i,i=e.oldValue),"ipfamily"==e.objType&&(null!=e.requestParamKey?(e.requestParamKey.push("ipfamily"),t=Cyberoam.setSubEntity(e,t,e.object.getProtocol())):t.ipfamily=e.object.getProtocol()),null!=i&&""!=i){if(void 0===e.config||void 0!==e.config&&(void 0===e.config.escap||1==e.config.escap))if(e.arrayEnable)for(var y=0;y<i.length;y++)"string"==typeof i[y]&&(i[y]=Cyberoam.replaceAll(i[y],"\\","\\\\"),i[y]=Cyberoam.replaceAll(i[y],"'","\\'"));else i=i.toString(),i=Cyberoam.replaceAll(i,"\\","\\\\"),i=Cyberoam.replaceAll(i,"'","\\'");else void 0!==e.arrayEnable&&0!=e.arrayEnable||(i=i.toString());if("CRController"!=e.objType&&"SingleSelector"!=e.objType&&"MultiSelector"!=e.objType||(null!=e.requestParamKey?(e.requestParamKey.push(null!=e.opcodeParam?e.opcodeParam+"_cat":e.key+"_cat"),t=Cyberoam.setSubEntity(e,t,e.object.getSelectedCategory())):e.opcodeParam?t[e.opcodeParam+"_cat"]=e.object.getSelectedCategory():t[e.key+"_cat"]=e.object.getSelectedCategory()),0==r&&!b)return t;null!=e.requestParamKey?t=Cyberoam.setSubEntity(e,t,i):e.opcodeParam?t[e.opcodeParam]=i:t[e.key]=i}return t},Cyberoam.validateAndGenerateObject=function(e,t,o,a){for(var n in void 0!==a&&null!=a||(a={}),e)if(e.hasOwnProperty(n)&&(e[n].key=n,null==t.form||"undefined"!=t.form&&e[n].form==t.form)){var i=Cyberoam.validateObjects(e[n],a,o,e,t);if(!i)return!1;a=i}return a},Cyberoam.generateRequest=function(e,t,o){var a={};
2086if(null==t.form||"undefined"!=t.form)if("ajax"==t.config.request){if(t.config.beforeOperation&&t.config.beforeOperation(e),null!=Cyberoam.getRequestObject()&&(a=Cyberoam.getRequestObject()),null!=Cyberoam.getConfirm()&&(t.config.confirm=Cyberoam.getConfirm()),!(a=Cyberoam.validateAndGenerateObject(e,t,o,a)))return;if(t.config.validator)if(!t.config.validator(t,o,e))return;if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",t.config.mode),width:"420",height:"230"}),Cyberoam.setRequestObject(a),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0;if(null!=Cyberoam.getClick())return t.config.click=Cyberoam.getClick(),t.config.confirm?Cyberoam.messageBox({message:t.config.confirm,confirm:!0,afterOk:function(){t.config.click(Cyberoam.getParentEntityObject(),a)}}):t.config.click(Cyberoam.getParentEntityObject(),a),!0;var n=function(){var o="";o=t.config.event?t.config.event:0==Cyberoam.getObjectID()?"ADD":"UPDATE";let n={};if(t.config.header&&"object"==typeof t.config.header&&!Array.isArray(t.config.header)&&(n=t.config.header),t.config.fileUpload){var r={};for(var c in e)"file"==e[c].objType&&(r[c]=e[c].object.id);Cyberoam.addOverLay("mainframecontent");var l={mode:t.config.mode,json:a,__RequestType:"ajax"};""!=o&&t.config.entity&&(l={Event:o,Entity:t.config.entity,mode:t.config.mode,json:a,__RequestType:"ajax"}),l.csrf=Cyberoam.c$rFt0k3n,$.ajaxFileUpload({url:Cyberoam.contextPath+"/"+Cyberoam.getController(),secureuri:!1,fileElementsId:r,dataType:t.config.dataType?t.config.dataType:"text",data:l,success:function(t,o){for(var a in r)r.hasOwnProperty(a)&&(e[a].object=document.getElementById(r[a]),e[a].object.id=r[a]);i(t)},error:function(e,t,o){Cyberoam.removeOverLay(),Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0})},timeout:18e5})}else if(t.config.restApi){Cyberoam.addOverLay("mainframecontent");let e=t.config.data||null,o=t.config.url,i=t.config.method||t.config.httpMethod;"DELETE"===i&&(o=`${t.config.url}/${a.select[0]}`,e=null);let r="application/json",c=!0;!0===t.config.upload&&(r=!1,c=!1),$.ajax({method:i,url:o,data:"function"==typeof e?e():e,dataType:"json",contentType:r,timeout:18e5,processData:c,headers:n,cached:!1}).then((function(e,o,a){Cyberoam.removeOverLay(),e&&(sf.core.postResponse.showNotification(e,a.status,t.config),sf.core.postResponse.executeCallbacks(e,a.status,t.config))}),(function(e,o,a){if(Cyberoam.removeOverLay(),401!==e.status)if(0!==e.status){let o=JSON.parse(e.responseText);sf.core.postResponse.showNotification(o,e.status,t.config),sf.core.postResponse.executeCallbacks(o,e.status,t.config)}else"abort"!==e.statusText&&Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0});else location.href=Cyberoam.contextPath+"/webpages/login.jsp"}))}else{Cyberoam.addOverLay("mainframecontent");l="mode="+t.config.mode+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(a))+"&__RequestType=ajax";""!=o&&t.config.entity&&(l="Event="+o+"&Entity="+t.config.entity+"&mode="+t.config.mode+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(a))+"&__RequestType=ajax"),$.ajax({type:"POST",url:Cyberoam.contextPath+"/"+Cyberoam.getController(),data:l,dataType:t.config.dataType?t.config.dataType:"text",timeout:18e5,headers:n}).then((function(e,t,o){i(e)}),(function(e,t,o){"abort"!==o&&(Cyberoam.removeOverLay(),Cyberoam.messageBox({message:Language.ConnectionLostMsg,autoClose:!0}))}))}},i=function(e){if(Cyberoam.removeOverLay(),e){var o;if((o=t.config.restApi?e:YAHOO.lang.JSON.parse(e)).status==CSCConstants.SESSION_EXPIRED)return void(location.href=Cyberoam.contextPath+"/webpages/login.jsp");if(o.status==CSCConstants.ACCESSDENIED)return void Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(Language.AccessDenied),o.status);if(void 0!==o.entity&&void 0!==o.entity.map)if(void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status]){var a=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].message;Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(a),o.entity.map),o.status,o.content,o.contentType)}}else Cyberoam.setStatusBarMessage(Cyberoam.replaceFieldValue(Cyberoam.getTranslatedMsg(o.message),o.entity.map),o.status,o.content,o.contentType);else if(void 0!==o.status)if(void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status]){a=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].message;Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(a),o.status,o.content,o.contentType)}}else Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),o.status,o.content,o.contentType);else Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(o.message),null,o.content,o.contentType);
2086if(Cyberoam.prevResponseStatus=o.status,598!=o.status){if(201==o.status&&"Message.CertManageUpdatedSuccessFullyReload"==o.message&&setTimeout((function(){location.reload()}),3e3),void 0!==o.entity&&void 0!==o.entity.map)for(var n in o.entity.map)if("object"!=typeof o.entity.map[n]){var i=o.entity.map[n].toString();i=i.replace(/\\\\/g,"\\"),o.entity.map[n]=i.replace(/\\\'/g,"'")}var r;if(void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event)if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status])(r=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].url)&&(o.redirectionURL=r);if(t.config.response&&t.config.response(o),void 0!==o.entity&&void 0!==o.entity.map&&void 0!==o.entity.map.Entity&&void 0!==o.entity.map.Event){if(Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status])(r=Cyberoam.eventstatus[o.entity.map.Entity].statusMappings[o.entity.map.Event][o.status].url)&&o.redirectionURL&&""!=o.redirectionURL&&Cyberoam.setMainFrame(r,1)}else o.redirectionURL&&""!=o.redirectionURL&&Cyberoam.setMainFrame(o.redirectionURL,1)}else{if(Cyberoam.pageLayer>0&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close)return void Cyberoam.hidePopup();var c=Cyberoam.pageObject[Cyberoam.pageLayer].entityObject;for(var n in c)if(0==Cyberoam.pageLayer&&"button"==c[n].objType&&c[n].config&&c[n].config.title==Cyberoam.getTranslatedMSG(Language.Cancel))return void c[n].object.click()}}else t.config.response&&t.config.response()};if(t.config.confirm){var r="",c=function(){setTimeout((function(){n()}),10)},l=null;"string"==typeof t.config.confirm?r=t.config.confirm:"object"==typeof t.config.confirm&&(r=t.config.confirm.message,t.config.confirm.afterCancel&&(l=t.config.confirm.afterCancel),t.config.confirm.afterOk&&(c=t.config.confirm.afterOk)),Cyberoam.messageBox({message:r,confirm:!0,afterOk:c,afterCancel:l})}else if(t.config.warning){var s={};s.message=t.config.warning,s.warning=!0,s.afterOk=function(){setTimeout((function(){n()}),10)},t.config.headerMessage&&(s.headerMessage=t.config.headerMessage),t.config.okLabel&&(s.okLabel=t.config.okLabel),Cyberoam.messageBox(s)}else n()}else{if(void 0!==t.config.validation&&1==t.config.validation){if(!(a=Cyberoam.validateAndGenerateObject(e,t,null,a)))return;if(t.config.validator)if(!t.config.validator(t,o,e))return;if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",Cyberoam.getOperation()),width:"420",height:"230"}),Cyberoam.setParentEntityObject(e),Cyberoam.setClick(t.config.click),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0}else if(t.config.schedule)return Cyberoam.showPopup({URL:Cyberoam.getURL(Cyberoam.scheduleURL,"operation",Cyberoam.getOperation()),width:"420",height:"230"}),Cyberoam.setParentEntityObject(e),Cyberoam.setClick(t.config.click),t.config.confirm&&Cyberoam.setConfirm(t.config.confirm),!0;if(t.config.confirm)Cyberoam.messageBox({message:t.config.confirm,confirm:!0,afterOk:function(){setTimeout((function(){t.config.click(e)}),10)}});else if(t.config.confirmDiscard){t.config.beforeOperation&&t.config.beforeOperation(e);var b=Cyberoam.preGeneratedObject(Cyberoam.pageObject[Cyberoam.pageLayer].entityObject);Cyberoam.compareJSONObject(Cyberoam.pageObject[Cyberoam.pageLayer].preDataObject,b)?t.config.click(e):Cyberoam.messageBox({message:Message.ChangesDiscardConfirm,confirm:!0,afterOk:function(){setTimeout((function(){t.config.click(e)}),10)}})}else t.config.click(e)}},Cyberoam.compareJSONObject=function(e,t){var o=0,a=0;for(var n in e)e.hasOwnProperty(n)&&o++;for(var n in t)t.hasOwnProperty(n)&&a++;if(o!=a)return!1;for(var n in e){if(void 0===t[n])return!1;if("object"==typeof e[n])if(void 0!==e[n].length){if(e[n].length!=t[n].length)return!1;if(!Cyberoam.compareArray(e[n],t[n]))return!1}else{if(!Cyberoam.compareJSONObject(e[n],t[n]))return!1}else if(e[n]!=t[n])return!1}return!0},Cyberoam.compareArray=function(e,t){return 0===$(e).not(t).length},CyberoamForm.prototype.addField=function(e){return this.fields=this.fields.concat(e),this},CyberoamForm.prototype.addControl=CyberoamForm.prototype.addField,CyberoamForm.prototype.enableForm=function(){var e=this.fields.filter((function(e){return!!e&&"object"==typeof e})).map((function(e){return e.object=document.getElementById(e.domId),e})).reduce((function(e,t){return e[t.key]=t,e}),{});return Cyberoam.initEntityObject(Cyberoam.getDataObject,e),this},CyberoamTableHeader.instanceOf=function(e){return new CyberoamTableHeader(e)},CyberoamTableHeader.prototype.headers=function(e){return this.headers=e.slice(),this},CyberoamTableHeader.prototype.render=function(e){return ReactDOM.render(this.component({columns:this.headers}),document.getElementById(e)),this},CyberoamTable.instanceOf=function(e){return new CyberoamTable(e)},CyberoamTable.prototype.columns=function(e){return this.columns=e.slice(),this},CyberoamTable.prototype.config=function(e){return this.config=$.extend({},e),this},CyberoamTable.prototype.invoke=function(e){return e.apply(null,[this].concat([].slice.call(arguments))),this},CyberoamTable.prototype.setup=function(){return this},CyberoamTable.prototype.source=function(e){return this.source=e(),this},CyberoamTable.prototype.methods=function(e){return this.methods=$.extend({}
2086,e),Object.keys(this.methods).forEach(function(e){this.methods[e]=this.methods[e].bind(null,this)}.bind(this)),this},CyberoamTable.prototype.store=function(e){return this.store=e,this},CyberoamTable.prototype.render=function(e){return this.table=new this.dt(e,this.columns.filter((function(e){return!e.hidden})),this.source,this.config),this},CyberoamTable.prototype.subscribe=function(e,t,o){return o?t(this,e):this.table.subscribe(e,t.bind(null,this)),this},CyberoamTable.prototype.reload=function(){return this.table.load({request:this.config.generateRequest()}),this};Cyberoam.CheckBox=function(e){if(this.checkBoxItems=[],e)for(var t=0;t<e.length;t++){var c={id:"",name:"",label:"",value:"",click:null,width:null,checked:!1,disabled:!1,css:""};for(var o in e[t]){if(null==c[o]&&null!=c[o]){Cyberoam.messageBox({message:"Wrong chkBox property "+o});break}c[o]=e[t][o]}this.checkBoxItems.push(c)}};var clickObject=function(e,t){t.click&&t.click(e)};Cyberoam.CheckBox.prototype.generateCheckBox=function(e){if(document.getElementById(e.id)&&""==Cyberoam.trim(document.getElementById(e.id).innerHTML)&&"div"==document.getElementById(e.id).tagName.toLowerCase()){var t=document.getElementById(e.id);t.style.cssFloat="left",t.style.marginRight="10px",e.width&&(t.style.width=e.width),Cyberoam.createElement({tag:"input",type:"checkbox",name:e.name,id:e.id,style:"visibility:hidden;"},t);var c=Cyberoam.createElement({tag:"label"},t);c.setAttribute("for",e.id),c.innerHTML='<span class="fa-stack"><i class="fa fa-square-o fa-2x"></i><i class="fa fa-check-square fa-2x chosen"></i></span>',c.appendChild(document.createTextNode(Cyberoam.getTranslatedMSG(e.label)));var o=document.getElementById(e.id).getElementsByTagName("input")[0];t.removeAttribute("id"),t.removeAttribute("class"),t.setAttribute("class","chk-wrapper"),o.value=e.value,e.checked&&(o.checked=!0),e.disabled&&(e.checked?(o.checked=!0,o.disabled=!0):o.disabled=!0,o.disabled=!0),o.onclick=function(){clickObject(o,e)}}},Cyberoam.CheckBox.prototype.create=function(){this.checkBoxItems;for(var e=0;e<this.checkBoxItems.length;e++)this.generateCheckBox(this.checkBoxItems[e])},Cyberoam.CheckBox.prototype.insert=function(e){this.checkBoxItems.push(e),this.generateCheckBox(e)},Cyberoam.CheckBox.prototype.getValueByName=function(e){for(var t=this.checkBoxItems,c=[],o=0;o<t.length;o++)if(t[o].name==e&&document.getElementById(t[o].id)){var d=document.getElementById(t[o].id);"checkbox"==d.type&&1==d.checked&&c.push(d.value)}return c},Cyberoam.CheckBox.prototype.getValueById=function(e){var t=document.getElementById(e);return"checkbox"==t.type&&1==t.checked&&(""==t.value||t.value)},Cyberoam.CheckBox.prototype.getSelectedValue=function(){for(var e=this.checkBoxItems,t=[],c=0;c<e.length;c++)this.isSelected(e[c].id)&&void 0!==e[c].value&&t.push(e[c].value);return t},Cyberoam.CheckBox.prototype.selectByName=function(e,t){for(var c=this.checkBoxItems,o=0;o<this.checkBoxItems.length;o++)if(this.checkBoxItems[o].name==e){var d=document.getElementById(c[o].id);d&&(t?d.checked||d.disabled||(d.checked=t):d.disabled||(d.checked=t))}},Cyberoam.CheckBox.prototype.selectAll=function(e){for(var t=this.checkBoxItems,c=0;c<this.checkBoxItems.length;c++){var o=document.getElementById(t[c].id);o&&(e?o.checked||o.disabled||(o.checked=e):o.disabled||(o.checked=e))}},Cyberoam.CheckBox.prototype.selectById=function(e,t){var c=document.getElementById(e);c&&(t?c.checked||c.disabled||(c.checked=t):c.disabled||(c.checked=t))},Cyberoam.CheckBox.prototype.disableByName=function(e,t){for(var c=this.checkBoxItems,o=0;o<this.checkBoxItems.length;o++)if(this.checkBoxItems[o].name==e){var d=document.getElementById(c[o].id);d&&(d.disabled=t,t?d.disabled||d.checked||(d.checked=t):d.checked?d.checked=!0:d.checked=!1)}},Cyberoam.CheckBox.prototype.disableById=function(e,t){var c=document.getElementById(e);c&&(c.disabled=t,t?c.disabled||(c.checked||(c.checked=t),c.disabled=t):c.checked?c.checked=!0:c.checked=!1)},Cyberoam.CheckBox.prototype.isAnySelected=function(e){for(var t=this.checkBoxItems,c=0;c<t.length;c++)if(t[c].name==e&&document.getElementById(t[c].id)){var o=document.getElementById(t[c].id);if("checkbox"==o.type&&1==o.checked)return!0}return!1},Cyberoam.CheckBox.prototype.isSelected=function(e){if(!document.getElementById(e))return!1;var t=document.getElementById(e);return"checkbox"!=t.type||0!=t.checked},Cyberoam.CheckBox.prototype.isDisabled=function(e){if(!document.getElementById(e))return!1;var t=document.getElementById(e);return"checkbox"!=t.type||0!=t.disabled};Cyberoam.CRController=function(e){for(var t in this.config={id:"",category:[],returnKey:!1,label:"",style:"",height:350,width:200,disabled:!1,validator:null,getOpcodeValue:null,selectedCategory:"",selectedItems:[],search:!0,currentCategoryIndex:0,currentCategory:"",currentItems:[],currentSelectedItem:{},selectAll:!1,selectAny:!1,returnParam:""},categotyDefault={name:"",label:"",allSelect:!1,anySelect:!1,addURL:"",addURLTitle:"",image:!1,afterOkButton:null,afterCancelButton:null,radioBox:!1,checkBox:!0,paginator:!1,recordPerPage:100,noOfCols:2,width:360,height:280,popupWidth:600,popupHeight:400,data:[],currentPage:1},this.searchInterval=null,this.lastSearch="",e){if(void 0===this.config[t])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+t});if("category"==t)for(var n=0;n<e.category.length;n++){var o={};for(var i in categotyDefault)e.category[n][i]?o[i]=e.category[n][i]:o[i]=categotyDefault[i];this.config[t].push(o)}else this.config[t]=e[t]}},Cyberoam.CRController.prototype.create=function(){if(""!=this.id){var e=this,t=this.config,n=jQuery("#"+t.id);n.attr("class","CRController"),n.width(t.width),""!=this.config.style&&n.attr("style",this.config.style);
2086jQuery("<span style='float:left;width:93%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;'>"+Cyberoam.getTranslatedMSG(this.config.label)+"</span>").on("click",(function(){""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show(),document.getElementById("CRSearchText"+t.id).focus()})).appendTo(n),jQuery('<div class="button"></div>').on("click",(function(){""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show(),document.getElementById("CRSearchText"+t.id).focus()})).appendTo(n);var o=jQuery('<a href="javascript:void(0)" style="text-decoration:none;position:relative;height:18px;width:8px"> </a>').appendTo(n);o.on("keyup",(function(n){var o=new Cyberoam.Event(n);0!=o.getKeyCode()&&32!=o.getKeyCode()||(""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show()),document.getElementById("CRSearchText"+t.id).focus()})),o.on("click",(function(n){var o=new Cyberoam.Event(n);0!=o.getKeyCode()&&32!=o.getKeyCode()||(""==document.getElementById("CRbody"+t.id).style.display?e.hide():e.show()),document.getElementById("CRSearchText"+t.id).focus()}));var i=jQuery("<div id=CRbody"+t.id+" layer='"+Cyberoam.pageLayer+"' class=\"CRController_body\" style='display:none'></div>").appendTo(document.body);if(t.category.length>1){for(var c=jQuery('<table width="90%" height="28px" align="center" cellspacing=0 cellpadding=0></table>').appendTo(i),r=jQuery("<tr></tr>").appendTo(c),l=0;l<t.category.length;l++){var s=jQuery("<td align=center>"+t.category[l].label+"</td>").appendTo(r);jQuery('<input type="radio" name="catrdo'+t.id+"\" value='"+t.category[l].name+"' id=\"category"+t.id+t.category[l].name+'"/>').on("click",(function(){this.value!=e.config.selectedCategory?e.setRecord(this.value):e.setCategory(this.value,e.config.selectedItems),e.show()})).prependTo(s),void 0!==t.selectedCategory&&t.selectedCategory==t.category[l].name&&(t.currentCategoryIndex=l)}void 0===t.selectedCategory&&(t.selectedCategory=t.category[0].name)}else t.selectedCategory=t.category[0].name,t.currentCategoryIndex=0;if(t.search){var d=jQuery("<div style='width:100%;background:#FFF;' align='center'></div>").appendTo(i);jQuery('<input type="text" class="CRsearchtext" id=\'CRSearchText'+this.config.id+"'/>").on("keyup",(function(){e.search(this)})).appendTo(d)}jQuery('<div id="CRControllerData'+t.id+"\" style='overflow:auto;'><div style='height:100px'></div></div>").appendTo(i);var a=jQuery('<div id="CRControllerButton'+t.id+'" align="center"></div>').appendTo(i);jQuery('<input type="button" class="inputbutton" value="<<" />').on("click",(function(){e.firstPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="<" />').on("click",(function(){e.prevPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="'+Language.OkCC+'" />').on("click",(function(){e.CRControllerOk()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value="'+Language.Cancel+'" />').on("click",(function(){e.CRControllerCancel()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value=">" />').on("click",(function(){e.nextPage()})).appendTo(a),jQuery('<input type="button" class="inputbutton" value=">>" />').on("click",(function(){e.lastPage()})).appendTo(a),null==t.selectedItems&&(t.selectedItems=[]),t.selectedItems==[]||""==t.selectedItems?this.setRecord(t.category[0].name):("object"==typeof t.selectedItems||(t.selectedItems=new Array(t.selectedItems+"")),this.setCategory(t.selectedCategory,t.selectedItems))}},Cyberoam.CRController.prototype.disabled=function(e){this.config.disabled=e,1==e?jQuery("#"+this.config.id).attr("class","CRController_disabled"):jQuery("#"+this.config.id).attr("class","CRController")},Cyberoam.CRController.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.CRController.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.config.selectedItems.length;t++){if("Any"==this.config.selectedItems[t])return"Any";void 0!==this.config.currentSelectedItem[this.config.selectedItems[t]]&&e.push(this.config.currentSelectedItem[this.config.selectedItems[t]].label)}return e},Cyberoam.CRController.prototype.getSelectedValuesByParam=function(e){for(var t=[],n=0;n<this.config.selectedItems.length;n++){if("Any"==this.config.selectedItems[n])return"Any";void 0!==this.config.currentItems[this.config.selectedItems[n]]&&t.push(this.config.currentItems[this.config.selectedItems[n]][e])}return t},Cyberoam.CRController.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.config.selectedItems.length;t++){if("Any"==this.config.selectedItems[t])return"Any";e.push(this.config.selectedItems[t])}return e},Cyberoam.CRController.prototype.getSelectedCategory=function(){return this.config.selectedCategory},Cyberoam.CRController.prototype.setCategory=function(e,t){var n=this.config;n.selectedItems=t,n.selectedCategory=e;for(var o=0;o<n.category.length;o++)if(n.category[o].name==e){n.currentCategoryIndex=o;break}var i=n.category[n.currentCategoryIndex].data;for(var c in this.config.currentItems={},this.config.currentItems.length=0,i)this.config.currentItems[c]=Cyberoam.clone(i[c]),this.config.currentItems[c].selected=!1,this.config.currentItems.length++;var r=[];if(0==n.category[n.currentCategoryIndex].radiobox&&i.length-1==n.selectedItems.length&&(n.selectAll=!0,r.push("All "+n.category[n.currentCategoryIndex].label)),!n.selectAll)for(o=0;o<n.selectedItems.length;o++)"Any"!=n.selectedItems[o]?(void 0!==this.config.currentItems[n.selectedItems[o]]&&(this.config.currentItems[n.selectedItems[o]].selected=!0),void 0!==i[n.selectedItems[o]]&&(void 0===i[n.selectedItems[o]].label?r.push(n.selectedItems[o]):r.push(i[n.selectedItems[o]].label))):r.push("Any");(this.config.selectedItems[0]&&"Any"==this.config.selectedItems[0]&&((r=[]).push("Any "+n.category[n.currentCategoryIndex].label),this.config.selectAny=!0),1==n.category[n.currentCategoryIndex].radioBox
2086)&&jQuery("#CRControllerData"+this.config.id).empty();this.setRecord(n.selectedCategory,!1),n.selectAll&&(r=[]).push("All "+n.category[n.currentCategoryIndex].label),0==r.length&&r.push(this.config.label),r=-1!=r.toString().indexOf("Language.")||-1!=r.toString().indexOf("Message.")?selectHTMLTitle=Cyberoam.getTranslatedMSG(r.toString()):selectHTMLTitle=r.toString(),document.getElementById(this.config.id).childNodes[0].innerHTML="",document.getElementById(this.config.id).childNodes[0].appendChild(document.createTextNode(selectHTMLTitle)),document.getElementById(this.config.id).childNodes[0].title=r.toString()},Cyberoam.CRController.prototype.afterRecordSet=function(e){for(var t=this.config,n=0;n<t.category.length;n++)if(t.category[n].name==e){t.currentCategoryIndex=n;break}t.category[t.currentCategoryIndex].data;null!=t.category[t.currentCategoryIndex].afterOkButton&&t.category[t.currentCategoryIndex].afterOkButton(this)},Cyberoam.CRController.prototype.CRControllerOk=function(){var e=this.config.category[this.config.currentCategoryIndex];this.config.selectedCategory=this.config.currentCategory,this.config.selectedItems=[];var t={},n=[];if(document.getElementById("crany"+this.config.id)&&document.getElementById("crany"+this.config.id).checked)this.config.selectedItems=["Any"],n.push("Any "+e.label),this.config.selectAny=!0;else{var o=[];o=e.radioBox?document.getElementsByName("radio"+this.config.id):document.getElementsByName("chk"+this.config.id);for(var i=0;i<o.length;i++)o[i].checked?(n.push(o[i].getAttribute("label")),this.config.selectedItems.push(o[i].getAttribute("key")),t[o[i].getAttribute("key")]={label:o[i].getAttribute("label")}):this.config.currentItems[o[i].getAttribute("key")].selected=!1;for(var i in this.config.currentSelectedItem)void 0===t[i]&&(n.push(this.config.currentSelectedItem[i].label),this.config.selectedItems.push(i));this.config.selectAny=!1}0==e.radioBox&&document.getElementById("crSelecteAll"+this.config.id)&&document.getElementById("crSelecteAll"+this.config.id).checked&&(n=[]).push("All "+e.label),0==n.length&&n.push(this.config.label),n=-1!=n.toString().indexOf("Language.")||-1!=n.toString().indexOf("Message.")?selectHTMLTitle=Cyberoam.getTranslatedMSG(n.toString()):selectHTMLTitle=n.toString(),document.getElementById(this.config.id).childNodes[0].innerHTML="",document.getElementById(this.config.id).childNodes[0].appendChild(document.createTextNode(selectHTMLTitle)),document.getElementById(this.config.id).childNodes[0].title=n.toString(),document.getElementById(this.config.id).className="CRController",null!=e.afterOkButton&&e.afterOkButton(this),document.getElementById("CRbody"+this.config.id).style.display="none",mainconfig=this.config,setTimeout((function(){document.getElementById(mainconfig.id).childNodes[2].focus()}),1),Cyberoam.currentObject=null},Cyberoam.CRController.prototype.CRControllerCancel=function(){(document.getElementById(this.config.id).childNodes[2].focus(),""!=this.config.selectedCategory)&&(this.config.currentSelectedItem={},jQuery("#CRControllerData"+this.config.id).empty(),this.setCategory(this.config.selectedCategory,this.config.selectedItems),null!=this.config.category[this.config.currentCategoryIndex].afterCancelButton&&this.config.category[this.config.currentCategoryIndex].afterCancelButton(this),document.getElementById(this.config.id).className="CRController");document.getElementById("CRbody"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.CRController.prototype.search=function(e){this.config.currentItems;var t=this;null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){t.searchProcess(e.value)}),500)},Cyberoam.CRController.prototype.searchProcess=function(e){var t=this.config.category[this.config.currentCategoryIndex],n=[];if(""==(e=e.trim())){if(this.lastSearch.length==e.length)return;var o=t.data;for(var i in this.config.currentItems={},this.config.currentItems.length=0,o)"length"!=i&&"constructor"!=i&&(this.config.currentItems[i]=Cyberoam.clone(o[i]),this.config.currentItems[i].selected=!1,this.config.currentItems.length++)}else{e=e.toLowerCase(),n=this.lastSearch.length<e.length?this.config.currentItems:t.data,this.config.currentItems={},this.config.currentItems.length=0;var c=new Object;for(var r in n)"length"!=r&&"constructor"!=r&&(-1==n[r].label.toString().indexOf("Language.")&&-1==n[r].label.toString().indexOf("Message.")||(n[r].label=Cyberoam.getTranslatedMSG(n[r].label)),document.getElementById("chk"+this.config.id+"_"+r)&&document.getElementById("chk"+this.config.id+"_"+r).checked&&(this.config.currentSelectedItem[r]=n[r]),0==n[r].label.toLowerCase().indexOf(e)||n[r].searchLabel&&0==n[r].searchLabel.toLowerCase().indexOf(e)&&document.getElementById("chk"+this.config.id+"_"+r)&&document.getElementById("chk"+this.config.id+"_"+r).checked?(this.config.currentItems[r]=n[r],this.config.currentItems.length++):0==n[r].label.toLowerCase().indexOf(e)||n[r].searchLabel&&0==n[r].searchLabel.toLowerCase().indexOf(e)?(this.config.currentItems[r]=n[r],this.config.currentItems[r].selected=!1,this.config.currentItems.length++):(n[r].label.toLowerCase().indexOf(e)>0||n[r].searchLabel&&n[r].searchLabel.toLowerCase().indexOf(e)>0)&&(c[r]=n[r]));for(var l in c)this.config.currentItems[l]=c[l],this.config.currentItems[l].selected=!1,this.config.currentItems.length++}this.lastSearch=e,t.currentPage=1,this.generateData()},Cyberoam.CRController.prototype.firstPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];1!=t.currentPage&&(t.currentPage=1,this.generateData())},Cyberoam.CRController.prototype.prevPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];1!=t.currentPage&&(t.currentPage--,this.generateData())},Cyberoam.CRController.prototype.nextPage=function(e){var t=this.config.category[this.config.currentCategoryIndex],n=parseInt(this.config.currentItems.length/t.recordPerPage)+1;t.currentPage!=n&&t.currentPage++,this.generateData()},Cyberoam.CRController.prototype.lastPage=function(e){var t=this.config.category[this.config.currentCategoryIndex];t.currentPage=parseInt(this.config.currentItems.length/t.recordPerPage)+1,this.generateData()},Cyberoam.CRController.prototype.setRecord=function(e,t){var n=[];this.config.currentSelectedItem={},n=document.getElementsByName("chk"+this.config.id);for(var o=0;o<n.length;o++)n[o].checked=!1;var i=document.getElementById("category"+this.config.id+e);if(document.getElementById("CRSearchText"+this.config.id).value="",i){i.checked=!0;var c=i.parentNode.parentNode;for(o=0;o<c.childNodes.length;o++)if(c.childNodes[o]==i.parentNode){if(jQuery(c.childNodes[o]).attr("class","catselected"),this.config.currentCategoryIndex=o,void 0===t||1==t){var r=this.config.category[this.config.currentCategoryIndex].data;for(var l in this.config.currentItems={},this.config.currentItems.length=0,r)this.config.currentItems[l]=Cyberoam.clone(r[l]),this.config.currentItems[l].selected=!1,this.config.currentItems.length++}}else jQuery(c.childNodes[o]).attr("class","")}else if(void 0===t||1==t){r=this.config.category[0].data;for(var l in this.config.currentItems={},this.config.currentItems.length=0,r)this.config.currentItems[l]=Cyberoam.clone(r[l]),this.config.currentItems[l].selected=!1,this.config.currentItems.length++}this.config.currentCategory=e,this.config.selectAny=!1,this.config.selectAll=!1,this.config.currentCategory==this.config.selectedCategory&&this.config.selectedItems[0]&&"Any"==this.config.selectedItems[0]&&(this.config.selectAny=!0),this.config.currentCategory==this.config.selectedCategory&&this.config.selectedItems.length>1&&this.config.currentItems.length==this.config.selectedItems.length&&(this.config.selectAll=!0);var s=document.getElementById("CRControllerButton"+this.config.id).getElementsByTagName("input");this.config.category[this.config.currentCategoryIndex].paginator?(s[0].style.display="",s[1].style.display="",s[4].style.display="",s[5].style.display=""):(s[0].style.display="none",s[1].style.display="none",s[4].style.display="none",s[5].style.display="none"),this.generateData()},Cyberoam.CRController.prototype.generateData=function(){var e=this.config.category[this.config.currentCategoryIndex],t=this.config,n=0,o=this,i=this.config.currentItems.length;e.paginator&&(n=(e.currentPage-1)*e.recordPerPage,(i=e.currentPage*e.recordPerPage)>this.config.currentItems.length&&(i=this.config.currentItems.length));var c=Cyberoam.createElement({tag:"table"});c.style.width="100%";var r=Cyberoam.createElement({tag:"tbody"},c),l=1;if(e.allSelect)trObject=Cyberoam.createElement({tag:"tr"},r),tdObject=Cyberoam.createElement({tag:"td"},trObject),inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",id:"crSelecteAll"+this.config.id},tdObject),this.config.selectAll&&inputObject.setAttribute("checked","checked"),(s=Cyberoam.createElement({tag:"span"},tdObject)).style.overflow="hidden",s.style.width="100%",s.style.whiteSpace="nowrap",s.style.textOverflow="ellipsis",s.appendChild(document.createTextNode(Language.SelectAll)),l++;else if(e.anySelect){var s;trObject=Cyberoam.createElement({tag:"tr"},r),tdObject=Cyberoam.createElement({tag:"td"},trObject),inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",id:"crany"+this.config.id},tdObject),this.config.selectAny&&inputObject.setAttribute("checked","checked"),(s=Cyberoam.createElement({tag:"span"},tdObject)).style.overflow="hidden",s.style.width="100%",s.style.whiteSpace="nowrap",s.style.textOverflow="ellipsis",s.appendChild(document.createTextNode(Language.Any)),l++}1==l&&(trObject=Cyberoam.createElement({tag:"tr"},r)),e.addURL=Cyberoam.getURL(e.addURL,"CRController",this.config.id),""!=e.addURL?(tdObject=Cyberoam.createElement({tag:"td",colspan:2},trObject),divObject=Cyberoam.createElement({tag:"div",className:"CRControllerAddButton"},tdObject),divObject.onclick=function(){Cyberoam.showPopup({URL:e.addURL,title:Cyberoam.getTranslatedMSG(e.addURLTitle),width:e.popupWidth,height:e.popupHeight})},uObject=Cyberoam.createElement({tag:"u",colspan:2},divObject),uObject.appendChild(document.createTextNode(Language.Add+" "+e.label))):tdObject=Cyberoam.createElement({tag:"td",colspan:2},trObject),l=1,this.createOptions=function(n,i,c,s){s&&(s="disabled=disabled"),1==l&&(trObject=Cyberoam.createElement({tag:"tr"},r));var d=i.label;void 0===d&&(d=n,i.label=n),-1!=d.indexOf("Language.")||-1!=d.indexOf("Message.")?i.label=Cyberoam.getTranslatedMSG(d):i.label=d,tdObject=Cyberoam.createElement({tag:"td",title:i.label}
2086,trObject),tdObject.style.width=100/e.noOfCols+"%",e.radioBox?(inputObject=Cyberoam.createElement({tag:"input",type:"radio",name:"radio"+this.config.id,id:"chk"+this.config.id+"_"+n},tdObject),void 0!==t.currentSelectedItem[n]?inputObject.setAttribute("checked","checked"):c&&void 0===t.currentSelectedItem[n]&&(t.currentSelectedItem[n]={label:i.label}),inputObject.onclick=function(e){var n=e||window.event,i=e?e.target:n.srcElement,c=i.getAttribute("key"),r=i.getAttribute("label");t.currentSelectedItem={},i.checked&&(t.currentSelectedItem[c]={label:r}),o.CRControllerOk()},navigator.userAgent.indexOf("MSIE 7.0")>-1&&inputObject.mergeAttributes(document.createElement("<INPUT name='radio"+this.config.id+"' id='chk"+this.config.id+"_"+n+"' />"),!1)):(inputObject=Cyberoam.createElement({tag:"input",type:"checkbox",name:"chk"+this.config.id,id:"chk"+this.config.id+"_"+n},tdObject),void 0!==t.currentSelectedItem[n]?inputObject.setAttribute("checked","checked"):c&&void 0===t.currentSelectedItem[n]&&(t.currentSelectedItem[n]={label:i.label}),inputObject.onclick=function(e){var n=e||window.event,o=e?e.target:n.srcElement,i=o.getAttribute("key"),c=o.getAttribute("label");document.getElementById("crSelecteAll"+t.id)&&(document.getElementById("crSelecteAll"+t.id).checked=!1),o.checked?t.currentSelectedItem[i]={label:c}:delete t.currentSelectedItem[i]},navigator.userAgent.indexOf("MSIE 7.0")>-1&&inputObject.mergeAttributes(document.createElement("<INPUT name='chk"+this.config.id+"' id='chk"+this.config.id+"_"+n+"' />"),!1)),inputObject.setAttribute("key",n),inputObject.setAttribute("label",i.label),Cyberoam.isIE?inputObject.style.styleFloat="left":inputObject.style.cssFloat="left",c&&inputObject.setAttribute("checked","checked"),s&&inputObject.setAttribute("disabled","disabled");var a=Cyberoam.createElement({tag:"div"},tdObject);a.style.overflow="hidden",a.style.width=parseInt(e.width)/e.noOfCols-46+"px",a.style.whiteSpace="nowrap",a.style.paddingTop="2px",a.style.textOverflow="ellipsis",a.style.height="15px",a.appendChild(document.createTextNode(i.label)),l==e.noOfCols&&(l=0),l++};var d=0;for(var a in this.config.currentItems)1==this.config.currentItems[a].selected||document.getElementById("chk"+this.config.id+"_"+a)&&document.getElementById("chk"+this.config.id+"_"+a).checked&&1!=this.config.selectAny?this.createOptions(a,this.config.currentItems[a],!0,!1):d<n||d>i?d++:"length"!=a&&"constructor"!=a&&(this.config.selectAll?this.createOptions(a,this.config.currentItems[a],!0,!1):this.config.selectAny?this.createOptions(a,this.config.currentItems[a],!1,!0):this.createOptions(a,this.config.currentItems[a],!1,!1),d++);if(0!=l)for(;l<e.noOfCols;l++)tdObject=Cyberoam.createElement({tag:"td"},trObject);else e.noOfCols==colimn&&(tdObject=Cyberoam.createElement({tag:"td"},trObject));var g=jQuery("#CRControllerData"+this.config.id);g.empty(),g.append(c),e.allSelect?jQuery(document.getElementById("crSelecteAll"+this.config.id)).on("click",(function(){var e=[];e=document.getElementsByName("chk"+t.id);for(var n=0;n<e.length;n++){e[n].checked=this.checked;var o=e[n].getAttribute("key"),i=e[n].getAttribute("label");this.checked?t.currentSelectedItem[o]={label:i}:delete t.currentSelectedItem[o]}})):e.anySelect&&jQuery(document.getElementById("crany"+this.config.id)).on("click",(function(){1==this.checked?t.selectAny=!0:t.selectAny=!1;var n=[];n=e.radioBox?document.getElementsByName("radio"+t.id):document.getElementsByName("chk"+t.id);for(var o=0;o<n.length;o++)n[o].disabled=this.checked})),document.getElementById("CRbody"+t.id).style.width=e.width+"px",document.getElementById("CRControllerData"+t.id).style.height="auto",jQuery("#CRControllerData"+t.id).width()>=e.width&&(document.getElementById("CRbody"+t.id).style.width=e.width),jQuery("#CRControllerData"+t.id).height()>=e.height?document.getElementById("CRControllerData"+t.id).style.height=e.height-80+"px":document.getElementById("CRControllerData"+t.id).style.height="auto";var h=jQuery("#"+this.config.id);document.getElementById("CRbody"+this.config.id).style.top=h.offset().top+20+"px",h.offset().top+30+jQuery("#CRbody"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("CRbody"+this.config.id).style.top=parseInt(document.getElementById("CRbody"+this.config.id).style.top)-(h.offset().top+30+jQuery("#CRbody"+this.config.id).height()-(document.body.clientHeight-30))+"px"),document.getElementById("CRbody"+this.config.id).style.left=h.offset().left+"px",h.offset().left+jQuery("#CRbody"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("CRbody"+this.config.id).style.left=parseInt(document.getElementById("CRbody"+this.config.id).style.left)-(h.offset().left+jQuery("#CRbody"+this.config.id).width()-document.body.clientWidth)+"px")},Cyberoam.CRController.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id);e.addClass("CRController_open"),Cyberoam.pageLayer>0&&(document.getElementById("CRbody"+this.config.id).style.zIndex=200*Cyberoam.pageLayer+5),document.getElementById("CRbody"+this.config.id).style.display="";var t=this.config,n=this.config.category[this.config.currentCategoryIndex];jQuery("#CRControllerData"+t.id).width()>n.width?document.getElementById("CRbody"+t.id).style.width=jQuery("#CRControllerData"+t.id).width()+"px":document.getElementById("CRbody"+t.id).style.width=n.width,0!=document.getElementById("CRControllerData"+t.id).offsetHeight&&document.getElementById("CRControllerData"+t.id).offsetHeight<n.height?document.getElementById("CRControllerData"+t.id).style.height=document.getElementById("CRControllerData"+t.id).offsetHeight+"px":document.getElementById("CRControllerData"+t.id).style.height=n.height-80+"px",document.getElementById("CRbody"+this.config.id).style.top=e.offset().top+20+"px",e.offset().top+30+jQuery("#CRbody"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("CRbody"+this.config.id).style.top=parseInt(document.getElementById("CRbody"+this.config.id).style.top)-(e.offset().top+30+jQuery("#CRbody"+this.config.id).height()-(document.body.clientHeight-30))+"px"),document.getElementById("CRbody"+this.config.id).style.left=e.offset().left+"px",e.offset().left+jQuery("#CRbody"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("CRbody"+this.config.id).style.left=parseInt(document.getElementById("CRbody"+this.config.id).style.left)-(e.offset().left+jQuery("#CRbody"+this.config.id).width()-document.body.clientWidth)+"px"),Cyberoam.currentObject=this}},Cyberoam.CRController.prototype.hide=function(){jQuery("#"+this.config.id).removeClass("CRController_open"),document.getElementById("CRbody"+this.config.id).style.display="none",this.CRControllerCancel(),Cyberoam.currentObject=null},Cyberoam.CRController.prototype.getOffsetPosition=function(){var e=document.getElementById("CRbody"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]};Cyberoam.SelectionBox=function(e){for(var t in this.config={id:"",data:[],returnKey:!1,click:null,selectAll:!1,noOfColumns:1,search:!0,width:250,height:150,label:null,combo1Label:null,combo2Label:null,combo1HTML:null,combo1:null,combo1Selected:null,combo2HTML:null,combo2:null,combo2Selected:null,selectedItem:[],selectAllButtonSelected:!1,isDisabled:!1},this.searchInterval=null,this.searchData=[],this.listSearchThread=null,this.lastSearch="",e){if(void 0===this.config[t])return Cyberoam.messageBox({message:"Wrong SelectionBox Configuration "+t}),void(this.config={id:"",data:[],selectAll:!1,noOfColumns:1,search:!0,width:0,height:0});this.config[t]=e[t]}var l={};for(var o in this.config.data)l[o]=Cyberoam.clone(this.config.data[o]);this.config.data=l;for(var i=0;i<this.config.selectedItem.length;i++)this.config.data[this.config.selectedItem[i]]&&(this.config.data[this.config.selectedItem[i]].selected=!0)},Cyberoam.SelectionBox.prototype.searchSelectedBox=function(e){var t=this,l=this.config.data,o=e.val().toLowerCase(),i=!1,c=this.config.id;this.searchProcess=function(e,l){jQuery("#selectionBoxBody"+this.config.id).html(""),this.lastSearch.length>e.length?this.searchData=[]:this.searchData.length>0&&(l=this.searchData,this.searchData={});var o=this.config.noOfColumns,a=1,s=document.getElementById("selectionBoxBody"+this.config.id);if(""!=e&&"rgb(204, 204, 204)"!=document.getElementById("searchText"+this.config.id).style.color&&"#cccccc"!=document.getElementById("searchText"+this.config.id).style.color){e=e.toLowerCase();var n=Cyberoam.createElement({tag:"table"},s);1!=this.config.search?n.setAttribute("cellspacing","1"):n.setAttribute("cellspacing","3"),n.setAttribute("width","100%");var r=Cyberoam.createElement({tag:"tbody"},n),d=null,m=null;if(null!=this.config.label){d=Cyberoam.createElement({tag:"tr"},r),m=Cyberoam.createElement({tag:"td"},d);var h=Cyberoam.createElement({tag:"span"},m);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.width="auto",h.style.textAlign="center",h.style.fontWeight="bold",h.appendChild(document.createTextNode(this.config.label)),mainspan=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?mainspan.style.styleFloat="right":mainspan.style.cssFloat="right",combol1label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol1label.style.styleFloat="left":combol1label.style.cssFloat="left",combol1label.style.width="80px",combol1label.style.textAlign="center",combol1label.style.fontWeight="bold",combol1label.appendChild(document.createTextNode(this.config.combo1Label)),combol2label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol2label.style.styleFloat="left":combol2label.style.cssFloat="left",combol2label.style.width="80px",combol2label.style.textAlign="center",combol2label.style.marginRight="5px",combol2label.style.fontWeight="bold",combol2label.appendChild(document.createTextNode(this.config.combo2Label))}d=Cyberoam.createElement({tag:"tr"},r),m=Cyberoam.createElement({tag:"td",colspan:this.config.noOfColumns},d);var b=Cyberoam.createElement({tag:"div",id:"selectall"+this.config.id,className:"selectionBox_item"},m);Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},b);
2086if((p=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},b)).appendChild(document.createTextNode(Language.SelectAll)),b.onclick=function(e){t.divClickEvent(e,this)},b=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?b.style.styleFloat="right":b.style.cssFloat="right",null!=this.config.combo1){for(var g in select=Cyberoam.createElement({tag:"select",id:"combo1"+c},b),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo1[g].label)),this.config.combo1Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+c+" table tr td select").each((function(){-1!=this.id.indexOf("combo1")&&(this.value=e)}))}}if(null!=this.config.combo2){for(var g in select=Cyberoam.createElement({tag:"select",id:"combo2"+c},b),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){if(this.config.combo2.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo2[g].label)),this.config.combo2Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+c+" table tr td select").each((function(){-1!=this.id.indexOf("combo2")&&(this.value=e)}))}}var f=parseInt(document.getElementById(this.config.id).style.width);for(var y in null!=this.config.combo1&&(f-=125),null!=this.config.combo2&&(f-=125),l)if(1==l[y].selected||0==l[y].label.toLowerCase().indexOf(e)){1==a&&(d=Cyberoam.createElement({tag:"tr"},r));m=Cyberoam.createElement({tag:"td"},d);var u="selectionBox_item";l[y].selected&&(u+=" selectionBox_item_select");b=Cyberoam.createElement({tag:"div",className:u},m),Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},b);var p=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},b);if(b.style.width=f+"px",p.style.width=f-30+"px",b.setAttribute("key",y),b.setAttribute("label",l[y].label),b.onclick=function(e){t.divClickEvent(e,this)},p.appendChild(document.createTextNode(l[y].label)),b.setAttribute("title",l[y].label),b=Cyberoam.createElement({tag:"td"},d),Cyberoam.isIE?b.style.styleFloat="right":b.style.cssFloat="right",null!=this.config.combo1)for(var g in select=Cyberoam.createElement({tag:"select",id:"combo1"+c},b),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo1[g].label)),this.config.combo1Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}if(null!=this.config.combo2)for(var g in select=Cyberoam.createElement({tag:"select",id:"combo2"+c},b),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){var C;if(this.config.combo2.hasOwnProperty(g))(C=Cyberoam.createElement({tag:"option"})).setAttribute("value",g),C.appendChild(document.createTextNode(this.config.combo2[g].label)),this.config.combo2Selected==g&&C.setAttribute("selected","selected"),select.appendChild(C)}++a>o&&(a=1),i=!0,this.searchData[y]=l[y]}if(0==i){var x=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},r);Cyberoam.createElement({tag:"td"},x).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData={},this.setSelectionBody();this.lastSearch=e},null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){t.searchProcess(o,l)}),1e3)},Cyberoam.SelectionBox.prototype.isSelectAll=function(){return this.config.selectAllButtonSelected},Cyberoam.SelectionBox.prototype.disabled=function(e){this.config.isDisabled=e},Cyberoam.SelectionBox.prototype.setSelectionBox=function(e,t){var l={};for(var o in e)l[o]=Cyberoam.clone(e[o]);for(var i=0;i<t.length;i++)void 0!==l[t[i]]&&(l[t[i]].selected=!0);this.config.data=l,this.setSelectionBody()},Cyberoam.SelectionBox.prototype.setSelectionBody=function(){var e=[];e=this.config.data;var t=this.config.id;jQuery("#selectionBoxBody"+t).html("");var l=this,o=document.getElementById("selectionBoxBody"+this.config.id),i=Cyberoam.createElement({tag:"table"},o);i.setAttribute("cellspacing","1"),i.setAttribute("width","100%");var c=Cyberoam.createElement({tag:"tbody"},i),a=null,s=null;if(null!=this.config.label){a=Cyberoam.createElement({tag:"tr"},c),s=Cyberoam.createElement({tag:"td"},a);var n=Cyberoam.createElement({tag:"span"},s);Cyberoam.isIE?n.style.styleFloat="left":n.style.cssFloat="left",n.style.width="auto",n.style.textAlign="center",n.style.fontWeight="bold",n.appendChild(document.createTextNode(this.config.label)),mainspan=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?mainspan.style.styleFloat="right":mainspan.style.cssFloat="right",combol1label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol1label.style.styleFloat="left":combol1label.style.cssFloat="left",combol1label.style.width="80px",combol1label.style.textAlign="center",combol1label.style.fontWeight="bold",combol1label.appendChild(document.createTextNode(this.config.combo1Label)),combol2label=Cyberoam.createElement({tag:"span"},mainspan),Cyberoam.isIE?combol2label.style.styleFloat="left":combol2label.style.cssFloat="left",combol2label.style.width="80px",combol2label.style.textAlign="center",combol2label.style.marginRight="5px",combol2label.style.fontWeight="bold",combol2label.appendChild(document.createTextNode(this.config.combo2Label))}if(1==this.config.selectAll){a=Cyberoam.createElement({tag:"tr"},c),s=Cyberoam.createElement({tag:"td",colspan:this.config.noOfColumns},a);var r=Cyberoam.createElement({tag:"div",id:"selectall"+this.config.id,className:"selectionBox_item"},s);Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},r);(f=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},r)).appendChild(document.createTextNode(Language.SelectAll)),r.onclick=function(e){l.divClickEvent(e,this)},r=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?r.style.styleFloat="right":r.style.cssFloat="right"}if(null!=this.config.combo1){for(var d in select=Cyberoam.createElement({tag:"select",id:"combo1"+t},r),select.style.width="80px",this.config.combo1){if(this.config.combo1.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo1[d].label)),this.config.combo1Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+t+" table tr td select").each((function(){-1!=this.id.indexOf("combo1")&&(this.value=e)}))}}if(null!=this.config.combo2){for(var d in select=Cyberoam.createElement({tag:"select",id:"combo2"+t},r),select.style.width="80px",select.style.marginLeft="3px",this.config.combo2){if(this.config.combo2.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo2[d].label)),this.config.combo2Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}select.onclick=function(){var e=this.value;$("#selectionBoxBody"+t+" table tr td select").each((function(){-1!=this.id.indexOf("combo2")&&(this.value=e)}))}}var m=parseInt(document.getElementById(this.config.id).style.width);null!=this.config.combo1&&(m-=125),null!=this.config.combo2&&(m-=125);var h=0;for(var b in e){void 0===e[b].label&&(e[b].label=b),0==h&&(a=Cyberoam.createElement({tag:"tr"},c)),s=Cyberoam.createElement({tag:"td"},a);var g="selectionBox_item";e[b].selected&&(g+=" selectionBox_item_select");r=Cyberoam.createElement({tag:"div",className:g},s),Cyberoam.createElement({tag:"div",className:"selectionbox-icon"},r);var f=Cyberoam.createElement({tag:"div",className:"selectionbox-label"},r);if(r.style.width=m+"px",f.style.width=m-30+"px",r.setAttribute("key",b),r.setAttribute("label",e[b].label),r.oncl
2086ick=function(e){l.divClickEvent(e,this)},f.appendChild(document.createTextNode(e[b].label)),r.setAttribute("title",e[b].label),r=Cyberoam.createElement({tag:"td"},a),Cyberoam.isIE?r.style.styleFloat="right":r.style.cssFloat="right",null!=this.config.combo1)for(var d in select=Cyberoam.createElement({tag:"select",id:"combo1"+t},r),select.style.width="80px",void 0!==e[b].selected&&0!=e[b].selected||select.setAttribute("disabled","disabled"),this.config.combo1){if(this.config.combo1.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo1[d].label)),this.config.combo1Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}if(null!=this.config.combo2)for(var d in select=Cyberoam.createElement({tag:"select",id:"combo2"+t},r),select.style.width="80px",select.style.marginLeft="3px",void 0!==e[b].selected&&0!=e[b].selected||select.setAttribute("disabled","disabled"),this.config.combo2){var y;if(this.config.combo2.hasOwnProperty(d))(y=Cyberoam.createElement({tag:"option"})).setAttribute("value",d),y.appendChild(document.createTextNode(this.config.combo2[d].label)),this.config.combo2Selected==d&&y.setAttribute("selected","selected"),select.appendChild(y)}++h==this.config.noOfColumns&&(h=0)}1!=this.config.search?document.getElementById("selectionBoxBody"+this.config.id).style.height=parseInt(document.getElementById(this.config.id).style.height)+"px":document.getElementById("selectionBoxBody"+this.config.id).style.height=parseInt(document.getElementById(this.config.id).style.height)-40+"px"},Cyberoam.SelectionBox.prototype.divClickEvent=function(e,t){var l=this,o=l.config.id;t.id=="selectall"+this.config.id?l.config.isDisabled||(-1==t.className.indexOf("_select")?($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"select",!1)})),l.config.selectAllButtonSelected=!0,t.className+=" selectionBox_item_select"):($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"unselected",!1)})),l.config.selectAllButtonSelected=!1,t.className="selectionBox_item"),"undefined"!=typeof isClick&&1!=isClick||!l.config.click||l.config.click(l)):l.config.isDisabled||this.setItem(t)},Cyberoam.SelectionBox.prototype.setItem=function(e,t,l){var o=e.getAttribute("key"),i=this;if(o){if(-1==e.className.indexOf("_select")&&void 0===t||void 0!==t&&"select"==t){e.className+=" selectionBox_item_select",this.config.data[o].selected=!0;for(var c=e.parentNode.parentNode.childNodes[1].getElementsByTagName("select"),a=0;a<c.length;a++)c[a].disabled=!1}else{e.className="selectionBox_item",this.config.data[o].selected=!1,this.config.selectAllButtonSelected&&(this.config.selectAllButtonSelected=!1,$("#selectall"+this.config.id).removeClass().addClass("selectionBox_item"));for(c=e.parentNode.parentNode.childNodes[1].getElementsByTagName("select"),a=0;a<c.length;a++)c[a].disabled=!0}void 0!==l&&1!=l||!i.config.click||i.config.click(i)}},Cyberoam.SelectionBox.prototype.getSelectedKeys=function(){if(this.config.isDisabled)return null;var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(t);return e},Cyberoam.SelectionBox.prototype.getSelectedLabels=function(){if(this.config.isDisabled)return null;var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(this.config.data[t].label);return e},Cyberoam.SelectionBox.prototype.getSelectedValues=function(){var e=[],t=[],l=[],o=[],i=this.config.id;return $("#selectionBoxBody"+i+" table tr td div").each((function(){if(-1!=this.className.indexOf("_select")&&this.innerHTML!=Language.SelectAll){e.push(this.getAttribute("key")),t.push(this.getAttribute("label"));var i=this.parentNode.parentNode.childNodes[1].getElementsByTagName("select");i[0]&&l.push(i[0].value),i[1]&&o.push(i[1].value)}})),{key:e,label:t,column1:l,column2:o}},Cyberoam.SelectionBox.prototype.getSelectedItems=function(){var e=[];for(var t in this.config.data)1==this.config.data[t].selected&&e.push(this.config.data[t]);return e},Cyberoam.SelectionBox.prototype.selectAll=function(e,t){var l=this,o=l.config.id;e.id=="selectall"+this.config.id&&(t?-1==e.className.indexOf("_select")&&($("#selectionBoxBody"+o+" table tr td div").each((function(){l.
2086setItem(this,"select",!1)})),l.config.selectAllButtonSelected=!0,e.className+=" selectionBox_item_select"):($("#selectionBoxBody"+o+" table tr td div").each((function(){l.setItem(this,"unselected",!1)})),l.config.selectAllButtonSelected=!1,e.className="selectionBox_item"))},Cyberoam.SelectionBox.prototype.create=function(){if(""!=this.id){var e=this;jQuery("#"+this.config.id).attr("class","selectionBox"),document.getElementById(this.config.id).style.height=e.config.height+"px",document.getElementById(this.config.id).style.width=e.config.width+"px",1==this.config.search?(jQuery("#"+this.config.id).html('<table width="100%" align="center" cellspacing="1" cellpadding="0"><tr><td><input type="text" id="searchText'+this.config.id+"\" class='selectionBoxSearch' style=\"width:"+(Number(e.config.width)-10)+"px;*weidth:97%;color:#CCCCCC\" value='"+Cyberoam.getTranslatedMSG("Language.Search")+"'/></td></table><div id=\"selectionBoxBody"+this.config.id+'" class=\'selectionBoxBody\' style="height:120px;"></div>'),jQuery("#searchText"+this.config.id).on("keyup",(function(){e.searchSelectedBox(jQuery(this))})),jQuery("#searchText"+this.config.id).on("focus",(function(e){Cyberoam.textEmptyFocus(this,Cyberoam.getTranslatedMSG("Language.Search"))})),jQuery("#searchText"+this.config.id).on("blur",(function(e){Cyberoam.textEmptyBlur(this,Cyberoam.getTranslatedMSG("Language.Search"))}))):jQuery("#"+this.config.id).html('<div id="selectionBoxBody'+this.config.id+"\" class='selectionBoxBody' style=\"height:"+e.config.height+'px;"></div>'),this.setSelectionBody()}};function replaceAll(e,t,n){for(;e.indexOf(t)>-1;)e=e.replace(t,n);return e}Cyberoam.DataTable=function(e){this.config={id:"",columns:[],width:"auto",height:"auto",validator:null,afterAdd:null,afterDelete:null,css:""};var t={name:"",label:"",type:"textbox",value:"",config:null,option:[],returnKey:!1,width:100,maxlength:null,events:null,title:""};for(var n in this.currentIndex=1,this.checkBox=null,this.CRController={},this.currentElements=[],e){if("undefined"==this.config[n])return void Cyberoam.messageBox({message:"Wrong CRController Configuration "+n});if("columns"==n)for(var l=0;l<e.columns.length;l++){var o={};for(var i in t)e.columns[l][i]?o[i]=e.columns[l][i]:o[i]=t[i];this.config[n].push(o)}else this.config[n]=e[n]}},Cyberoam.DataTable.prototype.create=function(){var e=this,t=this.config,n="auto",l=document.getElementById(t.id);"auto"!=t.width&&(l.style.width=t.width,n=parseInt(t.width)/t.columns.length),"auto"!=t.height&&(l.style.height=t.height),""!=t.css&&(l.style=t.css),dataTableHTML=[],dataTableHTML.push("<table class='datatable' cellpadding=0 cellspecing=0 ><tbody id=tbody"+t.id+" ><tr>");for(var o=0;o<t.columns.length;o++)dataTableHTML.push("<td class='tableheader' align='center' style='width:"+n+"' >"+t.columns[o].label+"</td>"),void 0===t.columns[o].width&&(t.columns[o].width=n);dataTableHTML.push("<td class='tableheader' align='center' style='width:20px;padding-right:12px' ><div class=\"datatableAdd\" id='datatableAdd"+t.id+'\'><i class="fa fa-plus-square"></i></div></td></tr><tr class="datatable-content-row" id=datatable_'+t.id+"_"+this.currentIndex+">");for(o=0;o<t.columns.length;o++)dataTableHTML.push("<td class=tabletext >"+this.createFromElement(t.columns[o])+"</td>");dataTableHTML.push('<td class=tabletext ><div class="datatableDelete" id=\'datatableDelete'+t.id+"_"+this.currentIndex+"' index='"+this.currentIndex+'\'><i class="fa fa-minus-circle"></i></div></td>'),dataTableHTML.push("</tr></tbody></table>"),jQuery(l).html(dataTableHTML.join("")),jQuery("#datatableDelete"+t.id+"_"+this.currentIndex).on("click",(function(){e.deleteRow(this.getAttribute("index"))})),this.CRController[this.currentIndex]={};for(o=0;o<t.columns.length;o++)if("checkbox"==t.columns[o].type){for(var i=[],a=0;a<t.columns[o].option.length;a++)void 0!==t.columns[o].value&&t.columns[o].option[a].key==t.columns[o].value?i.push({id:this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex+"_"+a,name:t.columns[o].name,label:t.columns[o].option[a].label,value:t.columns[o].option[a].key,checked:!0}):i.push({id:this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex+"_"+a,name:t.columns[o].name,label:t.columns[o].option[a].label,value:t.columns[o].option[a].key});this.checkBox=new Cyberoam.CheckBox(i),this.checkBox.create()}else"CRController"==t.columns[o].type&&(t.columns[o].config.id=this.config.id+"_"+t.columns[o].name+"_"+this.currentIndex,this.CRController[this.currentIndex][o]=new Cyberoam.CRController(t.columns[o].config),this.CRController[this.currentIndex][o].create());"textbox"==t.columns[t.columns.length-1].type||"textarea"==t.columns[t.columns.length-1].type||"select"==t.columns[t.columns.length-1].type||"password"==t.columns[t.columns.length-1].type||"hyperlink"==t.columns[t.columns.length-1].type?document.getElementById(this.config.id+"_"+t.columns[t.columns.length-1].name+"_"+this.currentIndex).onkeydown=function(t){9==new Cyberoam.Event(t).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&e.addRow()}:document.getElementById(this.config.id+"_"+t.columns[t.columns.length-1].name+"_"+this.currentIndex+"_"+(t.columns[t.columns.length-1].option.length-1)).onkeydown=function(t){9==new Cyberoam.Event(t).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&e.addRow()},this.currentElements.push(this.currentIndex++),jQuery("#datatableAdd"+t.id).on("click",(function(){e.addRow()}))},Cyberoam.DataTable.prototype.setValueByIndex=function(e,t){var n=this.config,l=document.getElementById("datatable_"+n.id+"_"+t);l||(this.addRow(!0),l=document.getElementById("datatable_"+n.id+"_"+t));for(var o={},i=0;i<this.config.columns.length;i++){var a=this.config.columns[i];if(e[a.name])if("textbox"==a.type&&(l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name]),"textarea"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("password"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("hyperlink"==a.type)l.childNodes[i].childNodes[0].childNodes[0].value=e[a.name];else if("select"==a.type){var s=0;for(var d in a.option)e[a.name]==d&&(l.childNodes[i].childNodes[0].childNodes[0].options[s].selected=!0),s++}else if("checkbox"==a.type){o[a.name]=[];for(d=0;d<a.option.length;d++)"string"==typeof e[a.name]?a.option[d].key==e[a.name]?this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!0):this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!1):-1!=Cyberoam.findItemInArray(a.option[d].key,e[a.name])&&this.checkBox.selectById(this.config.id+"_"+a.name+"_"+t+"_"+d,!0)}else if("CRController"==a.type&&void 0!==e[a.name])"string"==typeof e[a.name]?this.CRController[t][i].setCategory(a.config.category[0].name,new Array(e[a.name])):this.CRController[t][i].setCategory(a.config.category[0].name,e[a.name]);else if("radio"==a.type){o[a.name]=[];for(d=0;d<a.option.length;d++)l.childNodes[i].childNodes[0].childNodes[0].checked=!0,e[a.name]==a.option[d].key&&(l.childNodes[i].childNodes[0].childNodes[2*d].checked=!0)}}},Cyberoam.DataTable.prototype.setValue=function(e){for(var t=0;t<e.length;t++)this.setValueByIndex(e[t],t+1)},Cyberoam.DataTable.prototype.getValueInArray=function(){for(var e={},t=0;t<this.config.columns.length;t++)e[this.config.columns[t].name]=[];for(var n=this.config,l=0;l<this.currentElements.length;l++){var o=document.getElementById("datatable_"+n.id+"_"+this.currentElements[l]);for(t=0;t<this.config.columns.length;t++){var i=this.config.columns[t],a=null;if("textbox"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("password"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("hyperlink"==i.type)a="";else if("textarea"==i.type)a=o.childNodes[t].childNodes[0].childNodes[0].value;else if("select"==i.type)a=i.returnKey?o.childNodes[t].childNodes[0].childNodes[0].value:o.childNodes[t].childNodes[0].childNodes[0].options[o.childNodes[t].childNodes[0].childNodes[0].selectedIndex].text;else if("checkbox"==i.type){record1=[];for(var s=0;s<i.option.length;s++){var d=this.checkBox.getValueById(this.config.id+"_"+i.name+"_"+this.currentElements[l]+"_"+s);0!=d&&record1.push(d)}a=record1}else if("CRController"==i.type)a="undefind"!=typeof i.config.category[0].radioBox&&1==i.config.category[0].radioBox?this.CRController[l][t].getSelectedKeys().toString():this.CRController[l][t].getSelectedKeys();else if("radio"==i.type){record1=[];for(s=0;s<i.option.length;s++)o.childNodes[t].childNodes[0].childNodes[2*s].checked&&record1.push(o.childNodes[t].childNodes[0].childNodes[2*s].value);a=record1}if(a)if("string"==typeof a)a=(a=Cyberoam.trim(a)).replace(/\s+/g," "),a=Cyberoam.replaceAll(a,"\\","\\\\"),a=Cyberoam.replaceAll(a,"'","\\'");else for(var r=0;r<a.length;r++)a[r]=Cyberoam.trim(a[r]),a[r]=a[r].replace(/\s+/g," "),a[r]=Cyberoam.replaceAll(a[r],"\\","\\\\"),a[r]=Cyberoam.replaceAll(a[r],"'","\\'");e[this.config.columns[t].name].push(a)}}return e},Cyberoam.DataTable.prototype.getValue=function(){for(var e=[],t=(this.config,0);t<this.currentElements.length;t++)e.push(this.getRecordByIndex(this.currentElements[t]));return e},Cyberoam.DataTable.prototype.getRecordByIndex=function(e){var t=this.config,n=document.getElementById("datatable_"+t.id+"_"+e),l={};if(n)for(var o=0;o<this.config.columns.length;o++){var i=this.config.columns[o];if("textbox"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("password"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("hyperlink"==i.type)l[i.name]="";else if("textarea"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("select"==i.type)l[i.name]=n.childNodes[o].childNodes[0].childNodes[0].value;else if("checkbox"==i.type){l[i.name]=[];for(var a=0;a<i.option.length;a++){var s=this.checkBox.getValueById(this.config.id+"_"+i.name+"_"+e+"_"+a
2086);0!=s&&l[i.name].push(s)}}else if("CRController"==i.type)"undefind"!=typeof i.config.category[0].radioBox&&1==i.config.category[0].radioBox?l[i.name]=this.CRController[e][o].getSelectedKeys().toString():l[i.name]=this.CRController[e][o].getSelectedKeys();else if("radio"==i.type){l[i.name]=[];for(a=0;a<i.option.length;a++)n.childNodes[o].childNodes[0].childNodes[2*a].checked&&l[i.name].push(n.childNodes[o].childNodes[0].childNodes[2*a].value)}if("string"==typeof l[i.name])l[i.name]=Cyberoam.replaceAll(l[i.name],"\\","\\\\"),l[i.name]=Cyberoam.replaceAll(l[i.name],"'","\\'");else for(var d=0;d<l[i.name].length;d++)l[i.name][d]=Cyberoam.replaceAll(l[i.name][d],"\\","\\\\"),l[i.name][d]=Cyberoam.replaceAll(l[i.name][d],"'","\\'")}return l},Cyberoam.DataTable.prototype.deleteRow=function(e){for(var t=0;t<this.currentElements.length;t++)if(this.currentElements[t]==e){this.currentElements.splice(t,1);break}jQuery("#datatable_"+this.config.id+"_"+e).remove(),null!=this.config.afterDelete&&this.config.afterDelete(this,e),0==this.currentElements.length&&this.addRow(!0)},Cyberoam.DataTable.prototype.addRow=function(e){var t=this,n=this.config,l=!0;if(void 0===e&&null!=n.validator&&(l=n.validator(this)),1==l){dataTableHTML=[],dataTableHTML.push('<tr class="datatable-content-row" id=datatable_'+n.id+"_"+this.currentIndex+">");for(var o=0;o<n.columns.length;o++)dataTableHTML.push("<td class=tabletext >"+this.createFromElement(n.columns[o])+"</td>");dataTableHTML.push("<td class=tabletext align='center' style='width:20px;padding-right:12px'><div class=\"datatableDelete\" id='datatableDelete"+n.id+"_"+this.currentIndex+"' index='"+this.currentIndex+'\'><i class="fa fa-minus-circle"></i></div></td>'),dataTableHTML.push("</tr>"),jQuery("#tbody"+n.id).append(jQuery(dataTableHTML.join(""))),this.CRController[this.currentIndex]={};for(o=0;o<n.columns.length;o++)if("checkbox"==n.columns[o].type)for(var i=0;i<n.columns[o].option.length;i++)void 0!==n.columns[o].value&&n.columns[o].option[i].key==n.columns[o].value?this.checkBox.insert({id:this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex+"_"+i,name:n.columns[o].name,label:n.columns[o].option[i].label,value:n.columns[o].option[i].key,checked:!0}):this.checkBox.insert({id:this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex+"_"+i,name:n.columns[o].name,label:n.columns[o].option[i].label,value:n.columns[o].option[i].key});else"CRController"==n.columns[o].type&&(n.columns[o].config.id=this.config.id+"_"+n.columns[o].name+"_"+this.currentIndex,this.CRController[this.currentIndex][o]=new Cyberoam.CRController(n.columns[o].config),this.CRController[this.currentIndex][o].create());jQuery("#datatableDelete"+n.id+"_"+this.currentIndex).on("click",(function(){t.deleteRow(this.getAttribute("index"))})),null!=n.afterAdd&&n.afterAdd(this,document.getElementById("datatable_"+n.id+"_"+this.currentIndex),this.currentIndex),"textbox"==n.columns[n.columns.length-1].type||"textarea"==n.columns[n.columns.length-1].type||"select"==n.columns[n.columns.length-1].type||"password"==n.columns[n.columns.length-1].type||"hyperlink"==n.columns[n.columns.length-1].type?document.getElementById(this.config.id+"_"+n.columns[n.columns.length-1].name+"_"+this.currentIndex).onkeydown=function(e){9==new Cyberoam.Event(e).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&t.addRow()}:document.getElementById(this.config.id+"_"+n.columns[n.columns.length-1].name+"_"+this.currentIndex+"_"+(n.columns[n.columns.length-1].option.length-1)).onkeydown=function(e){9==new Cyberoam.Event(e).getKeyCode()&&null==jQuery(this.parentNode.parentNode.parentNode).next().attr("id")&&t.addRow()},this.currentElements.push(this.currentIndex++)}},Cyberoam.DataTable.prototype.createFromElement=function(e){var t=["<div style='width:"+(parseInt(e.width)+5)+"px' >"];"textarea"==e.type&&(t=["<div style='margin-right:5px' >"]);var n=e.option;if("textbox"==e.type||"password"==e.type||"hyperlink"==e.type){var l="",o="";if(null!=e.maxlength&&(l="maxlength="+e.maxlength),null!=typeof e.value&&""!=e.value&&null!=e.value&&(o="value="+e.value),"textbox"==e.type?t.push('<input type="text" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+'" '+l+" "+o+" style='height:23px;min-width:30px;width:"+(parseInt(e.width)-15)+"px'"):"password"==e.type?t.push('<input type="password" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+'" '+l+" "+o+" style='height:23px;width:"+(parseInt(e.width)-15)+"px;padding: 5px 1px;min-width: 30px;'"):t.push('<a id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+'" '+l+" "+o+" style='width:"+(parseInt(e.width)-5)+"px' class='' "),e.events)for(var i in e.events)e.events.hasOwnProperty(i)&&t.push(i+"='"+e.events[i]+"' ");"hyperlink"==e.type?t.push(">"+e.value+"</a>"):t.push(">")}else if("textarea"==e.type){o="";null!=typeof e.value&&""!=e.value&&null!=e.value&&(o=e.value),""!=e.title?t.push('<textarea placeholder="'+Cyberoam.getTranslatedMSG(e.title)+'" class="textareacss" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+"\" style='width:"+(parseInt(e.width)-15)+"px' >"+o+"</textarea>"):t.push('<textarea class="textareacss" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" name="'+e.name+"\" style='width:"+(parseInt(e.width)-5)+"px' >"+o+"</textarea>")}else if("checkbox"==e.type){if(0!=n.length)for(var a=0;a<n.length;a++)t.push('<div class="checkBox" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"_"+a+'" ></div>')}else if("radio"==e.type){if(0!=n.length)for(a=0;a<n.length;a++)t.push('<input type="radio" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"_"+a+'" name="'+e.name+"_"+this.currentIndex+'" value="'+n[a].key+"\" style='width:"+(parseInt(e.width)-5)+"px'>"+n[a].label+" ")}else if("CRController"==e.type)t.push('<div id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+'" ></div>');else if("select"==e.type){o="";if(null!=typeof e.value&&""!=e.value&&null!=e.value&&(o=e.value),t.push('<select name="'+e.name+'" id="'+this.config.id+"_"+e.name+"_"+this.currentIndex+"\" style='width:"+(parseInt(e.width)-5)+"px' "),e.events)for(var i in e.events)e.events.hasOwnProperty(i)&&t.push(i+"='"+e.events[i]+"' ");if(t.push(">"),0!=n.length)for(var a in n)if(n.hasOwnProperty(a)){i=a;void 0!==n[a].key&&(i=n[a].key),""!=o&&o==i?t.push('<option value="'+i+"\" selected='selected' title=\""+n[a].label+'">'+Cyberoam.getTranslatedMSG(n[a].label)+"</option>"):t.push('<option value="'+replaceAll(i,'"',""")+'" >'+replaceAll(Cyberoam.getTranslatedMSG(n[a].label),"<","<")+"</option>")}t.push("</select>")}return t.push("</div>"),t.join("")};Cyberoam.dragList=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragList.SELECT_COLUNM},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragList.SELECT_COLUNM=0,Cyberoam.dragList.SELECT_FILTER=1,Cyberoam.dragList.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i),s=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);s.style.overflowX="hidden",s.style.overflowY="auto",s.style.maxHeight="200px";var l="";if(""!=i){var r=0;for(r=0;r<e.length;r++){var o={tag:"div"},d={tag:"li",id:"Combo_item_"+i+"_"+e[r].key};e[r].disable&&e[r].selected?(o.className="dragList1_item selected disabled",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):e[r].disable&&!e[r].selected?o.className="dragList1_item disabled":!e[r].disable&&e[r].selected?(o.className="dragList1_item selected",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):o.className="dragList1_item";var n=Cyberoam.createElement(d,s),g=(Cyberoam.createElement(o,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",e[r].key),n.setAttribute("label",e[r].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",e[r].label),n.onclick=function(e){t.divClickEvent(e,this)},g.appendChild(document.createTextNode(e[r].label)),e[r].selected&&Cyberoam.dragList.SELECT_FILTER==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label)}divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragList.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label"),a=t.getSelectedLabels().join(", ");""==a?i.html(Language.All):i.html(a)}""!=t.config.afterOk&&t.config.afterOk(t)},this.config.dragable&&t.config.dragListType!=Cyberoam.dragList.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragList.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style.width=this.config.width+20+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[0].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragList.SELECT_FILTER==this.config.dragListType){var c=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==l?c.html(Language.All):c.html(l)}},Cyberoam.dragList.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html(e.config.labelDisplay).appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragList.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}jQuery("#mainbody").parent().append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragList.prototype.setIndexAndItem=function(){var e=this;e.selectedItem=[],e.selectedIndex=[];for(var t=document.getElementById("DragList_body"+e.config.id).childNodes[0].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")&&(e.selectedItem.push({key:t[i].getAttribute("key"),label:t[i].getAttribute("label")}),e.selectedIndex.push(i))}0==this.selectedItem.length&&Cyberoam.dragList.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All)},Cyberoam.dragList.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].key);return e},Cyberoam.dragList.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragList.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragList.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragList.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragList.prototype.divClickEvent=function(e,t){var i=$(t).find(".dragList1_item");i.is(".disabled")||(i.is(".selected")?i.removeClass("selected"):i.addClass("selected"))},Cyberoam.dragList.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left+"px",t.style.display="",Cyberoam.currentObject=this}},Cyberoam.dragList.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragList.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragList.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[0].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragList.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedIndex.splice(t,1))},Cyberoam.dragList.prototype.dragListYUI=function(){var e=this.config.id,t=YAHOO.util.Dom,a=YAHOO.util.Event,s=YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}},YAHOO.example.DDList=function(e,i,a){YAHOO.example.DDList.superclass.constructor.call(this,e,i,a);var s=this.getDragEl();t.setStyle(s,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,i){var a=this.getDragEl(),s=this.getEl();try{document.getElementById("dragdiv")&&s.removeChild(document.getElementById("dragdiv"))}catch(e){}a.innerHTML=s.innerHTML,t.setStyle(a,"color",t.getStyle(s,"color")),t.setStyle(a,"backgroundColor",t.getStyle(s,"backgroundColor")),t.setStyle(a,"border","2px solid gray")},endDrag:function(e){var i=this.getEl(),a=this.getDragEl();t.setStyle(a,"visibility","");var s=new YAHOO.util.Motion(a,{points:{to:t.getXY(i)}},.2,YAHOO.util.Easing.easeOut),l=a.id,r=this.id;s.onComplete.subscribe((function(){t.setStyle(l,"visibility","hidden"),t.removeClass(r,"dragElementSpace")})),s.animate()},onDragDrop:function(e,t){if(1===s.interactionInfo.drop.length)s.interactionInfo.point,s.interactionInfo.sourceRegion}
2086,onDrag:function(e){var t=a.getPageY(e);t<this.lastY?this.goingUp=!0:t>this.lastY&&(this.goingUp=!1),this.lastY=t},onDragOver:function(e,i){var a=this.getEl(),l=t.get(i);if("li"==l.nodeName.toLowerCase()){a.parentNode;var r=l.parentNode;this.goingUp?r.insertBefore(a,l):r.insertBefore(a,l.nextSibling),s.refreshCache()}}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)},Cyberoam.dragListWithSearch=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragListWithSearch.SELECT_COLUNM},this.selectedItem=[],this.selectedKeys=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragListWithSearch.SELECT_COLUNM=0,Cyberoam.dragListWithSearch.SELECT_FILTER=1,Cyberoam.dragListWithSearch.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i);if(a.style.overflow="hidden",$("#DragList_body"+i).addClass("dragWithSearchDiv"),this.config.searchbox){var s=Cyberoam.createElement({tag:"div",className:"comboSearchLi",id:"Combo_item_search_li"+i},a),l=Cyberoam.createElement({id:"search"+i,className:"comboSearchInput",tag:"input",type:"text",value:""},s);Cyberoam.createElement({tag:"i",className:"comboSearchIcon fa fa-search"},s);l.onkeydown=function(e){t.searchArray(e,this,r)}}var r=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);r.style.overflowX="hidden",r.style.overflowY="auto",r.style.maxHeight="165px";var o="";if(""!=i){var d=0;for(d=0;d<e.length;d++){var n={tag:"div"},g={tag:"li",id:"Combo_item_"+i+"_"+e[d].key};e[d].disable&&e[d].selected?(n.className="dragList1_item selected disabled",t.pushKeyInSelectedKeys(t,e[d].key,e[d].label)):e[d].disable&&!e[d].selected?n.className="dragList1_item disabled":!e[d].disable&&e[d].selected?(n.className="dragList1_item selected",t.pushKeyInSelectedKeys(t,e[d].key,e[d].label)):n.className="dragList1_item";var c=Cyberoam.createElement(g,r),h=(Cyberoam.createElement(n,c),Cyberoam.createElement({tag:"div"},c));c.setAttribute("key",e[d].key),c.setAttribute("label",e[d].label),$(c).css({"list-style":"none"}),$(h).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(h).attr("title",e[d].label),c.onclick=function(e){t.divClickEvent(e,this)},h.appendChild(document.createTextNode(e[d].label)),e[d].selected&&Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType&&(""!=o&&(o+=", "),o+=e[d].label)}divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragListWithSearch.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label"),a=t.getSelectedLabels().join(", ");""==a?i.html(Language.All):i.html(a)}""!=t.config.afterOk&&t.config.afterOk(t);var s=$(this).closest(".dragWithSearchDiv").find(".comboSearchInput");s.val(""),s.trigger("keydown")},this.config.dragable&&t.config.dragListType!=Cyberoam.dragListWithSearch.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragListWithSearch.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style.width=this.config.width+20+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[1].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType){var m=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==o?m.html(Language.All):m.html(o)}},Cyberoam.dragListWithSearch.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html(e.config.labelDisplay).appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}$("body").append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragListWithSearch.prototype.setIndexAndItem=function(){for(var e=this,t=document.getElementById("DragList_body"+e.config.id).childNodes[1].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")?e.pushKeyInSelectedKeys(e,t[i].getAttribute("key"),t[i].getAttribute("label")):e.removeItem(t[i].getAttribute("key"))}0==this.selectedItem.length&&Cyberoam.dragListWithSearch.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All)},Cyberoam.dragListWithSearch.prototype.getSelectedKeys=function(){return this.selectedKeys},Cyberoam.dragListWithSearch.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedKeys.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragListWithSearch.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragListWithSearch.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragListWithSearch.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragListWithSearch.prototype.divClickEvent=function(e,t){var i=this,a=$(t).find(".dragList1_item"),s=$(t).attr("key"),l=$(t).attr("label");a.is(".disabled")||(a.is(".selected")?(a.removeClass("selected"),i.removeItem(s)):(a.addClass("selected"),i.pushKeyInSelectedKeys(i,s,l)))},Cyberoam.dragListWithSearch.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left+"px",t.style.display="",Cyberoam.currentObject=this}},Cyberoam.dragListWithSearch.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragListWithSearch.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragListWithSearch.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedKeys.splice(this.selectedKeys.indexOf(e),1))},Cyberoam.dragListWithSearch.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[1].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragListWithSearch.prototype.dragListYUI=function(){var e=this.config.id;YAHOO.util.Dom,YAHOO.util.Event,YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}}},Cyberoam.dragListWithSearch.prototype.searchArray=function(e,t,i){var a,s=this;setTimeout((function(){a=document.getElementById(t.id).value;var e=s.search(a,s);""!=t.id&&Cyberoam.dragListWithSearch.prototype.setBody_i(s,e,i)}),0)},Cyberoam.dragListWithSearch.prototype.search=function(e,t){for(var i=[],a=JSON.parse(JSON.stringify(t.config.data)),s=0;s<a.length;s++){var l=a[s].label.toLowerCase(),r=e.toLowerCase();l.startsWith(r)&&(i.push(a[s]),-1!=t.selectedKeys.indexOf(a[s].key)&&(i[i.length-1].isSelected=!0))}return i},Cyberoam.dragListWithSearch.prototype.setBody_i=function(e,t,i){var a=e.config.id,s=$("#DragList_body"+a).find(".comboSearchInput").val();$("#DragList_Items"+a+" li").remove();for(var l=0;l<t.length;l++)if(!s||t[l].label!=Language.All){var r={tag:"div"},o={tag:"li",id:"Combo_item_"+a+"_"+t[l].key};if(null!=e.selectedItemtemp&&e.selectedItemtemp.length>0)for(var d=0;d<e.selectedItemtemp.length;d++)e.selectedItemtemp[d].key==t[l].key&&(t[l].tempSelected=!0);t[l].disable&&t[l].isSelected?(r.className="dragList1_item selected disabled",e.pushKeyInSelectedKeys(e,t[l].key)):t[l].disable&&!t[l].isSelected?r.className="dragList1_item disabled":!t[l].disable&&t[l].isSelected?(r.className="dragList1_item selected",e.pushKeyInSelectedKeys(e,t[l].key)):r.className="dragList1_item";
2086var n=Cyberoam.createElement(o,i),g=(Cyberoam.createElement(r,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",t[l].key),n.setAttribute("label",t[l].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",t[l].label),n.onclick=function(t){e.divClickEvent(t,this)},g.appendChild(document.createTextNode(t[l].label))}this.bindEvent(a,e)},Cyberoam.dragListWithSearch.prototype.bindEvent=function(e,t){var i=$("#DragList_body"+e+" li"),a="Combo_item_"+e+"_0",s=$("#"+a);s.length&&i.find("div.selected").length==i.length-1&&t.setSelectAllItems(!0,!1),i.on("click",(function(){$(this).attr("id")==a?s.find(".selected").length?t.setSelectAllItems(!0,!1):t.setSelectAllItems(!1,!1):s.find(".selected").length?s.find(".selected").removeClass("selected"):s.length&&i.find("div.selected").length==i.length-1&&t.setSelectAllItems(!0,!1)}))},Cyberoam.dragListWithSearch.prototype.pushKeyInSelectedKeys=function(e,t,i){-1==e.selectedKeys.indexOf(t)&&"0"!=t&&(e.selectedKeys.push(t),e.selectedItem.push({key:t,label:i}))},Cyberoam.dragListWithFilter=function(e){for(var t in this.config={id:"",data:[],style:"",height:"auto",width:150,labelDisplay:"select",afterOk:"",dragable:!0,dragListType:Cyberoam.dragListWithFilter.SELECT_COLUNM},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:[],style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.dragListWithFilter.SELECT_COLUNM=0,Cyberoam.dragListWithFilter.SELECT_FILTER=1,Cyberoam.dragListWithFilter.prototype.setBody=function(){$("#DragList_body"+this.config.id).html("");var e,t=this,i=this.config.id;e=this.config.data;var a=document.getElementById("DragList_body"+i),s=Cyberoam.createElement({tag:"div",id:"DragList_Items"+i,className:"DragList-Items-class"},a);s.style.overflowX="hidden",s.style.overflowY="auto",s.style.maxHeight="200px";var l="";if(t.searchTag=new Cyberoam.searchTag(t),""!=i){var r=0;for(r=0;r<e.length;r++){var o={tag:"div"},d={tag:"li",id:"Combo_item_"+i+"_"+e[r].key};e[r].disable&&e[r].selected?(o.className="dragList1_item selected disabled",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):e[r].disable&&!e[r].selected?o.className="dragList1_item disabled":!e[r].disable&&e[r].selected?(o.className="dragList1_item selected",t.selectedItem.push({key:e[r].key,label:e[r].label}),t.selectedIndex.push(r)):o.className="dragList1_item";var n=Cyberoam.createElement(d,s),g=(Cyberoam.createElement(o,n),Cyberoam.createElement({tag:"div"},n));n.setAttribute("key",e[r].key),n.setAttribute("label",e[r].label),$(n).css({"list-style":"none"}),$(g).css({"white-space":"nowrap","text-overflow":"ellipsis",overflow:"hidden"}),$(g).attr("title",e[r].label),n.onclick=function(e){t.divClickEvent(e,this)},g.appendChild(document.createTextNode(e[r].label)),e[r].selected&&Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label),e[r].selected&&Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType&&(""!=l&&(l+=", "),l+=e[r].label)}t.selectedItem.length&&t.searchTag.create(),divObject=Cyberoam.createElement({tag:"div"},a),divObject.style.backgroundColor="#FFF",divObject.style.paddingTop="8px",divObject.style.paddingBottom="5px",divObject.setAttribute("align","center"),inputObject=Cyberoam.createElement({id:"draglist_okBtn_"+t.config.id,tag:"input",className:"draglist-primary-btn",type:"button"},divObject),inputObject.onclick=function(e){if(t.hideAndGetSelected(e,this),t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_FILTER){var i=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==(a=t.getSelectedLabels().join(", "))?i.html(Language.All):i.html(a)}if(t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_COLUNM){i=$("#DragList_item_"+t.config.id+" .text");var a,s=$("#DragList_item_"+t.config.id+" .iconSpanDiv");""==(a=t.getSelectedLabels().join(", "))?s.hide():s.show()}t.config.displaySelectedTag&&t.searchTag.create(),""!=t.config.afterOk&&t.config.afterOk(t)},this.config.dragable&&t.config.dragListType!=Cyberoam.dragListWithFilter.SELECT_FILTER&&$("<label></label>").text(Language.dragToMoveColumn).css({color:"#7f8b93","font-size":"11px","font-family":"'InterRegular',arial,sans-serif",padding:"0px 0px 1px 4px"}).appendTo(a),t.config.dragListType==Cyberoam.dragListWithFilter.SELECT_FILTER?inputObject.setAttribute("value",Language.Save):inputObject.setAttribute("value",Language.OkCC)}if(a.style.height="auto",a.style["border-radius"]="3px",a.style.width=this.config.width+30+"px",jQuery(a).height()>parseInt(this.config.height)+5&&(a.childNodes[0].style.height=this.config.height-25+"px",a.style.height=this.config.height+"px"),this.config.dragable&&this.dragListYUI(),Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType){var c=$("#DragList_item_"+t.config.id+" .draglist-filter-label");""==l?c.html(Language.All):c.html(l)}if(Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType){c=$("#DragList_item_"+t.config.id+" .text");var h=$("#DragList_item_"+t.config.id+" .iconSpanDiv");c.html(t.config.labelDisplay),""==l?h.hide():h.show()}},Cyberoam.dragListWithFilter.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=this.config.id,i=jQuery("#"+t).addClass("draglist_container").on("click",(function(){""==document.getElementById("DragList_body"+e.config.id).style.display?e.hide():e.show()}));i.wrap('<div id="'+e.config.id+'Div" class="dragFilterContainer"></div>'),i.after('<span class="iconspan"><i class="fa fa-caret-down"></i></span>'),$("#"+e.config.id+"Div .iconspan").on("click",(function(e){$(this).closest(".dragFilterContainer").find(".draglist_container").trigger("click")})),jQuery("#"+t).on("mouseover",(function(){$(this).addClass("draglist_container_hilite"),$("#DragList_item_"+t).addClass("draglist_select_hilite"),$("#Combo_button"+t).addClass("draglist_button_hilite")})),jQuery("#"+t).on("mouseout",(function(){$(this).removeClass("draglist_container_hilite"),$("#DragList_item_"+t).removeClass("draglist_select_hilite"),$("#Combo_button"+t).removeClass("draglist_button_hilite")}));
2086var a=$("<div></div>").addClass("draglist-type-filter-title").html(e.config.labelDisplay).hide().appendTo(i),s=$("<div></div>").attr("id","DragList_item_"+t).addClass("draglist_select").html('<span class="text">'+e.config.labelDisplay+'</span><span class="icon-circle-check iconSpanDiv"></span>').appendTo(i),l=($("<div></div>").attr("id","Combo_button"+t).addClass("draglist_button").html("").appendTo(i),"");if(Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType){i.addClass("draglist-container-type-filter"),s.addClass("draglist-type-filter"),l="draglist-combo-body-filter",a.show(),s.empty();$("<i></i>").addClass("fa").addClass("fa-sort").addClass("fa-1x").css({float:"right","margin-top":"3px"}).appendTo(s),$("<div></div>").css({float:"left",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis",width:"88%"}).addClass("draglist-filter-label").appendTo(s)}jQuery("#mainbody").parent().append(jQuery("<div id=DragList_body"+t+" class ='Combo_body draglist-combo-body "+l+"' style='display:none'></div>")),this.setBody()},Cyberoam.dragListWithFilter.prototype.setIndexAndItem=function(){var e=this;e.selectedItem=[],e.selectedIndex=[];for(var t=document.getElementById("DragList_body"+e.config.id).childNodes[0].childNodes,i=0;i<t.length;i++){$(t[i]).find(".dragList1_item").is(".selected")&&(e.selectedItem.push({key:t[i].getAttribute("key"),label:t[i].getAttribute("label")}),e.selectedIndex.push(i))}if(0==this.selectedItem.length&&Cyberoam.dragListWithFilter.SELECT_FILTER==this.config.dragListType&&$("#DragList_item_"+e.config.id+" .draglist-filter-label").eq(0).html(Language.All),0==this.selectedItem.length&&Cyberoam.dragListWithFilter.SELECT_COLUNM==this.config.dragListType){var a=$("#DragList_item_"+e.config.id);a.find(".text").html(e.config.labelDisplay),a.find(".text").attr("title",e.config.labelDisplay),a.find(".iconSpanDiv").hide()}},Cyberoam.dragListWithFilter.prototype.getSelectedKeys=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].key);return e},Cyberoam.dragListWithFilter.prototype.getSelectedLabels=function(){for(var e=[],t=0;t<this.selectedIndex.length;t++)e.push(this.selectedItem[t].label);return e},Cyberoam.dragListWithFilter.prototype.getSelectedItems=function(){return this.selectedItem},Cyberoam.dragListWithFilter.prototype.hideAndGetSelected=function(){this.setIndexAndItem(),""==document.getElementById("DragList_body"+this.config.id).style.display&&this.hide()},Cyberoam.dragListWithFilter.prototype.getItemByIndex=function(e){if(this.config.data[e])return this.config.data[e]},Cyberoam.dragListWithFilter.prototype.divClickEvent=function(e,t){var i=$(t).find(".dragList1_item");i.is(".disabled")||(i.is(".selected")?i.removeClass("selected"):i.addClass("selected"))},Cyberoam.dragListWithFilter.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id),t=document.getElementById("DragList_body"+this.config.id);Cyberoam.pageLayer>0&&(t.style.zIndex=200*Cyberoam.pageLayer+5),t.style.top=e.offset().top+e.height()+"px",t.style.left=e.offset().left-1+"px",t.style.display="",t.style["min-height"]="auto",Cyberoam.currentObject=this}},Cyberoam.dragListWithFilter.prototype.hide=function(){document.getElementById("DragList_body"+this.config.id).style.display="none",Cyberoam.currentObject=null},Cyberoam.dragListWithFilter.prototype.getOffsetPosition=function(){var e=document.getElementById("DragList_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]},Cyberoam.dragListWithFilter.prototype.setSelectAllItems=function(e,t){null==e&&(e=!0),null==t&&(t=!1);for(var i=document.getElementById("DragList_body"+this.config.id).childNodes[0].childNodes,a=0;a<i.length;a++){var s=$(i[a]).find(".dragList1_item");if(s.is(".disabled")){if(!t)continue;e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}else e?s.removeClass("selected").addClass("selected"):s.removeClass("selected")}this.setIndexAndItem()},Cyberoam.dragListWithFilter.prototype.removeItem=function(e){for(var t=0;t<this.selectedItem.length;t++)this.selectedItem[t].key==e&&(this.selectedItem.splice(t,1),this.selectedIndex.splice(t,1)
2086)},Cyberoam.dragListWithFilter.prototype.dragListYUI=function(){var e=this.config.id;YAHOO.util.Dom,YAHOO.util.Event,YAHOO.util.DragDropMgr;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("DragList_Items"+e);var t=document.getElementById("DragList_Items"+e);for(i=0;i<t.childNodes.length;i+=1)if(-1==t.childNodes[i].className.indexOf("_disable"))new YAHOO.example.DDList(t.childNodes[i].id)}}},Cyberoam.dragListWithFilter.prototype.clearFilter=function(){this.setSelectAllItems(!1,!1),this.config.afterOk(this)},Cyberoam.searchTag=function(e){if(this.tagConfig=e.config.tagConfig,e.config.displaySelectedTag)if(e.config.tagConfig){this.tagConfig.maximumCharToDisplay||(this.tagConfig.maximumCharToDisplay=35),this.tagConfig.inputId&&(this.tagConfig.getSelectedLabelMethod="none");for(var t in{parentContainerId:"",tagContainerId:"",clearFilterMethod:"",getSelectedLabelMethod:"",displayLabel:""})!this.tagConfig[t]||this.tagConfig[t];if($("#"+this.tagConfig.parentContainerId).length)if(this.tagConfig.inputId){if(!$("#"+this.tagConfig.inputId).length)return void Cyberoam.messageBox({message:"Input box is not available"})}else{this.parentThisObj=e;var i=this.tagConfig.clearFilterMethod;this.parentThisObj[i]}else Cyberoam.messageBox({message:"Container div is not available"})}else Cyberoam.messageBox({message:"Config parameters are missing"})},Cyberoam.searchTag.prototype.create=function(){var e,t=this,i=t.tagConfig.getSelectedLabelMethod;$parentContainer=$("#"+t.tagConfig.parentContainerId),$tagContainer=$("#"+t.tagConfig.tagContainerId);var a=lbl="";if(t.tagConfig.getTagsLabel?(a=lbl=t.parentThisObj.getTagsLabel(),e=t.parentThisObj.getKeyFilterVal().key):a=t.tagConfig.inputId?lbl=$("#"+t.tagConfig.inputId).val():lbl=t.parentThisObj[i]().join(", "),lbl)if(t.tagConfig.displayLabel&&(lbl=t.tagConfig.displayLabel+" : "+lbl),lbl.length>t.tagConfig.maximumCharToDisplay&&(lbl=lbl.substr(0,t.tagConfig.maximumCharToDisplay)+"..."),$tagContainer.length)$("#"+t.tagConfig.tagContainerId+" .searchTagLbl").text(lbl),$("#"+t.tagConfig.tagContainerId+" .searchTagLbl").attr("title",a);else{var s=$('<span class="searchTagMaindiv '+t.tagConfig.tagClass+'"> \t\t\t\t\t\t\t<span class="searchTagFilterDiv"> \t\t\t\t\t\t\t\t<span class="searchTagLbl" style="vertical-align: middle;"></span> \t\t\t\t\t\t\t\t<span class="removeTag icomoon-x '+t.tagConfig.tagRemoveClass+'" style="cursor:pointer;vertical-align: middle;" ></span> \t\t\t\t\t\t\t</span> \t\t\t\t\t\t</span>');s.attr("parentKey",e),s.attr("id",t.tagConfig.tagContainerId),s.find(".searchTagLbl").attr("title",a),s.find(".searchTagLbl").text(lbl),$parentContainer.append(s),$("#"+t.tagConfig.tagContainerId+" .removeTag").on("click",(function(){t.remove($(this))}))}else t.remove()},Cyberoam.searchTag.prototype.remove=function(e){var t,i=this,a=i.tagConfig.clearFilterMethod;e&&e.length?(t=e.closest(".searchTagMaindiv").attr("parentkey"),e.closest(".searchTagMaindiv").remove()):$("#"+i.tagConfig.tagContainerId).remove(),this.tagConfig.inputId?($("#"+i.tagConfig.inputId).val(""),i.tagConfig.clearFilterMethod()):i.parentThisObj[a]?i.parentThisObj[a]():i.tagConfig.clearFilterMethod&&e&&e.length&&i.tagConfig.clearFilterMethod(t,"")},Cyberoam.searchTag.prototype.removeTag=function(){this.tagConfig.inputId&&$("#"+this.tagConfig.inputId).val(""),$("#"+this.tagConfig.tagContainerId).remove()};Cyberoam.advanceFilterComponent=function(e){this.config=e,this.config.placeholderId?this.createButton():Cyberoam.messageBox({message:"Placeholder Div is not defined"})},Cyberoam.advanceFilterComponent.prototype.createButton=function(){var e=this,t=$("#"+e.config.placeholderId);t.length?(t.append('<div id="advanceFilterButton" title="Add filter"><label>'+e.config.buttonLable+'</label><div class="advanceFilterIcon fa fa-sort-desc"></div><div class="fa fa-caret-down" style="margin-left: 5px; font-size: 15px;></div></div>'),$("#advanceFilterButton").on("click",(function(){$("#advanceFilterOpenBox").length?$("#advanceFilterOpenBox").remove():t.append(e.returnPopupHtml()),e.bindEvents(t)}))):Cyberoam.messageBox({message:"Placeholder Div is not found"})},Cyberoam.advanceFilterComponent.prototype.returnPopupHtml=function(){var e=this,t=conditionOptionHtml="";for(t in e.config.field)if(e.config.field.hasOwnProperty(t)){var a=e.config.field[t];conditionOptionHtml+='<option tagLable="'+a.TagLable+'" value="'+a.Value+'" filtertype="'+a.filterType+'">'+a.ComponentLable+"</option>"}return $('<div id="advanceFilterOpenBox" class="advanceFilterPopupOpenBox">\t\t\t\t\t\t\t<div class="advanceFilterWrapperDiv">\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFirstLineDiv">\t\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFontFiled advanceFilterBoxSecondLineDiv"><label id="Language.Add_Filter">Add filter</label></div>\t\t\t\t\t\t\t\t\t<div id="advanceFilterBoxSecondLineDivClose" class="fa fa-times fa-3x advanceFilterBoxSecondLineDivClose"></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText"><label id="Language.Field">Field</label>: </div>\t\t\t\t\t\t\t\t<div>\t\t\t\t\t\t\t\t\t<select id="advancefieldselection" class="advanceFieldSelection">\t\t\t\t\t\t\t\t\t'+conditionOptionHtml+'\t\t\t\t\t\t\t\t\t</select>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText adavnceFilterConditionDiv"><label id="Language.Condition">Condition</label>: </div>\t\t\t\t\t\t\t\t<div><select id="advanceconditionselection" class="adavnceFilterConditionDiv advanceFieldSelection"></select></div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxFieldsText thirdBox"></div>\t\t\t\t\t\t\t\t<div id="advanceFilterBoxValue" style="margin:30px 0px 0px 5px;"></div>\t\t\t\t\t\t\t\t<div class="advanceFilterBoxSubmitButtonDiv"><input type="submit" id="advanceFilterBoxSubmit" class="cp-btn cp-green-btn" value="'+Language.Add_Filter+'"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>')}
2086,Cyberoam.advanceFilterComponent.prototype.bindEvents=function(e){var t=this;$("#advanceFilterBoxSecondLineDivClose").on("click",(function(){t.hidePopup()})),$(document).on("click",(function(e){var a=$("#advanceFilterOpenBox, #advanceFilterButton, .CNS-multi-selector-div");a.is(e.target)||0!==a.has(e.target).length||$(".CNS-single-selector-div").length||$(".CNS-multi-selector-div").length||$(".messegeBoxcontent").length||t.hidePopup()})),$("#advancefieldselection").on("change",(function(){$("#advanceFilterBoxValue").html("");var e=$("#advancefieldselection :selected").attr("filtertype"),a="";for(key in t.config.condition[e])if(t.config.condition[e].hasOwnProperty(key)){var i=t.config.condition[e][key];a+='<option tagLable="'+i.TagLable+'" value="'+i.value+'" filtertype="'+e+'" subfiltertype="'+key+'">'+i.label+"</option>"}$("#advanceconditionselection").html("").append(a).trigger("change")})),$("#advanceconditionselection").on("change",(function(){$("#advanceFilterBoxValue").html(""),$("#advanceFilterOpenBox .thirdBox").html("");var e=$("#advanceconditionselection :selected"),a=e.attr("filtertype"),i=e.attr("subfiltertype"),n="",l="",o=t.config.condition[a][i].type;if(o){if("text"==o)n="Value :",l='<input type="text" id="advanceInputBox" class="advanceInputBox" value="" maxlength="255"><select id="advanceValueSelection" class="advanceFieldSelection" style="display:none;"></select>\t\t\t\t\t\t\t<div alt="paste" class="paste manageicon" onclick="LogViewer.pasteAnonymizedFilterTxt();" title="Paste from temporary variable" id="advancepasteicon" style="display: none;"></div>',$("#advanceFilterBoxValue").html(l);else if("SingleSelector"==o||"MultiSelector"==o){n="Select :";var c=t.config.condition[a][i].data,d=t.config.condition[a][i].defaultOption,r=t.config.condition[a][i].searchableItems;null!=r&&null!=r||(r=[]),t.initSingleSelector(c,o,d,r)}$("#advanceFilterOpenBox .thirdBox").html("<label>"+n+"</label>")}t.config.condition[a][i].hidden?$(".adavnceFilterConditionDiv").hide():$(".adavnceFilterConditionDiv").show()})),$("#advanceFilterBoxSubmit").on("click",(function(){if(t.validateAdvanceFilterData()){var e=$("#advancefieldselection").val();e||(e=$("#advanceconditionselection :selected").val());var a="advancefieldselection"+e.replace(/[^A-Z0-9]/gi,"_");if(t.config.tagConfig.tagContainerId=a,t.config.displaySelectedTag&&(t.config.searchTag=new Cyberoam.searchTag(t),t.config.searchTag.create()),t.config.afterOk){var i=t.getKeyFilterVal();t.config.afterOk(i.key,i.val,i.selectedKey)}t.hidePopup()}})),$("#advancefieldselection").trigger("change")},Cyberoam.advanceFilterComponent.prototype.validateAdvanceFilterData=function(){var e=!0,t=$("#advanceconditionselection option:selected").attr("value"),a=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(a.length)finalVal=a.val(),finalVal||(Cyberoam.messageBox({message:Language.FwPleaseEnterVal}),e=!1);else if(this.selectorData&&this.selectorData.selectorObj){this.selectorData.selectorObj.object.getSelectedLabels().length||(Cyberoam.messageBox({message:Language.FwSelectOne}),e=!1)}}else finalVal=t;return e},Cyberoam.advanceFilterComponent.prototype.initSingleSelector=function(e,t,a,i){var n=t;this.selectorData={selectorObj:{objType:n,config:{defaultOption:a,id:"advanceFilterBoxValue",isSearchBox:!0,defaultLabel:Language.Select,searchableItems:i,data:e}}},Cyberoam.initEntityObject(null,this.selectorData)},Cyberoam.advanceFilterComponent.prototype.hidePopup=function(){$("#advanceFilterOpenBox").remove()},Cyberoam.advanceFilterComponent.prototype.getSelectedValue=function(){},Cyberoam.advanceFilterComponent.prototype.clearMethod=function(){},Cyberoam.advanceFilterComponent.prototype.getKeyFilterVal=function(){var e={},t="",a="",i=$("#advancefieldselection option:selected").attr("value"),n=$("#advanceconditionselection option:selected").attr("value"),l=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(l.length)a=l.val();else if(this.selectorData&&this.selectorData.selectorObj){var o=this.selectorData.selectorObj.object.getSelectedLabels();o.length&&(a=o.join(",")),(t=this.selectorData.selectorObj.object.getSelectedKeys()).length&&(t=t.join(","))}}else a=n;return i||n&&a&&(i=n),i&&a&&(e.val=a,e.key=i,e.selectedKey=t),e},Cyberoam.advanceFilterComponent.prototype.getTagsLabel=function(){var e,t="",a=$("#advancefieldselection option:selected").attr("taglable"),i=$("#advanceconditionselection option:selected").attr("taglable"),n=$("#advanceFilterOpenBox #advanceInputBox");if($("#advanceFilterOpenBox .thirdBox").children().length){if(n.length){if(!(t=n.val()))return Cyberoam.messageBox({message:"Please enter valid value."}),!1}else if(this.selectorData&&this.selectorData.selectorObj){var l=this.selectorData.selectorObj.object.getSelectedLabels();l.length&&(t=l.join(","))}i&&"undefined"!=i||(i=""),e=a+" "+i+" "+t}else t=i,e=a+" "+i;return e};Cyberoam.ListBox=function(t){for(var e in this.config={id:"",data:[],height:150,returnKey:!1,formater:"",addValidation:"",deleteValidation:"",addOperation:"",deleteOperation:"",draggable:!1,style:"",disabled:!1,width:150,textValidation:!0}
2086,this.searchInterval=null,this.searchData=[],this.listSearchThread=null,this.lastSearch="",this.myDTDrags=[],t){if(null==this.config[e])return Cyberoam.messageBox({message:"Wrong ListBox Configuration "+e}),void(this.config={id:"",data:[],addValidation:"",deleteValidation:"",draggable:!1});this.config[e]=t[e]}void 0===this.config.data&&(this.config.data={},this.config.data.length=0)},Cyberoam.ListBox.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.ListBox.prototype.disabled=function(t){this.config.disabled=t,document.getElementById("btnAddItem"+this.config.id).disabled=!!t},Cyberoam.ListBox.prototype.deleteOperationBySystem=function(t){if(!this.config.disabled){var e=!0;if(""!=this.config.deleteValidation&&(e=this.config.deleteValidation(t.parent().parent(),t.prev().prev().attr("key"),this)),e){t.addClass("processing");var i=t.prev().prev().attr("key"),a=-1,o=0;for(var s in this.config.data){if(s==i){a=o;break}o++}if(""!=this.config.deleteOperation)(e=this.config.deleteOperation(t.parent().parent(),i,a,this))||t.removeClass("processing");else{delete this.config.data[i];try{this.config.data.length--}catch(t){}for(var s in this.searchData)this.searchData[s].label==i&&this.searchData.splice(s,1);this.setListBody()}}}},Cyberoam.ListBox.prototype.deleteNode=function(t){if(!this.config.disabled){var e=-1,i=0,a=!1;for(var o in this.config.data){if(o==t.key){e=i,a=!0;break}"length"!=o&&i++}if(a){delete this.config.data[t.key];try{this.config.data.length--}catch(t){}i=0;for(var o in this.searchData)this.searchData[o].label==t.label&&(this.searchData.splice(o,1),e=i),i++;var s=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];s.childNodes[e]&&s.removeChild(s.childNodes[e])}}},Cyberoam.ListBox.prototype.deleteAll=function(){this.config.data={},this.config.data.length=0,this.setListBody()},Cyberoam.ListBox.prototype.deleteNodeByIndex=function(t){if(!this.config.disabled&&this.config.data.length>t){delete this.config.data[document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0].childNodes[0].innerHTML];try{this.config.data.length--}catch(t){}var e=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];e.childNodes[t]&&e.removeChild(e.childNodes[t])}},Cyberoam.ListBox.prototype.insertOperationBySystem=function(t){if(!this.config.disabled){var e=this.config,i=!0,a=jQuery("#txtListItem"+this.config.id).val();(!e.textValidation||""!=a&&a!=Language.SearchOrAdd)&&(document.getElementById("listbody"+this.config.id).innerHTML="<div class='processing'> </div>",""!=e.addValidation&&(i=e.addValidation(a,this)),i?""!=e.addOperation?(i=e.addOperation(a,this))||this.afterInsertNode():(e.data[a]={label:a,key:a},this.afterInsertNode()):this.afterInsertNode()),jQuery("#txtListItem"+this.config.id).val(""),jQuery("#txtListItem"+this.config.id).css("color","#000"),i&&jQuery("#txtListItem"+this.config.id).trigger("focus")}},Cyberoam.ListBox.prototype.ListBoxNodes=function(){return this.config.data},Cyberoam.ListBox.prototype.insertNode=function(t){if(!this.config.disabled){""!=t.label&&t.label!=Language.SearchOrAdd&&(this.config.data[t.key]=t,this.config.data.length++),this.afterInsertNode()}},Cyberoam.ListBox.prototype.afterInsertNode=function(){this.setListBody()},Cyberoam.ListBox.prototype.searchListBox=function(t){null!=this.searchInterval&&clearTimeout(this.searchInterval);var e=this,i=this.config.data,a=t.val();this.searchProcess=function(t,i){document.getElementById("listbody"+this.config.id);if(this.lastSearch.length>t.length?this.searchData=[]:this.searchData.length>0&&(i=this.searchData,this.searchData=[]),""!=t&&"rgb(204, 204, 204)"!=document.getElementById("txtListItem"+this.config.id).style.color){t=t.toLowerCase(),jQuery("#listbody"+this.config.id).html("");var a=document.getElementById("listbody"+this.config.id),o=Cyberoam.createElement({tag:"table",className:"box"},a);o.setAttribute("cellspacing","1"),o.setAttribute("width","100%");var s=Cyberoam.createElement({tag:"tbody"},o),n=!0;for(var r in i)if("length"!=r&&0==i[r].label.toLowerCase().indexOf(t)){this.searchData.push(i[r]);var d=Cyberoam.createElement({tag:"tr"},s),l=Cyberoam.createElement({tag:"td"},d);n=!1;var c=Cyberoam.createElement({tag:"span"},l);c.style.display="none",c.setAttribute("key",i[r].label);var h=Cyberoam.createElement({tag:"div",title:i[r].label},l);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.marginLeft="5px",h.style.width=this.config.width-48+"px",h.appendChild(document.createTextNode(i[r].label)),(h=Cyberoam.createElement({tag:"div",className:"listclose",title:i[r].label},l)).onclick=function(){e.deleteOperationBySystem(jQuery(this))}}if(n){d=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},s);(l=Cyberoam.createElement({tag:"td"},d)).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData=[],this.setListBody();this.lastSearch=t},(""!=a||""==a&&""!=this.lastSearch)&&(this.searchInterval=setTimeout((function(){e.searchProcess(a,i)}),1e3))},Cyberoam.ListBox.prototype.refresh=function(){this.setListBody()},Cyberoam.ListBox.prototype.setListBody=function(t){null!=this.searchInterval&&clearTimeout(this.searchInterval);var e=[];null==t?e=this.config.data:(this.config.data=t,e=t),jQuery("#listbody"+this.config.id).html("");var i=document.getElementById("listbody"+this.config.id),a=this,o=Cyberoam.createElement({tag:"table",className:"box"},i);o.setAttribute("cellspacing","1"),o.setAttribute("width","100%");var s=Cyberoam.createElement({tag:"tbody"},o);if(void 0===e.length)for(var n in e.length=0,e)e.hasOwnProperty(n)&&e.length++;var r=!0;for(var n in e)if(e.hasOwnProperty(n)){if("length"==n)continue;if(void 0===e[n].label&&(e[n].label=n),this.config.draggable)(d=Cyberoam.createElement({tag:"tr",id:n+"_node",label:e[n].label},s)).style.cursor="move",d.setAttribute("key",n);else var d=Cyberoam.createElement({tag:"tr"},s);var l=Cyberoam.createElement({tag:"td"},d);null!=e[n].label&&""!=e[n].label||(e[n].label=n),r=!1;var c=Cyberoam.createElement({tag:"span"},l);c.style.display="none",c.setAttribute("key",n);var h=Cyberoam.createElement({tag:"div",title:e[n].label},l);Cyberoam.isIE?h.style.styleFloat="left":h.style.cssFloat="left",h.style.marginLeft="5px",h.style.width=this.config.width-48+"px",h.appendChild(document.createTextNode(e[n].label)),(h=Cyberoam.createElement({tag:"div",className:"listclose",title:e[n].label},l)).onclick=function(){a.deleteOperationBySystem(jQuery(this))}}if(r){d=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},s);(l=Cyberoam.createElement({tag:"td"},d)).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}this.config.draggable&&this.dragDropTableRow()},Cyberoam.ListBox.prototype.getRecord=function(){return this.config.data},Cyberoam.ListBox.prototype.getRecordKey=function(){var t=[];for(var e in this.config.data)"length"!=e&&t.push(e);return t},Cyberoam.ListBox.prototype.getRecordLabel=function(){var t=[];for(var e in this.config.data)"length"!=e&&t.push(this.config.data[e].label);return t},Cyberoam.ListBox.prototype.create=function(){if(""!=this.id){var t=this;jQuery("#"+this.config.id).attr("class","listBoxContainer"),jQuery("#"+this.config.id).attr("style",this.config.style);var e=parseInt(document.getElementById(this.config.id).style.width);if(this.config.width=e,jQuery("#"+this.config.id).html('<table align="center" cellspacing="1" cellpadding="0" style="width:'+jQuery("#"+this.config.id).width()+'px;"><tr><td><input type="text" id="txtListItem'+this.config.id+'" style="width:100%;height: 17px;color:#CCCCCC" value=\''+Cyberoam.getTranslatedMSG("Language.SearchOrAdd")+'\'/></td><td width="40px"><input type="button" id="btnAddItem'+this.config.id+'" style="margin-right:0px;height: 23px;margin-left: 4px;font-size: 12px;" value=\''+Cyberoam.getTranslatedMSG("Language.Add")+"'/></td></tr></table><div id=\"listbody"+this.config.id+'" style="height:150px;overflow:auto;"></div>'),void 0!==this.config.style){var i=parseInt(document.getElementById(this.config.id).style.height);isNaN(i)&&(i=150),document.getElementById("listbody"+this.config.id).style.height=i-35+"px"}jQuery("#btnAddItem"+this.config.id).on("click",(function(){t.insertOperationBySystem(jQuery(this))})),jQuery("#txtListItem"+this.config.id).on("keyup",(function(){t.searchListBox(jQuery(this))})),jQuery("#txtListItem"+this.config.id).on("focus",(function(t){Cyberoam.textEmptyFocus(this,Cyberoam.getTranslatedMSG("Language.SearchOrAdd"))})),jQuery("#txtListItem"+this.config.id).on("blur",(function(t){Cyberoam.textEmptyBlur(this,Cyberoam.getTranslatedMSG("Language.SearchOrAdd"))})),this.setListBody(),this.disabled(this.config.disabled)}},Cyberoam.ListBox.prototype.dragDropTableRow=function(){var t=document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0];if(t){var e=t.childNodes.length,i=YAHOO.util.Dom,a=YAHOO.util.Event,o=YAHOO.util.DragDropMgr,s=this;YAHOO.example.DDApp={init:function(){new YAHOO.util.DDTarget("listbodynirav");for(j=0;j<e;j++)s.myDTDrags[t.childNodes[j].id]&&(s.myDTDrags[t.childNodes[j].id].unreg(),delete s.myDTDrags[t.childNodes[j].id]),s.myDTDrags[t.childNodes[j].id]=new YAHOO.example.DDList(t.childNodes[j].id)}},YAHOO.example.DDList=function(t,e,a){YAHOO.example.DDList.superclass.constructor.call(this,t,e,a);var o=this.getDragEl();i.setStyle(o,"opacity",.67),this.goingUp=!1,this.lastY=0},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(t,e){if(!s.config.disabled){var a=this.getDragEl(),o=this.getEl();a.innerHTML=o.innerHTML,i.setStyle(a,"color",i.getStyle(o,"color")),i.setStyle(a,"backgroundColor",i.getStyle(o,"backgroundColor")),i.setStyle(a,"border","2px solid gray")}},endDrag:function(a){var o=this.getEl(),n=this.getDragEl();i.setStyle(n,"visibility","");var r=new YAHOO.util.Motion(n,{points:{to:i.getXY(o)}},.2,YAHOO.util.Easing.easeOut),d=n.id,l=this.id;for(r.onComplete.subscribe((function(){i.setStyle(d,"visibility","hidden"),i.setStyle(l,"visibility","")})),r.animate(),s.config.data=[],j=0;j<e;j++)t.childNodes[j]&&(s.config.data[t.childNodes[j].getAttribute("key")]={label:t.childNodes[j].childNodes[0].childNodes[2].getAttribute("title"),key:t.childNodes[j].getAttribute("key")})},onDragDrop:function(t,e){if(!s.config.disabled&&1===o.interactionInfo.drop.length){var a=o.interactionInfo.point;if(!o.interactionInfo.sourceRegion.intersect(a)){var n=i.get(e);if("tbody"==n.nodeName.toLowerCase()){var r=o.getDDById(e);n.appendChild(this.getEl()),r.isEmpty=!1,o.refreshCache()}}}},onDrag:function(t){if(!s.config.disabled){var e=a.getPageY(t);e<this.lastY?this.goingUp=!0:e>this.lastY&&(this.goingUp=!1),this.lastY=e}},onDragOver:function(t,e){if(!s.config.disabled){var a=this.getEl(),n=i.get(e);if("tr"==n.nodeName.toLowerCase()){a.parentNode;var r=n.parentNode;"tbody"==r.nodeName.toLowerCase()&&(this.goingUp?r.insertBefore(a,n):r.insertBefore(a,n.nextSibling)),o.refreshCache()}}}}),a.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)}};
2086Cyberoam.Menu=function(e){for(var t in this.config={id:"",menuItems:[],currentURL:null,contextPath:"/webconsole"},e)"undifiend"!=this.config[t]?this.config[t]=e[t]:Cyberoam.messageBox({message:"Wrong Configuration for Menu"+t})},Cyberoam.Menu.prototype.create=function(){var e=this;this.currentTabs=null,jQuery("#"+this.config.id).html("<div id='"+this.config.id+"_menu0_data' class='main_data'></div>");var t;void 0!==this.config.type&&"array"==this.config.type.toLowerCase()&&(this.config.menuItems=this.menuArrayToJSON(this.config.menuItems)),t=this.config.menuItems;var n=function(t,l,i,a){for(var s=0;s<t.length;s++){var o=!0;t[s].module||(t[s].module=a),t[s].validator&&(o=t[s].validator(t[s].module,t[s].aclEntity)),o&&(e.createMenuItem(s,i,t[s].label,t[s].url,l,t[s].linktype,t[s].imagePosition,t[s].module,t[s].childNodes,t[s].title,t[s].aclEntity,t[s].beforeOperation,t[s].appController),t[s].childNodes&&n(t[s].childNodes,l+1,i+"_"+s,t[s].module))}};n(t,0,0,"")},Cyberoam.Menu.prototype.menuArrayToJSON=function(e){var t=0,n=0,l=function(){for(var i=[];t<e.length;){var a={};if(a.label=e[t][0],0==e[t][2]?(a.module=e[t][1],a.imagePosition=e[t][3]):(""!=e[t][1]&&(a.url=e[t][1]),void 0!==e[t][3]&&(a.module=e[t][3]),void 0!==e[t][4]&&(a.linktype=e[t][4])),a.validator=function(e){return validateMenuItem(e)},e[t+1]){if(e[t+1][2]==n)i.push(a),t++;else if(e[t+1][2]>n){if(n++,t++,a.childNodes=l(),e[t]&&e[t][2]!=n)return n--,i.push(a),i;i.push(a)}else if(e[t+1][2]<n)return i.push(a),t++,n--,i}else t++}return i};return l()},Cyberoam.Menu.prototype.goToURL=function(e){Cyberoam.xhrPool.abortAll(),this.config.currentURL=e,void 0!==this.config.type&&"array"==this.config.type.toLowerCase()?document.getElementById("mainframe").src=this.config.contextPath+e:Cyberoam.setMainFrame(e)},Cyberoam.Menu.prototype.getCurrentURL=function(){return this.config.currentURL},Cyberoam.Menu.prototype.showCurrentURL=function(){if(null==this.config.currentURL)return null;this.displayMenuByURL(this.config.currentURL)},Cyberoam.Menu.prototype.displayMenuByNumber=function(e){null!=this.currentTabs&&void 0!==this.currentTabs[e-1]&&this.displayMenuByURL(this.currentTabs[e-1].url)},Cyberoam.Menu.prototype.displayMenuByURL=function(e,t){var n=this,l=function(i,a,s){for(var o=0;o<i.length;o++){if(-1!=e.indexOf(i[o].url)&&s){var d=s.split("_"),c=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]);$(".menudata0").hide(),$("#"+c.id+"_data").show(),$(".lavel0_menu").attr("class","lavel0_menu"),$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1]})),$(".menu0select").hide(),$(c).next().show(),$(c).addClass("lavel0_menu_select"),c.childNodes[0].style.backgroundPosition="-29px "+c.childNodes[0].style.backgroundPosition.split(" ")[1];var u=null;1==a?(u=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]+"_"+o),o=0):u=document.getElementById(n.config.id+"_menu"+d[0]+"_"+d[1]+"_"+d[2]),$(".lavel1_menu").attr("class","lavel1_menu"),$(u).addClass("lavel1_menu_select"),document.getElementById("tab_menu").className="menutab",document.getElementById("tab_menu").innerHTML=document.getElementById(u.id+"_data").innerHTML,$(".menu1select").hide(),$(u).next().show(),$(u).next().css("top",$(u).offset().top);var m=document.getElementById("tab_menu").childNodes[o];return m.childNodes[0].className+=" "+m.childNodes[0].className+"_select",m.childNodes[1].className+=" "+m.childNodes[1].className+"_select",m.childNodes[2].className+=" "+m.childNodes[2].className+"_select",n.currentTabs=i,i[o].appController?Cyberoam.appController=i[o].appController:Cyberoam.appController=Cyberoam.defaultController,2==a?$("#tab_menu .tablavel2_menu").off().on("click",(function(){n.displayMenu(this,2,i)})):$("#tab_menu .tablavel2_menu").off().on("click",(function(){n.displayMenu(this,2,[{label:i[o].label,url:i[o].url}])})),void 0===t?n.goToURL(e):n.goToURL(t),!0}if(-1!=e.indexOf(i[o].url))return(c=document.getElementById(n.config.id+"_menu0_"+o))&&$(c).addClass("lavel0_menu_select"),n.goToURL(e),!0;if(i[o].childNodes&&l(i[o].childNodes,a+1,s+"_"+o))return!0}return!1};l(this.config.menuItems,0,0)||n.goToURL(e)}
2086,Cyberoam.Menu.prototype.createMenuItem=function(e,t,n,l,i,a,s,o,d,c,u,m,r){var h=$("#"+this.config.id+"_menu"+t+"_data"),_=this,v=e;e=t+"_"+e;if(htmlCon="",0==i){void 0===c&&(c=n),2==a?htmlCon=m?"<a href='"+Cyberoam.contextPath+"/"+l+"' onclick=' return "+m+"()'>":"<a href='"+Cyberoam.contextPath+"/"+l+"'>":1==a&&(htmlCon="<a href='"+Cyberoam.contextPath+"/"+l+"' target='_blank'>"),htmlCon+='<div class="lavel0_menu" id="'+this.config.id+"_menu"+e+'" title="'+c+'" ><div class="menu0image" style="background-position:-4px -'+s+'px;"></div><div class="menu0text" style="overflow:hidden; text-overflow:ellipsis; white-space:nowrap;" >'+n+'</div></div><div class="menu0select" id="'+this.config.id+"_menu"+e+'_select"></div><div id="'+this.config.id+"_menu"+e+'_data" class="menudata0" style="display:none" ></div>',2!=a&&1!=a||(htmlCon+="</a>")}else 1==i?(1==a&&(htmlCon="<a href='"+Cyberoam.contextPath+"/"+l+"' target='_blank' >"),d?(htmlCon+='<div class="lavel1_menu" id="'+this.config.id+"_menu"+e+'" ><div class="menu1image" ></div>'+n+'</div><div class="menu1select" id="'+this.config.id+"_menu"+e+'_select" ></div>',htmlCon+='<div id="'+this.config.id+"_menu"+e+'_data" class="menudata1" style="display:none" ></div>'):(htmlCon+='<div class="lavel1_menu" id="'+this.config.id+"_menu"+e+'" pageelementid='+u+'><div class="menu1image" ></div>'+n+'</div><div class="menu1select" id="'+this.config.id+"_menu"+e+'_select" ></div>',htmlCon+='<div id="'+this.config.id+"_menu"+e+'_data" class="menudata1" style="display:none" ><div id="'+this.config.id+"_menu"+e+'" class="tablavel2_menu" style="display:none" index=0 pageelementid='+u+' ><div class="tablavel2_menu_left"></div><div class="tablavel2_menu_middel">'+n+'</div><div class="tablavel2_menu_right"></div></div></div>'),1==a&&(htmlCon+="</a>")):htmlCon='<div id="'+this.config.id+"_menu"+e+'" class="tablavel2_menu" style="display:none" index=\''+v+"' pageelementid='"+u+'\'><div class="tablavel2_menu_left"></div><div class="tablavel2_menu_middel">'+n+'</div><div class="tablavel2_menu_right"></div></div>';h.append(htmlCon),a||$("#"+this.config.id+"_menu"+e).on("click",(function(){_.displayMenu(this,i,d,l,r)}))},Cyberoam.Menu.prototype.refreshMenu=function(){$(".menudata0").hide(),$(".menu0select").hide(),$(".menu1select").hide(),$(".lavel1_menu").attr("class","lavel1_menu"),document.getElementById("tab_menu").innerHTML="",document.getElementById("tab_menu").className="",$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1],this.className="lavel0_menu"}))},Cyberoam.Menu.prototype.displayMenu=function(e,t,n,l,i){var a=this;if(Cyberoam.appController=i||Cyberoam.defaultController,0==t)$("#"+e.id).hasClass("lavel0_menu_select")?($("#"+e.id+"_data").hide(),$(e).removeClass("lavel0_menu_select"),e.childNodes[0].style.backgroundPosition="-4px "+e.childNodes[0].style.backgroundPosition.split(" ")[1],$(".menu0select").hide()):($(".menudata0").hide(),$("#"+e.id+"_data").show(),$(".lavel0_menu").attr("class","lavel0_menu"),$(".lavel0_menu").each((function(e){this.childNodes[0].style.backgroundPosition="-4px "+this.childNodes[0].style.backgroundPosition.split(" ")[1]})),$(".menu0select").hide(),$(e).next().show(),$(e).next().next()&&$(e).next().next().show(),$(e).addClass("lavel0_menu_select"),e.childNodes[0].style.backgroundPosition="-29px "+e.childNodes[0].style.backgroundPosition.split(" ")[1]),l&&this.goToURL(l);else if(1==t)if($(".lavel1_menu").attr("class","lavel1_menu"),$(e).addClass("lavel1_menu_select"),document.getElementById("tab_menu").className="menutab",document.getElementById("tab_menu").innerHTML=document.getElementById(e.id+"_data").innerHTML,$(".menu1select").hide(),$(e).next().show(),$(e).next().css("top",$(e).offset().top),n){if(u=e.getAttribute("index")){var s=document.getElementById("tab_menu").childNodes;for(var o in s)if(s[o].id==e.id+"_"+u){d=s[o];break}}else for(var d=document.getElementById("tab_menu").childNodes[0],o=0;o<n.length;o++)if(d.id==e.id+"_"+o){u=o;break}d&&(d.childNodes[0].className+=" "+d.childNodes[0].className+"_select",d.childNodes[1].className+=" "+d.childNodes[1].className+"_select",d.childNodes[2].className+=" "+d.childNodes[2].className+"_select"),$("#tab_menu .tablavel2_menu").each((function(e){this.onclick=function(){a.displayMenu(this,2,n)}})),Cyberoam.pageElementId=n[u].aclEntity,this.goToURL(n[u].url),this.currentTabs=n}else{(d=document.getElementById("tab_menu").childNodes[0]).childNodes[0].className+=" "+d.childNodes[0].className+"_select",d.childNodes[1].className+=" "+d.childNodes[1].className+"_select",d.childNodes[2].className+=" "+d.childNodes[2].className+"_select";var c=d.childNodes[1].innerHTML;$("#tab_menu .tablavel2_menu").each((function(e){this.onclick=function(){a.displayMenu(this,2,[{label:c,url:l}])}})),this.currentTabs=null,Cyberoam.pageElementId=e.getAttribute("pageelementid"),this.goToURL(l)}else{$("#tab_menu .tablavel2_menu_left").attr("class","tablavel2_menu_left"),$("#tab_menu .tablavel2_menu_right").attr("class","tablavel2_menu_right"),$("#tab_menu .tablavel2_menu_middel").attr("class","tablavel2_menu_middel"),e.childNodes[0].className+=" "+e.childNodes[0].className+"_select",e.childNodes[1].className+=" "+e.childNodes[1].className+"_select",e.childNodes[2].className+=" "+e.childNodes[2].className+"_select";var u=e.getAttribute("index");l=n[u].url;var m=e.id.substring(0,e.id.lastIndexOf("_"));$("#"+m).attr("index",u),Cyberoam.pageElementId=e.getAttribute("pageelementid"),this.goToURL(l)}Cyberoam.setStatusBarMessage("","")};Cyberoam.MultListBox=function(t){for(var e in this.config={id:"",data:[],returnKey:!1,getOpcodeValue:"",selectOperation:"",deleteOperation:"",leftHeader:"",rightHeader:"",dragable:!1,disabled:!1,style:"",selectedItems:[],height:200,width:350,createItem:{},popupDiv:""},this.searchInterval=null,this.searchData=[],t){if(null==this.config[e])return Cyberoam.messageBox({message:"Wrong ListBox Configuration "+e}),void(this.config={id:"",data:[],dragable:!1,disabled:!1});this.config[e]=t[e]}},Cyberoam.MultListBox.prototype.create=function(){if(""!=this.id){var t=this;if(""==this.config.leftHeader||null==this.config.leftHeader)var e="All List";else e=this.config.leftHeader;var i=jQuery("#"+this.config.id);if(i.attr("style",this.config.style),200!=this.config.height&&i.height(parseInt(this.config.height)),350!=this.config.width&&i.width(parseInt(this.config.width)),""==this.config.rightHeader||null==this.config.rightHeader)var l="Selected List";else l=this.config.rightHeader;var s=parseInt((i.width()-35)/2);jQuery("#"+this.config.id).attr("class","maincontainer"),jQuery("#"+this.config.id).html('<table width="100%"><tr class="multilistheader" ><td width="50%"> <div class="left" title="'+e+"\" style='width:"+s+"px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;'>"+e+'</div></td><td><div class="right" title="'+l+"\" style='width:"+s+"px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;'>"+l+'</div></td></tr><tr><td valign="top"><div id="defaultlist'+this.config.id+'"style="float:left;" ></div></td><td valign="top"><div class="selectboxcontainer" style="height:'+(jQuery("#"+this.config.id).height()-33)+'px;width:99% !important;" ><ul id="sellist'+this.config.id+'" class="selmultlist"></ul></div></td></tr></table>'),jQuery("#defaultlist"+this.config.id).attr("class","listBoxContainer");var a=96;if(this.config.createItem&&this.config.createItem.url&&(a=68),jQuery("#defaultlist"+this.config.id).html('<table width="100%" al
2086ign="center" cellspacing="0" cellpadding="0"><tr><td><input type="text" id="txtListItem'+this.config.id+'" placeholder="'+Cyberoam.getTranslatedMSG("Language.typeToSearch")+'" class="searchtext" style="color:#334653;height:22px;padding-left: 5px;width:'+a+"% !important;border-radius: 4px;\" /><div id='MutliListItemCreateNewLabel"+this.config.id+"' style='display:none'></div></td></tr></table><div id=\"listbody"+this.config.id+'" style="height:'+(jQuery("#"+this.config.id).height()-70)+'px;min-width:200px;overflow-y:auto"></div>'),jQuery("#txtListItem"+this.config.id).on("keyup",(function(){t.searchListBox(jQuery(this))})),this.config.createItem&&this.config.createItem.url){var o;if(""==this.config.popupDiv){o=$("<div></div>").attr("id","MutliListPopupDiv"+this.config.id).appendTo(i);var d=-$("#"+this.config.id).height();o.css({position:"relative",top:d+"px"}),this.config.popupDiv="MutliListPopupDiv"+this.config.id}var n="Create";this.config.createItem.label&&(n=Cyberoam.getTranslatedMSG(this.config.createItem.label)),$("#txtListItem"+this.config.id).css({float:"left"}),(h=$("#MutliListItemCreateNewLabel"+this.config.id)).show(),h.text(n),h.css({float:"left","text-overflow":"ellipsis","white-space":"nowrap",width:"30%",overflow:"hidden",color:"#005bc8",cursor:"pointer","padding-left":"2px"});var c=this;h.on("click",(function(){c.config.createItem.url&&""!=c.config.createItem.url&&Cyberoam.showWidgetPopup({title:c.config.createItem.pageTitle,URL:c.config.createItem.url+"&multilist="+c.config.id,width:620,height:400,popupDiv:c.config.popupDiv})}))}var r=[];if(void 0!==this.config.selectedItems){r=this.config.selectedItems;for(var m=0;m<r.length;m++)this.config.data[r[m]].selected=!0}this.config.selectedItems="",this.setListBody();for(m=0;m<r.length;m++){this.config.data[r[m]].index;var g=document.getElementById("sellist"+this.config.id),h=document.createElement("li");this.config.dragable&&(h.style.cursor="move"),h.className="List_item_single",h.id="sellist_"+this.config.id+"_"+r[m],h.title=this.config.data[r[m]].label;var f=this.config.data[r[m]].label,u=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},h),b=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+r[m],className:"multilist-item-icon",title:"remove"},u),y=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},u);u.setAttribute("key",r[m]),u.setAttribute("label",this.config.data[r[m]].label),u.style.width=this.config.width/2+"px",y.appendChild(document.createTextNode(f)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},b).style.fontSize="1.4em",g.appendChild(h),this.config.data[r[m]].selected=!0,void 0!==this.config.data[r[m]].disabled&&0!=this.config.data[r[m]].disabled||(b.onclick=function(){for(var e=this.id.split("_"),i=e[2],l=3;l<e.length;l++)i=i+"_"+e[l];t.removeMultiListSelElement(i)})}1==this.config.dragable&&this.MultiListYUI()}},Cyberoam.MultListBox.prototype.setMultiList=function(t,e){var i=this;if(this.config.data=t,this.config.selectedItems=[],this.setListBody(),void 0!==e){this.config.selectedItems=e;for(var l=0;l<e.length;l++){void 0!==this.config.data[e[l]].disabled&&1==this.config.data[e[l]].disabled?document.getElementById("mainlist_"+this.config.id+"_icon_"+e[l]).className="multiselect_item_select_disabled":document.getElementById("mainlist_"+this.config.id+"_icon_"+e[l]).className="multiselect_item_select";var s=document.getElementById("sellist"+this.config.id),a=document.createElement("li");this.config.dragable&&(a.style.cursor="move"),a.className="List_item_single",a.id="sellist_"+this.config.id+"_"+e[l],a.title=this.config.data[e[l]].label;var o=this.config.data[e[l]].label,d=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},a),n=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+e[l],className:"multilist-item-icon",title:"remove"},d),c=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},d);d.setAttribute("key",e[l]),d.setAttribute("label",this.config.data[e[l]].label),d.style.width=this.config.width/2+"px",c.appendChild(document.createTextNode(o)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},n).style.fontSize="1.4em",s.appendChild(a),this.config.data[e[l]].selected=!0,void 0!==this.config.data[e[l]].disabled&&0!=this.config.data[e[l]].disabled||(n.onclick=function(){for(var t=this.id.split("_"),e=t[2],l=3;l<t.length;l++)e="_"+t[l];i.removeMultiListSelElement(e)})}}1==this.config.dragable&&this.MultiListYUI()},Cyberoam.MultListBox.prototype.setListBody=function(t){var e=[];e=null==t?this.config.data:t,jQuery("#listbody"+this.config.id).html(""),jQuery("#sellist"+this.config.id).html("");var i=this,l=document.getElementById("listbody"+this.config.id),s=document.getElementById("sellist"+this.config.id),a=Cyberoam.createElement({tag:"table",className:"box"},l);a.setAttribute("cellspacing","1"),a.setAttribute("cellpadding","0"),a.setAttribute("style","background-color:transparent;"),a.setAttribute("width","100%");var o=Cyberoam.createElement({tag:"tbody"},a),d=0;if(void 0===e.length)for(var n in e.length=-1,e)e.hasOwnProperty(n)&&e.length++;for(var n in e)if("length"!=n){tr=Cyberoam.createElement({tag:"tr"},o),this.config.draggable?(td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="move"):(td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer"),e[n].index=d,null!=e[n].label&&""!=e[n].label||(e[n].label=n);var c=e[n].label,r={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+n,title:e[n].label},m={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+n,title:e[n].label};
2086if(1==e[n].selected){if(void 0!==e[n].disabled&&1==e[n].disabled?m.className="multiselect_item_select_disabled":m.className="multiselect_item_select",""!=this.config.selectedItems){var g=document.createElement("li");this.config.dragable&&(g.style.cursor="move"),g.className="List_item_single",g.id="sellist_"+this.config.id+"_"+n,g.title=e[n].label;c=e[n].label;var h=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},g),f=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+n,className:"multilist-item-icon",title:"remove"},h),u=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},h);h.setAttribute("key",n),h.setAttribute("label",e[n].label),h.style.width=this.config.width/2+"px",u.appendChild(document.createTextNode(c)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},f).style.fontSize="1.4em",s.appendChild(g),void 0!==e[n].disabled&&0!=e[n].disabled||(f.onclick=function(){for(var t=this.id.split("_"),e=t[2],l=3;l<t.length;l++)e=e+"_"+t[l];i.removeMultiListSelElement(e)})}}else void 0!==e[n].disabled&&1==e[n].disabled?m.className="multiselect_item_disabled":m.className="multiselect_item";divIcon=Cyberoam.createElement(m,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(r,td),void 0!==e[n].disabled&&1==e[n].disabled||(div.onclick=function(){i.insertMultiListSelElement(this)},divIcon.onclick=function(){i.insertMultiListSelElement(this)}),div.setAttribute("key",n),div.style.width=this.config.width/2-25+"px",div.setAttribute("label",e[n].label),div.appendChild(document.createTextNode(c)),d++}if(void 0===e.length||0==e.length){var b=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},o);Cyberoam.createElement({tag:"td"},b).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}1==this.config.dragable&&this.MultiListYUI()},Cyberoam.MultListBox.prototype.removeMultiListSelElement=function(t){if(!this.config.disabled){var e=document.getElementById("mainlist_"+this.config.id+"_"+t);document.getElementById("mainlist_"+this.config.id+"_icon_"+t).className="multiselect_item",this.config.data[e.getAttribute("key")].selected=!1;var i=document.getElementById("sellist"+this.config.id);i.removeChild(document.getElementById("sellist_"+this.config.id+"_"+t)),i.scrollHeight==parseInt(i.style.height)&&(i.style.height="auto",i.style.overflowY=""),""!=this.config.deleteOperation&&this.config.deleteOperation(e.getAttribute("key"),e.getAttribute("label"))}},Cyberoam.MultListBox.prototype.isDisabled=function(){return this.config.disabled},Cyberoam.MultListBox.prototype.isEnabled=function(){return!this.config.disabled},Cyberoam.MultListBox.prototype.setDisabled=function(t){this.config.disabled=t},Cyberoam.MultListBox.prototype.setEnabled=function(t){this.config.disabled=!t},Cyberoam.MultListBox.prototype.insertMultiListSelElement=function(t){if(!this.config.disabled){for(var e=this,i=(document.getElementById("listbody"+this.config.id).childNodes[0].childNodes[0].childNodes,$(t).parent().find("[divtype='icon']").get(0)),l=$(t).parent().find(".multiselect_item_label").get(0),s=l.id.split("_"),a=s[2],o=3;o<s.length;o++)a=a+"_"+s[o];if("multiselect_item_select"==i.className){i.className="multiselect_item",e.removeMultiListSelElement(a);var d=l.getAttribute("key");this.config.data[d].selected=!1}else{i.className="multiselect_item_select";var n=document.getElementById("sellist"+this.config.id),c=document.createElement("li");this.config.dragable&&(c.style.cursor="move"),c.className="List_item_single",c.id="sellist_"+this.config.id+"_"+a;d=l.getAttribute("key");var r=l.getAttribute("label");c.title=r;var m=r,g=Cyberoam.createElement({tag:"div",className:"multilist-item-wrapper"},c),h=Cyberoam.createElement({tag:"div",id:"sellistval_"+this.config.id+"_"+a,className:"multilist-item-icon",title:"remove"},g),f=Cyberoam.createElement({tag:"div",className:"multilist-item-text"},g);g.setAttribute("key",d),g.setAttribute("label",r),g.style.width=this.config.width/2+"px",f.appendChild(document.createTextNode(m)),Cyberoam.createElement({tag:"i",className:"fa fa-remove"},h).style.fontSize="1.4em",n.appendChild(c),h.onclick=function(){e.removeMultiListSelElement(a)},this.config.data[d].selected=!0}""!=this.config.selectOperation&&this.config.selectOperation(d,r),1==this.config.dragable&&this.MultiListYUI()}},Cyberoam.MultListBox.prototype.afterInsertNode=function(){this.setListBody()},Cyberoam.MultListBox.prototype.searchListBox=function(t){var e=this,i=this.config.data,l=t.val();this.searchProcess=function(t,i){document.getElementById("sellist"+this.config.id).childNodes;var l=document.getElementById("listbody"+this.config.id);if(""!=t){t=t.toLowerCase(),jQuery("#listbody"+this.config.id).html("");var s=Cyberoam.createElement({tag:"table"},l);s.setAttribute("cellspacing","1"),s.setAttribute("cellpadding","0"),s.setAttribute("width","100%");var a=Cyberoam.createElement({tag:"tbody"},s);
2086for(var o in i)if("length"!=o){if(1!=i[o].selected&&0==i[o].label.toLowerCase().indexOf(t)){this.searchData.push(i[o]),tr=Cyberoam.createElement({tag:"tr"},a),td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer",(r=i[o].label).length>20&&(r=r.substr(0,20)+"...");var d={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+o,title:i[o].label},n={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+o,title:i[o].label};1==i[o].selected?void 0!==i[o].disabled&&1==i[o].disabled?n.className="multiselect_item_select_disabled":n.className="multiselect_item_select":void 0!==i[o].disabled&&1==i[o].disabled?n.className="multiselect_item_disabled":n.className="multiselect_item",divIcon=Cyberoam.createElement(n,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(d,td),void 0!==i[o].disabled&&1==i[o].disabled||(div.onclick=function(){e.insertMultiListSelElement(this)},divIcon.onclick=function(){e.insertMultiListSelElement(this)}),div.setAttribute("key",o),div.style.width=this.config.width/2-25+"px",div.setAttribute("label",i[o].label),div.appendChild(document.createTextNode(r))}else if(1==i[o].selected){var c=i[o].label;tr=Cyberoam.createElement({tag:"tr"},a),td=Cyberoam.createElement({tag:"td"},tr),td.style.cursor="pointer";d={tag:"div",className:"multiselect_item_label",id:"mainlist_"+this.config.id+"_"+o,title:c},n={tag:"div",id:"mainlist_"+this.config.id+"_icon_"+o,title:c,className:"multiselect_item_select"};divIcon=Cyberoam.createElement(n,td),$(divIcon).attr("divtype","icon"),div=Cyberoam.createElement(d,td),void 0!==i[o].disabled&&1==i[o].disabled||(div.onclick=function(){e.insertMultiListSelElement(this)},divIcon.onclick=function(){e.insertMultiListSelElement(this)}),div.setAttribute("key",o),div.setAttribute("label",c);var r=c;div.appendChild(document.createTextNode(r)),div.style.width=this.config.width/2-25+"px",this.searchData.push(i[o])}0}if(0==this.searchData.length){var m=Cyberoam.createElement({tag:"tr",className:"noRecordFound"},a);Cyberoam.createElement({tag:"td"},m).appendChild(document.createTextNode(Cyberoam.getTranslatedMSG("Language.NoRecord")))}}else this.searchData=[],this.config.selectedItems=this.getSelectedKeys(),this.setListBody()},null!=this.searchInterval&&clearTimeout(this.searchInterval),this.searchInterval=setTimeout((function(){e.searchProcess(l,i)}),100)},Cyberoam.MultListBox.prototype.insertNode=function(t){""!=t.label&&t.label!=Language.typeToSearch&&this.config.data.unshift(t),this.afterInsertNode()},Cyberoam.MultListBox.prototype.insertNodeKey=function(t,e,i){var l=!1;i&&(l=!0),""!=t&&t!=Language.typeToSearch&&(this.config.data[e]={label:t});var s=this.getSelectedLabels()||[];for(var a in this.config.selectedItems=[],this.setListBody(),l&&(s.push(t),$("#listbody"+this.config.id+" .noRecordFound").remove()),s)if(s[a]){s[a]=Cyberoam.replaceAll(s[a],"\\","\\\\"),s[a]=Cyberoam.replaceAll(s[a],"'","\\'");var o=$("#listbody"+this.config.id).find("div[label='"+s[a]+"']"),d=o.parent().find("div[divtype='icon']");d.hasClass("multiselect_item_select_disabled")||d.removeClass("multiselect_item_select").addClass("multiselect_item"),this.insertMultiListSelElement(o.get(0))}},Cyberoam.MultListBox.prototype.getSelectedItems=function(){for(var t=[],e=document.getElementById("sellist"+this.config.id).childNodes,i=0;i<e.length;i++){var l={};l[e[i].childNodes[0].getAttribute("key")]={lable:e[i].childNodes[0].getAttribute("label")},t[e[i].childNodes[0].getAttribute("key")]=l}return t},Cyberoam.MultListBox.prototype.getSelectedKeys=function(){for(var t=document.getElementById("sellist"+this.config.id).childNodes,e=[],i=0;i<t.length;i++){var l=t[i].childNodes[0].getAttribute("key");this.config.data[l].selected=!0,e.push(l)}return e},Cyberoam.MultListBox.prototype.getSelectedLabels=function(){for(var t=document.getElementById("sellist"+this.config.id).childNodes,e=[],i=0;i<t.length;i++){var l=t[i].childNodes[0].getAttribute("label");e.push(l)}return e},Cyberoam.MultListBox.prototype.MultiListYUI=function(){var t=YAHOO.util.Dom,e=YAHOO.util.Event,l=YAHOO.util.DragDropMgr,s=this;YAHOO.example.DDApp={init:function(){if(0==s.config.disabled){new YAHOO.util.DDTarget("sellist"+s.config.id);var t=document.getElementById("sellist"+s.config.id);for(i=0;i<t.childNodes.length;i+=1)new YAHOO.example.DDList(t.childNodes[i].id)}}},YAHOO.example.DDList=function(e,i,l){if(0==s.config.disabled){YAHOO.example.DDList.superclass.constructor.call(this,e,i,l);var a=this.getDragEl();t.setStyle(a,"opacity",.67),this.goingUp=!1,this.lastY=0}},YAHOO.extend(YAHOO.example.DDList,YAHOO.util.DDProxy,{startDrag:function(e,i){if(0==s.config.disabled){var l=this.getDragEl(),a=this.getEl();try{document.getElementById("dragdiv")&&a.removeChild(document.getElementById("dragdiv"))}catch(t){}l.innerHTML=a.innerHTML,t.setStyle(l,"color",t.getStyle(a,"color")),t.setStyle(l,"backgroundColor",t.getStyle(a,"backgroundColor")),t.setStyle(l,"border","2px solid gray")}},endDrag:function(e){if(0==s.config.disabled){var i=this.getEl(),l=this.getDragEl();t.setStyle(l,"visibility","");var a=new YAHOO.util.Motion(l,{points:{to:t.getXY(i)}},.2,YAHOO.util.Easing.easeOut),o=l.id,d=this.id;a.onComplete.subscribe((function(){t.setStyle(o,"visibility","hidden"),t.removeClass(d,"dragElementSpace")})),a.animate()}},onDragDrop:function(t,e){if(0==s.config.disabled&&1===l.interactionInfo.drop.length)l.interactionInfo.point,l.interactionInfo.sourceRegion}
2086,onDrag:function(t){if(0==s.config.disabled){var i=e.getPageY(t);i<this.lastY?this.goingUp=!0:i>this.lastY&&(this.goingUp=!1),this.lastY=i}},onDragOver:function(e,i){if(0==s.config.disabled){var a=this.getEl(),o=t.get(i);if("li"==o.nodeName.toLowerCase()){a.parentNode;var d=o.parentNode;this.goingUp?d.insertBefore(a,o):d.insertBefore(a,o.nextSibling),l.refreshCache()}}}}),e.onDOMReady(YAHOO.example.DDApp.init,YAHOO.example.DDApp,!0)};function getID(e){return document.getElementById(e)}Cyberoam.pageLayer=0,Cyberoam.pageObject={},Cyberoam.pageObject[0]={},Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,Cyberoam.popupCloseInterval=null,Cyberoam.currentNavigationUrl="",Cyberoam.showPopup=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup=!0,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.createPopupDiv(),document.getElementById("TB_overlay").style.opacity="0.5",e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e.URL,"clone"),Cyberoam.sendPageRequest(e.URL,e.width,e.height)):e.id?(Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setFocus()):e.template&&e.module&&(Cyberoam.setPopupContentString(e.template,e.width,e.height),Cyberoam.pageLoad(e.module),Cyberoam.setFocus()),(null==e.closeOnEscape||e.closeOnEscape)&&Cyberoam.onEscPopupClose("popup"+Cyberoam.pageLayer),Cyberoam.setStatusBarMessage("",""),Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1},Cyberoam.showPopupInline=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup=!0,Cyberoam.createPopupDivInline(),e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e.URL,"clone"),Cyberoam.sendPageRequest(e.URL)):e.id&&(Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setFocus()),Cyberoam.setStatusBarMessage("",""),Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,window.scrollTo(0,0)},Cyberoam.createPopupDivInline=function(){var e=!1;if(null!=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton&&(e=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton),null==Cyberoam.pageObject[Cyberoam.pageLayer].close){var a="right: 20px;";if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].message)a="right: 25px;";e?"":'<div onmouseout="this.className=\'popupclose\'" onmouseover="this.className=\'popupclose_hover\'" style="'+a+'" onclick="Cyberoam.hidePopup()" class="popupclose"></div>'}jQuery("<div id=popupouter"+Cyberoam.pageLayer+" ><div id=popup"+Cyberoam.pageLayer+"></div></div>").appendTo(document.getElementById("inlinePopup"));document.getElementById("popup"+Cyberoam.pageLayer);jQuery(document.getElementById("mainframecontent")).hide()},Cyberoam.hidePopup=function(e){clearTimeout(Cyberoam.popupCloseInterval),Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].id&&(document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].id).innerHTML=document.getElementById("popup"+Cyberoam.pageLayer).innerHTML),jQuery(document.getElementById("popup"+Cyberoam.pageLayer).parentNode).remove(),void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&(Cyberoam.pageLayer>1?document.getElementById("TB_overlay").style.zIndex=200*(Cyberoam.pageLayer-1):(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1)),Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel&&"function"==typeof Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel&&Cyberoam.pageObject[Cyberoam.pageLayer].afterCancel(),Cyberoam.clearAllTimeout();for(var a=Cyberoam.getElementsByClassName("CRController_body"),t=0;t<a.length;t++)a[t].getAttribute("layer")==Cyberoam.pageLayer&&jQuery(a[t]).remove();1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&(0===$("#tabs-container .popupouter").length?$("#tabs-container").remove():($("#widget-header #widgetPopupTitle"+(Cyberoam.pageLayer-1)).find(".widgetPopupHeader").addClass("widgetPopupHeader-focus").removeClass("widgetPopupHeader"),$("#widget-header #widgetPopupTitle"+(Cyberoam.pageLayer-1)).siblings(".fa-caret-right").remove(),document.getElementById("tabs-container").style.zIndex=200*(Cyberoam.pageLayer-1)+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*(Cyberoam.pageLayer-1)+1),$("#popupouter"+(Cyberoam.pageLayer-1)).show(),$("#widget-header #widgetPopupTitle"+Cyberoam.pageLayer).remove(),void 0===$("#tabs-container")[0]&&Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv&&Cyberoam.hideShowWidgetPopupTR(Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv,"none")),1==Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup&&(document.getElementById("TB_overlay").style.opacity="0.3"),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=null,Cyberoam.pageObject[Cyberoam.pageLayer]=null,Cyberoam.pageLayer--,Cyberoam.pageObject[Cyberoam.pageLayer]&&(Cyberoam.getDataObject=Cyberoam.pageObject[Cyberoam.pageLayer].dataObject),void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1),0==Cyberoam.pageLayer&&jQuery(document.getElementById("mainframecontent")).show(),Cyberoam.setPageTitle(),1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&Cyberoam.setFocus()},Cyberoam.refreshPage=function(){Cyberoam.sendPageRequest(Cyberoam.pageObject[Cyberoam.pageLayer].URL,Cyberoam.pageObject[Cyberoam.pageLayer].width,Cyberoam.pageObject[Cyberoam.pageLayer].height),Cyberoam.setStatusBarMessage("","")},Cyberoam.messageBox=function(e){Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup=!0,Cyberoam.createPopupDiv();var a=Language.OkCC,t=Language.Cancel,o="",r=500;void 0!==e.okLabel&&(a=e.okLabel),void 0!==e.cancelLabel&&(t=e.cancelLabel);
2086var n='<div id="popupcontent" class="messegeBoxcontent">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /></div>';e.confirm&&(n='<div id="popupcontent" class="messegeBoxcontent">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),e.warning&&(r=650,e.headerMessage&&(o='<div class="subheader">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div class="icomoon-caution messageWarning"></div><div id="popupcontent" class="messegeBoxcontent" style = "width:90%">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),e.redeula&&(r=650,e.headerMessage&&(o='<div class="subheader">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div id="popupcontent" class="messegeBoxcontent" style = "width:90%">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style="margin-right: 15px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /><input style="margin-right: 15px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /></div>'),e.localAPcountry&&(r=800,e.headerMessage&&(o='<div class="subheader" align="center" style="font-weight:bolder">'+Cyberoam.getTranslatedMSG(e.headerMessage)+"</div>"),n=o+'<div id="popupcontent" class="messegeBoxcontent" style = "width:90%;font-weight: bold;">'+Cyberoam.getTranslatedMSG(e.message)+'</div><div class="footer"><input style=""text-align: center;Width:50px;" value="'+a+'" onclick="Cyberoam.closeMessageBox(1)" name="messegeEle" type="button" class="cp-btn cp-green-btn" /><input style=""text-align: center;Width:50px;" value="'+t+'" onclick="Cyberoam.closeMessageBox(2)" name="messegeEle" type="button" class="cp-btn cp-gray-btn" /></div>'),Cyberoam.fillContentInDiv(n,r),e.obj&&document.getElementById("popupcontent").appendChild(e.obj),document.getElementById("popup"+Cyberoam.pageLayer).style.height="auto",document.getElementById("popup"+Cyberoam.pageLayer).style.height=document.getElementById("popup"+Cyberoam.pageLayer).offsetHeight+10+"px",e.autoClose&&(Cyberoam.popupCloseInterval=setTimeout("Cyberoam.hidePopup()",5e3)),document.getElementById("popup"+Cyberoam.pageLayer).getElementsByTagName("input")[0].focus(),Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),document.getElementById("TB_overlay").style.opacity="0.5",Cyberoam.onEscPopupClose("popup"+Cyberoam.pageLayer)},Cyberoam.setTimeout=function(e,a,t){Cyberoam.pageObject[Cyberoam.pageLayer]&&(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].timers&&(Cyberoam.pageObject[Cyberoam.pageLayer].timers={}),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=setTimeout(a,t))},Cyberoam.clearTimeout=function(e){Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].timers&&Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]&&(clearTimeout(Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=null)},Cyberoam.clearAllTimeout=function(){if(Cyberoam.pageObject[Cyberoam.pageLayer])for(var e in Cyberoam.pageObject[Cyberoam.pageLayer].timers)Cyberoam.pageObject[Cyberoam.pageLayer].timers.hasOwnProperty(e)&&(clearTimeout(Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]),Cyberoam.pageObject[Cyberoam.pageLayer].timers[e]=null)},Cyberoam.setMainFrame=function(e,a){jQuery("#ygddfdiv").remove(),Cyberoam.set_hash(e);for(var t=Cyberoam.pageLayer;t>0;t--)Cyberoam.hidePopup();if("undefined"!=typeof CCC&&void 0!==CCC.pageLayer)for(t=CCC.pageLayer;t>0;t--)CCC.hidePopup();Cyberoam.pageLayer=0,Cyberoam.clearAllTimeout();var o=Cyberoam.getElementsByClassName("CRController_body");for(t=0;t<o.length;t++)o[t].getAttribute("layer")==Cyberoam.pageLayer&&jQuery(o[t]).remove();var r="";void 0!==Cyberoam.pageObject[Cyberoam.pageLayer]&&(r=Cyberoam.pageObject[0].URL,Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=null,Cyberoam.pageObject[Cyberoam.pageLayer]=null),Cyberoam.pageObject[Cyberoam.pageLayer]={operation:Cyberoam.getRequestParam(e,"operation")},Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule=Cyberoam.getRequestParam(e,"clone"),Cyberoam.pageObject[Cyberoam.pageLayer].prevURL=r,Cyberoam.pageObject[Cyberoam.pageLayer].URL=e,Cyberoam.pageObject[Cyberoam.pageLayer].dragDrop=!1,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.page=e.substring(e.lastIndexOf("/")+1,e.lastIndexOf(".jsp")),Cyberoam.topBarHook(e),Cyberoam.sendPageRequest(e),1!=a&&Cyberoam.setStatusBarMessage("",""),document.getElementById("content")&&document.getElementById("content").childNodes[0]&&"subheader"==document.getElementById("content").childNodes[0].className&&jQuery(document.getElementById("content").childNodes[0]).remove()},Cyberoam.topBarHook=function(e){var a=$("#topbar-title"),t=$("#topbar #breadcrumbs");a.empty().append(t.detach()),a.height(Cyberoam.topBarHeight)},Cyberoam.closeMessageBox=function(e){if(1==e){clearTimeout(Cyberoam.popupCloseInterval),Cyberoam.pageObject[Cyberoam.pageLayer]&&Cyberoam.pageObject[Cyberoam.pageLayer].id&&(document.getElementById(Cyberoam.pageObject[Cyberoam.pageLayer].id).innerHTML=document.getElementById("popup"+Cyberoam.pageLayer).innerHTML),jQuery(document.getElementById("popup"+Cyberoam.pageLayer).parentNode).remove(),Cyberoam.pageLayer>1&&void 0===Cyberoam.pageObject[Cyberoam.pageLayer-1].inlinePopup?document.getElementById("TB_overlay").style.zIndex=200*(Cyberoam.pageLayer-1):(document.getElementById("TB_overlay").style.opacity="0",document.getElementById("TB_overlay").style.zIndex=-1),1==Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup&&(document.getElementById("TB_overlay").style.opacity="0.3"),Cyberoam.pageObject[Cyberoam.pageLayer].afterOk&&Cyberoam.pageObject[Cyberoam.pageLayer].afterOk();var a=Cyberoam.pageLayer;Cyberoam.pageLayer--,Cyberoam.pageObject[a].afterOkAndClose&&Cyberoam.pageObject[a].afterOkAndClose()}else Cyberoam.hidePopup(e)},Cyberoam.createPopupDiv=function(){var e="",a=!1;if(null!=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton&&(a=Cyberoam.pageObject[Cyberoam.pageLayer].hideCloseButton),null==Cyberoam.pageObject[Cyberoam.pageLayer].close){var t="right: 20px;";if(void 0===Cyberoam.pageObject[Cyberoam.pageLayer].message)t="right: 25px;";e=a?"":'<div onmouseout="this.className=\'popupclose\'" onmouseover="this.className=\'popupclose_hover\'" style="'+t+'" onclick="Cyberoam.hidePopup()" class="popupclose"></div>'}jQuery("<div class='cp-wrapper popupouter' id=popupouter"+Cyberoam.pageLayer+" ><div id=popup"+Cyberoam.pageLayer+" class='popupinner'></div>"+e+"</div>").appendTo(document.body);document.getElementById("popup"+Cyberoam.pageLayer),Cyberoam.createLightboxOverlay();document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1;var o=parseInt((document.documentElement.clientHeight-document.getElementById("popup"+Cyberoam.pageLayer).parentNode.offsetHeight)/2),r=parseInt((document.documentElement.clientWidth-document.getElementById("popup"+Cyberoam.pageLayer).parentNode.offsetWidth)/2);$("#popup"+Cyberoam.pageLayer).parent().css("top",o+"px"),$("#popup"+Cyberoam.pageLayer).parent().css("left",r+"px")},Cyberoam.fillContentInDiv=function(e,a,t){var o="popup"+Cyberoam.pageLayer;if(0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.removeOver
2086Lay(),$("#"+o).empty().append(e),0!=Cyberoam.pageLayer){var r=document.documentElement.clientHeight,n=document.documentElement.clientWidth,y=100,p=50;if(popupElement=document.getElementById(o),(!0===Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup||!0===Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup&&!0===Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopupFixedPosition)&&(popupElement.style.height="auto",popupElement.style.width="auto",popupElement.style.overflow="auto",popupElement.style.clear="both",void 0!==t&&(popupElement.style.height=t+"px"),document.documentElement.clientHeight<popupElement.parentNode.offsetHeight+60&&(popupElement.style.height=r-100+"px"),y=parseInt((document.documentElement.clientHeight-document.getElementById(o).parentNode.offsetHeight)/2),popupElement.style.width=void 0!==a?a+"px":"600px",document.documentElement.clientWidth<document.getElementById(o).parentNode.offsetWidth?(popupElement.parentNode.style.width=n-100+"px",popupElement.style.width=n-100+"px"):popupElement.style.width=popupElement.offsetWidth+20+"px",p=parseInt((document.documentElement.clientWidth-document.getElementById(o).parentNode.offsetWidth)/2),!0===Cyberoam.pageObject[Cyberoam.pageLayer].standardPopup?(popupElement.parentNode.style.top=y+"px",popupElement.parentNode.style.left=p+"px"):(popupElement.parentNode.parentNode.parentNode.style.top=y+"px",popupElement.parentNode.parentNode.parentNode.style.left=p+"px")),1==Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup){for(var m=$(".subheader"),b=0;b<m.length;b++)$(".subheader")[b].style.display="none";var i=document.getElementById("popup"+Cyberoam.pageLayer);if(i){var s=Cyberoam.getElementsByClassName("footer-btn-pnl",i);s[0]&&(s[0].className="popup-footer-btn-pnl")}}}},Cyberoam.setPopupContentString=function(e,a,t){Cyberoam.fillContentInDiv(e,a,t)},Cyberoam.setPopupContent=function(e,a,t){Cyberoam.fillContentInDiv(document.getElementById(e).innerHTML,a,t),document.getElementById(e).innerHTML=""},Cyberoam.getOperation=function(){return Cyberoam.pageObject[Cyberoam.pageLayer].operation},Cyberoam.getObjectID=function(){return Cyberoam.pageObject[Cyberoam.pageLayer].objectID?Cyberoam.pageObject[Cyberoam.pageLayer].objectID:0},Cyberoam.isCloneRule=function(){return!!Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule&&Cyberoam.pageObject[Cyberoam.pageLayer].cloneRule},Cyberoam.isCloneRuleBool=function(){return"true"==Cyberoam.isCloneRule()},Cyberoam.setRequestObject=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject=e},Cyberoam.getRequestObject=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject?Cyberoam.pageObject[Cyberoam.pageLayer].reuqestObject:null},Cyberoam.setConfirm=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].confirm=e},Cyberoam.getConfirm=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].confirm?Cyberoam.pageObject[Cyberoam.pageLayer].confirm:null},Cyberoam.setClick=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].click=e},Cyberoam.getClick=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].click?Cyberoam.pageObject[Cyberoam.pageLayer].click:null},Cyberoam.setParentEntityObject=function(e){Cyberoam.pageObject[Cyberoam.pageLayer].entityObject=e},Cyberoam.getParentEntityObject=function(){return void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].entityObject?Cyberoam.pageObject[Cyberoam.pageLayer].entityObject:null},Cyberoam.getPageRequestParameter=function(e){if(Cyberoam.pageObject[Cyberoam.pageLayer].URL)return Cyberoam.getRequestParam(Cyberoam.pageObject[Cyberoam.pageLayer].URL,e)},Cyberoam.getCorporatePageInDiv=function(e,a){var t=Cyberoam.contextPath+"/webpages"+e;0==Cyberoam.pageLayer&&Cyberoam.currentNavigationUrl!==e&&($("#"+a).empty(),Cyberoam.currentNavigationUrl=e),Cyberoam.addOverLay(a);var o=function(e){$.ajax({url:e,success:function(e){$("#"+a).length>0&&($("#"+a).empty().append(e),Cyberoam.pageLoad(y)),Cyberoam.removeOverLay()}})},r=function(e){$.ajax({url:Cyberoam.contextPath+"/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!n(JSON.parse(e.responseText))||o(t)}
2086,error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},n=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,"undefined"!=typeof loginFrom&&"userportal"==loginFrom?location.href="/userportal/webpages/myaccount/login.jsp":location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},y=e.substring(0,e.indexOf("."));y=y.substring(y.lastIndexOf("/")+1),t=-1!=e.indexOf(".jsp")?Cyberoam.getURL(t,"t",(new Date).getTime()):Cyberoam.getURL(t,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=y,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(t,"objectID"),"300"==Cyberoam.getRequestParam(t,"mode")&&-1==e.indexOf(".jsp")?function(a){var t=Cyberoam.contextPath+"/Controller?"+e.substring(e.indexOf("?")+1);$.ajax({url:t,cache:!1,success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,width,height),void Cyberoam.removeOverLay()}catch(e){}var t=JSON.parse(e);n(t)&&(599!=t.status?r(a):(Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp")),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=t,Cyberoam.getDataObject=t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(y):r(y)},Cyberoam.getiviewPageInDiv=function(e,a){var t="";t=-1==e.indexOf(".jsp")?"/iview/webpages/"+e:Cyberoam.contextPath+"/webpages/iview/"+e,Cyberoam.addOverLay(a);var o=function(e){$.ajax({url:e,contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){$("#"+a).html(e),Cyberoam.pageLoad(y),Cyberoam.removeOverLay()}})},r=function(e){$.ajax({url:"/iview/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!n(JSON.parse(e.responseText))||o(t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},n=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},y=e.substring(0,e.indexOf("."));y=y.substring(y.lastIndexOf("/")+1),t=-1!=e.indexOf(".jsp")?Cyberoam.getURL(t,"t",(new Date).getTime()):Cyberoam.getURL(t,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=y,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(t,"objectID"),-1==e.indexOf(".jsp")?function(a){var t=Cyberoam.contextPath+"/AjaxController",o=e.substring(e.indexOf("?")+1);"json"==o.match("json")&&"startdate"==o.match("startdate")&&"edndate"==o.match("edndate")&&(o=o.split("startdate:")[0]+"startdate:"+Cyberoam.start+",edndate:"+Cyberoam.end+"}"),$.ajax({url:t,cache:!1,data:o,type:"POST",contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,width,height),void Cyberoam.removeOverLay()}catch(e){}var t=JSON.parse(e);n(t)&&(597==t.status?location.href=Cyberoam.contextPath+"/webpages/login.jsp":599!=t.status?r(a):(Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.html")),Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=t,Cyberoam.getDataObject=t)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(y):r(y)},Cyberoam.getPageInDiv=function(e,a){Cyberoam.getController()&&"iview"==Cyberoam.getController()?Cyberoam.getiviewPageInDiv(e,a):Cyberoam.getCorporatePageInDiv(e,a)},Cyberoam.corporatePageRequest=function(e,a,t){var o="popup"+Cyberoam.pageLayer,r=Cyberoam.contextPath+"/webpages"+e;r=Cyberoam.getURL(r,"popup",Cyberoam.pageLayer),0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.currentNavigationUrl!==e&&($("#"+o).empty(),$("#menuLevelDiv").css("visibility","hidden"),$("#timeDiv").css("visibility","hidden"),Cyberoam.currentNavigationUrl=e),Cyberoam.addOverLay(o);var n=function(e){$.ajax({url:e,success:function(e){Cyberoam.fillContentInDiv(e,a,t),-1==e.indexOf("Language.PageDenied")?Cyberoam.pageLoad(m):(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),Cyberoam.setPageSize()),0!==Cyberoam.pageLayer&&Cyberoam.removeOver
2086Lay()}})},y=function(e){$.ajax({url:Cyberoam.contextPath+"/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!p(JSON.parse(e.responseText))||n(r)},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},p=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,"undefined"!=typeof loginFrom&&"userportal"==loginFrom?location.href="/userportal/webpages/myaccount/login.jsp":location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},m=e.substring(0,e.indexOf("."));m=m.substring(m.lastIndexOf("/")+1),r=-1!=e.indexOf(".jsp")?Cyberoam.getURL(r,"t",(new Date).getTime()):Cyberoam.getURL(r,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=m,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(r,"objectID"),"300"==Cyberoam.getRequestParam(r,"mode")?function(o){var r=Cyberoam.contextPath+"/Controller?"+e.substring(e.indexOf("?")+1);$.ajax({url:r,cache:!1,success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,a,t),void Cyberoam.removeOverLay()}catch(e){}var r=JSON.parse(e);if(p(r)){if(599!=r.status&&502!=r.status)y(o);else if(599==r.status)Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp");else if(502==r.status)return Cyberoam.removeOverLay(),Cyberoam.setStatusBarMessage(Message.RecordNotExists,r.status),void(""!=Cyberoam.pageObject[0].prevURL&&Cyberoam.setMainFrame(Cyberoam.pageObject[0].prevURL,1));Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=r,Cyberoam.getDataObject=r}},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})}(m):y(m)},Cyberoam.iviewPageRequest=function(e,a,t){var o="popup"+Cyberoam.pageLayer;0==Cyberoam.pageLayer&&(o=Cyberoam.mainFrame+" #mainframecontent"),Cyberoam.currentNavigationUrl!==e&&($("#"+o).empty(),Cyberoam.currentNavigationUrl=e),$("#menuLevelDiv").css("visibility","hidden"),$("#timeDiv").css("visibility","hidden"),Cyberoam.addOverLay(o);var r="";r=-1==e.indexOf(".jsp")?"/iview/webpages/"+e:Cyberoam.contextPath+"/webpages/iview/"+e;var n=r=Cyberoam.getURL(r,"popup",Cyberoam.pageLayer),y="";r.indexOf("?")>0&&(n=r.substring(0,r.indexOf("?")),y=r.substring(r.indexOf("?")+1));var p=function(e){$.ajax({type:"POST",url:n,data:y,contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){void 0!==e.status&&597==e.status&&(location.href=Cyberoam.contextPath+"/webpages/login.jsp"),Cyberoam.fillContentInDiv(e,a,t),$("#menuLevelDiv").css("visibility","visible"),$("#timeDiv").css("visibility","visible"),-1==e.indexOf("Language.PageDenied")?Cyberoam.pageLoad(i):(0==Cyberoam.pageLayer?Cyberoam.setLabelValue(document.getElementById(Cyberoam.mainFrame)):Cyberoam.setLabelValue(document.getElementById("popup"+Cyberoam.pageLayer)),Cyberoam.setPageSize()),Cyberoam.removeOverLay()}})},m=function(e){$.ajax({url:"/iview/javascript/validation/"+e+".js?ver="+Cyberoam.version,dataType:"script",cache:!0,success:function(e,a){"parsererror"===a&&e.responseText&&!b(JSON.parse(e.responseText))||p()},error:function(e){Cyberoam.removeOverLay(),"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)}})},b=function(e){var a=!0;return e.status==CSCConstants.SESSION_EXPIRED&&(a=!1,location.href=Cyberoam.contextPath+"/webpages/login.jsp"),a},i=e.substring(0,e.indexOf("."));i=i.substring(i.lastIndexOf("/")+1),r=-1!=e.indexOf(".jsp")?Cyberoam.getURL(r,"t",(new Date).getTime()):Cyberoam.getURL(r,"t",Cyberoam.version),Cyberoam.pageObject[Cyberoam.pageLayer].module=i,Cyberoam.pageObject[Cyberoam.pageLayer].objectID=Cyberoam.getRequestParam(r,"objectID"),-1==e.indexOf(".jsp")?function(o){var r=Cyberoam.contextPath+"/AjaxController",n=e.substring(e.indexOf("?")+1);$.ajax({url:r,data:n,type:"POST",cache:!1,dataType:"json",contentType:"application/x-www-form-urlencoded; charset=utf-8",success:function(e){try{if(-1!=e.indexOf("Language.PageDenied"))return Cyberoam.fillContentInDiv(e,a,t),void Cyberoam.removeOver
2086Lay()}catch(e){}var r=e;if(b(r)){if(void 0===r.status||599!=r.status&&502!=r.status)m(o);else if(599==r.status)Cyberoam.removeOverLay(),Cyberoam.sendPageRequest("/AccessPermissionDenied.jsp");else if(502==r.status)return Cyberoam.removeOverLay(),Cyberoam.setStatusBarMessage(Message.RecordNotExists,r.status),void(""!=Cyberoam.pageObject[0].prevURL&&Cyberoam.setMainFrame(Cyberoam.pageObject[0].prevURL,1));Cyberoam.pageObject[Cyberoam.pageLayer].dataObject=r,Cyberoam.getDataObject=r}},error:function(e){Cyberoam.removeOverLay();var a=e.responseText;void 0!==a?-1==a.indexOf("session_ex.png")&&-1==a.indexOf("Language.PageDenied")||(location.href=Cyberoam.contextPath+"/webpages/login.jsp"):"abort"!==e.statusText&&Cyberoam.setStatusBarMessage(Language.noConnectivity,505)},complete:function(){}})}(i):m(i)},Cyberoam.sendPageRequest=function(e,a,t){Cyberoam.getController()&&"iview"==Cyberoam.getController()?Cyberoam.iviewPageRequest(e,a,t):Cyberoam.corporatePageRequest(e,a,t)},Cyberoam.getController=function(){return!Cyberoam.getPageRequestParameter("ctrl")||null==Cyberoam.getPageRequestParameter("ctrl")&&"null"==Cyberoam.getPageRequestParameter("ctrl")||(Cyberoam.appController=Cyberoam.getPageRequestParameter("ctrl")),void 0===Cyberoam.appController&&(Cyberoam.appController=Cyberoam.defaultController),Cyberoam.appController},Cyberoam.parentPage=function(e){return void 0===e?Cyberoam.pageObject[Cyberoam.pageLayer-1].module:Cyberoam.pageObject[e].module},Cyberoam.getRequestParam=function(e,a){if(-1!=e.indexOf(a+"=")){var t=e.indexOf(a+"=")+a.length+1;return-1!=e.indexOf("&",t)?e.substring(t,e.indexOf("&",t)):e.substring(t)}return null},Cyberoam.removeRequestParam=function(e,a){if(-1!=e.indexOf(a+"=")){var t=e.indexOf(a+"="),o=e.indexOf("&",t);return-1==o?e.substring(0,t):e.substring(0,t)+e.substring(o)}return e};var dragObj=new Object;function dragStart(e,a){var t,o;dragObj.elNode=getID(a);try{t=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,o=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop}catch(a){t=e.clientX+window.scrollX,o=e.clientY+window.scrollY}return dragObj.cursorStartX=t,dragObj.cursorStartY=o,dragObj.elStartLeft=parseInt(dragObj.elNode.style.left,10),dragObj.elStartTop=parseInt(dragObj.elNode.style.top,10),isNaN(dragObj.elStartLeft)&&(dragObj.elStartLeft=0),isNaN(dragObj.elStartTop)&&(dragObj.elStartTop=0),dragapproved=!0,document.onmousemove=function(e){dragGo(e),(e=new Cyberoam.Event(e)).clearKeyCode()},!1}var z,x,y,maxleft,maxtop,maxright,maxbottom,dragapproved=!1;function dragGo(e){var a,t;try{a=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,t=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop}catch(o){a=e.clientX+window.scrollX,t=e.clientY+window.scrollY}if(dragapproved){var o=dragObj.elStartLeft+a-dragObj.cursorStartX,r=dragObj.elStartTop+t-dragObj.cursorStartY;return dragObj.elNode.style.left=o>0?o+"px":"1px",dragObj.elNode.style.top=r>0?r+"px":"1px",t>=document.getElementById("wrapper").offsetHeight-50&&(dragObj.elNode.style.top=document.getElementById("wrapper").offsetHeight-70+"px"),a>=document.getElementById("wrapper").offsetWidth-50&&(dragObj.elNode.style.left=document.getElementById("wrapper").offsetWidth-70+"px"),!1}}document.onmouseup=new Function("dragapproved=false; document.onmousemove=null;"),Cyberoam.showWidgetPopup=function(e){null!=Cyberoam.currentObject&&Cyberoam.currentObject.hide(),Cyberoam.pageLayer++,Cyberoam.pageObject[Cyberoam.pageLayer]=e,Cyberoam.pageObject[Cyberoam.pageLayer].timers={},Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup=!0,e.popupDiv&&(Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv=e.popupDiv,Cyberoam.hideShowWidgetPopupTR(e.popupDiv,"")),Cyberoam.createWidgetPopupDiv(e),document.getElementById("TB_overlay").style.opacity="0.3",e.hideTitle&&(document.getElementById("widgetPopupTitle"+Cyberoam.pageLayer).style.display="none"),e.URL?(Cyberoam.pageObject[Cyberoam.pageLayer].operation=Cyberoam.getRequestParam(e.URL,"operation"),Cyberoam.sendPageRequest(e.URL,e.width,e.height)):e.id&&Cyberoam.setPopupContent(e.id,e.width,e.height),Cyberoam.setStatusBarMessage("",""),Cyberoam.onEscPopupClose("popupouter"+Cyberoam.pageLayer)},Cyberoam.createLightboxOverlay=function(){var e=document.getElementById("TB_overlay");return e||((e=document.createElement("div")).className="TB_overlayBG",e.id="TB_overlay",document.body.appendChild(e)),e.style.zIndex=200*Cyberoam.pageLayer,e.style.width=document.body.scrollWidth,e.style.height=document.body.scrollHeight,e},Cyberoam.createWidgetPopupDiv=function(e){var a,t="";Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv?t=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv:Cyberoam.pageObject[Cyberoam.pageLayer-1]&&Cyberoam.pageObject[Cyberoam.pageLayer-1].popupDiv&&(t=Cyberoam.pageObject[Cyberoam.pageLayer-1].popupDiv),t?a=document.getElementById(""+t):(jQuery("<div id=widget-popup-"+Cyberoam.pageLayer+" class='cp-wrapper'></div>").appendTo(document.body),a=document.getElementById("widget-popup-"+Cyberoam.pageLayer)),$(a).addClass("widgetPopup");var o="";Cyberoam.pageObject[Cyberoam.pageLayer].title?o=Cyberoam.pageObject[Cyberoam.pageLayer].title:e.title&&(o=e.title),0==$("#tabs-container").length?($("<div id='tabs-container' class='widgetPopupDiv'><div id='widget-header'><div id='title-tags'><div class='widgetPopupTitle' id='widgetPopupTitle"+Cyberoam.pageLayer+"'><div class='widgetPopupHeader-focus'>"+o+"</div></div></div><div class='icomoon-x popup-close-icon last' onclick=\"Cyberoam.xhrPool.abortAll();Cyberoam.hidePopup();\"></div></div></div>").appendTo(a),$("<div id=popupouter"+Cyberoam.pageLayer+" class='popupouter'><div id=popup"+Cyberoam.pageLayer+" style='position: relative'></div></div>").appendTo($("#tabs-container"))):(0!=Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup&&1!=Cyberoam.pageObject[Cyberoam.pageLayer-1].widgetPopup||($("#widgetPopupTitle"+(Cyberoam.pageLayer-1)).find(".widgetPopupHeader-focus").addClass("widgetPopupHeader").removeClass("widgetPopupHeader-focus"),$("#widget-header #title-tags").append('<div class="fa fa-caret-right popup-breadcrumb"></div>'),$("#popupouter"+(Cyberoam.pageLayer-1)).hide()),$("<div class='widgetPopupTitle' id='widgetPopupTitle"+Cyberoam.pageLayer+"'><div class='widgetPopupHeader-focus'>"+o+"</div></div>").appendTo("#widget-header #title-tags"),$("<div id=popupouter"+Cyberoam.pageLayer+" class='popupouter'><div id=popup"+Cyberoam.pageLayer+" style='position: relative'></div></div>").appendTo($("#tabs-container")));Cyberoam.createLightboxOverlay();if(document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*Cyberoam.pageLayer+1,!t){Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopupFixedPosition=!0,a.style.position="fixed",document.getElementById("popup"+Cyberoam.pageLayer).parentNode.style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").style.zIndex=200*Cyberoam.pageLayer+1,document.getElementById("tabs-container").parentNode.style.zIndex=200*Cyberoam.pageLayer+1;var r=parseInt((document.documentElement.clientHeight-a.offsetHeight)/2),n=parseInt((document.documentElement.clientWidth-a.offsetWidth)/2);a.style.top=r+"px",a.style.left=n+"px"}},Cyberoam.hideShowWidgetPopupTR=function(e,a){if(e&&$("#"+e)[0]){var t=$("#"+e);t.parent()[0]&&t.parent().parent()[0]&&t.parent().parent()[0].tagName&&"tr"==t.parent().parent()[0].tagName.toLowerCase()&&(t.parent().parent()[0].style.display=a)}},Cyberoam.onEscPopupClose=function(e){$("#"+e).on("keyup",(function(e){27==new Cyberoam.Event(e).getKeyCode()&&Cyberoam.pageLayer>0&&(Cyberoam.pageObject[Cyberoam.pageLayer].widgetPopup||void 0===Cyberoam.pageObject[Cyberoam.pageLayer].inlinePopup)&&null==Cyberoam.pageObject[Cyberoam.pageLayer].close&&0!=Cyberoam.pageObject[Cyberoam.pageLayer].close&&Cyberoam.hidePopup()}))}; 2087
2088/** The Calendar object constructor. */ 2089Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) { 2090 // member variables 2091 this.activeDiv = null; 2092 this.currentDateEl = null; 2093 this.getDateStatus = null; 2094 this.timeout = null; 2095 this.onSelected = onSelected || null; 2096 this.onClose = onClose || null; 2097 this.dragging = false; 2098 this.hidden = false; 2099 this.minYear = 1970; 2100 this.maxYear = 2050; 2101 this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; 2102 this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; 2103 this.isPopup = true; 2104 this.weekNumbers = true; 2105 this.mytab = false; 2106 this.firstDayOfWeek = firstDayOfWeek; // 0 for Sunday, 1 for Monday, etc. 2107 this.showsOtherMonths = false; 2108 this.dateStr = dateStr; 2109 this.ar_days = null; 2110 this.showsTime = false; 2111 this.time24 = true; 2112 this.yearStep = 2; 2113 this.timeFormatOnToday = 0; 2114 // HTML elements 2115 this.table = null; 2116 this.element = null; 2117 this.tbody = null; 2118 this.firstdayname = null; 2119 // Combo boxes 2120 this.monthsCombo = null; 2121 this.yearsCombo = null; 2122 this.hilitedMonth = null; 2123 this.activeMonth = null; 2124 this.hilitedYear = null; 2125 this.activeYear = null; 2126 // Information 2127 this.dateClicked = false; 2128 2129 // one-time initializations 2130 if (typeof Calendar._SDN == "undefined") { 2131 // table of short day names 2132 if (typeof Calendar._SDN_len == "undefined") 2133 Calendar._SDN_len = 3; 2134 var ar = new Array(); 2135 for (var i = 8; i > 0;) { 2136 ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len); 2137 } 2138 Calendar._SDN = ar; 2139 // table of short month names 2140 if (typeof Calendar._SMN_len == "undefined") 2141 Calendar._SMN_len = 3; 2142 ar = new Array(); 2143 for (var i = 12; i > 0;) { 2144 ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len); 2145 } 2146 Calendar._SMN = ar; 2147 } 2148}; 2149 2150// ** constants 2151 2152/// "static", needed for event handlers. 2153Calendar._C = null; 2154 2155/// detect a special case of "web browser" 2156Calendar.is_ie = ( /msie/i.test(navigator.userAgent) && 2157 !/opera/i.test(navigator.userAgent) ); 2158 2159Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) ); 2160 2161/// detect Opera browser 2162Calendar.is_opera = /opera/i.test(navigator.userAgent); 2163 2164/// detect KHTML-based browsers 2165Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent); 2166 2167// detect Chrome browser 2168Calendar.is_chrome = /chrome/i.test(navigator.userAgent); 2169// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate 2170// library, at some point. 2171 2172Calendar.getAbsolutePos = function(el) { 2173 var SL = 0, ST = 0; 2174 var is_div = /^div$/i.test(el.tagName); 2175 if (is_div && el.scrollLeft) 2176 SL = el.scrollLeft; 2177 if (is_div && el.scrollTop) 2178 ST = el.scrollTop; 2179 var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; 2180 if (el.offsetParent) { 2181 var tmp = this.getAbsolutePos(el.offsetParent); 2182 r.x += tmp.x; 2183 r.y += tmp.y; 2184 } 2185 return r; 2186}; 2187 2188Calendar.isRelated = function (el, evt) { 2189 var related = evt.relatedTarget; 2190 if (!related) { 2191 var type = evt.type; 2192 if (type == "mouseover") { 2193 related = evt.fromElement; 2194 } else if (type == "mouseout") { 2195 related = evt.toElement; 2196 } 2197 } 2198 /*while (related) { 2199 if (related == el) { 2200 return true; 2201 } 2202 related = related.parentNode; 2203 }*/ 2204 return false; 2205}; 2206 2207Calendar.removeClass = function(el, className) { 2208 if (!(el && el.className)) { 2209 return; 2210 } 2211 var cls = el.className.split(" "); 2212 var ar = new Array(); 2213 for (var i = cls.length; i > 0;) { 2214 if (cls[--i] != className) { 2215 ar[ar.length] = cls[i]; 2216 } 2217 } 2218 el.className = ar.join(" "); 2219}; 2220 2221Calendar.addClass = function(el, className) { 2222 Calendar.removeClass(el, className); 2223 el.className += " " + className; 2224}; 2225 2226Calendar.getElement = function(ev) { 2227 if (Calendar.is_ie) { 2228 return window.event.srcElement; 2229 } else { 2230 return ev.currentTarget; 2231 } 2232}; 2233 2234Calendar.getTargetElement = function(ev) { 2235 if (Calendar.is_ie) { 2236 return window.event.srcElement; 2237 } else { 2238 return ev.target; 2239 } 2240}; 2241 2242Calendar.stopEvent = function(ev) { 2243 ev || (ev = window.event); 2244 if (Calendar.is_ie) { 2245 ev.cancelBubble = true; 2246 ev.returnValue = false; 2247 } else { 2248 ev.preventDefault(); 2249 ev.stopPropagation(); 2250 } 2251 return false; 2252}; 2253 2254Calendar.addEvent = function(el, evname, func) { 2255 if (el.attachEvent) { // IE 2256 el.attachEvent("on" + evname, func); 2257 } else if (el.addEventListener) { // Gecko / W3C 2258 el.addEventListener(evname, func, true); 2259 } else { 2260 el["on" + evname] = func; 2261 } 2262}; 2263 2264Calendar.removeEvent = function(el, evname, func) { 2265 if (el.detachEvent) { // IE 2266 el.detachEvent("on" + evname, func); 2267 } else if (el.removeEventListener) { // Gecko / W3C 2268 el.removeEventListener(evname, func, true); 2269 } else { 2270 el["on" + evname] = null; 2271 } 2272}; 2273 2274Calendar.createElement = function(type, parent) { 2275 var el = null; 2276 if (document.createElementNS) {
2277 // use the XHTML namespace; IE won't normally get here unless 2278 // _they_ "fix" the DOM2 implementation. 2279 el = document.createElementNS("http://www.w3.org/1999/xhtml", type); 2280 } else { 2281 el = document.createElement(type); 2282 } 2283 if (typeof parent != "undefined") { 2284 parent.appendChild(el); 2285 } 2286 return el; 2287}; 2288 2289// END: UTILITY FUNCTIONS 2290 2291// BEGIN: CALENDAR STATIC FUNCTIONS 2292 2293/** Internal -- adds a set of events to make some element behave like a button. */ 2294Calendar._add_evs = function(el) { 2295 with (Calendar) { 2296 addEvent(el, "mouseover", dayMouseOver); 2297 addEvent(el, "mousedown", dayMouseDown); 2298 addEvent(el, "mouseout", dayMouseOut); 2299 if (is_ie) { 2300 addEvent(el, "dblclick", dayMouseDblClick); 2301 el.setAttribute("unselectable", true); 2302 } 2303 } 2304}; 2305Calendar.myeve = function(el) { 2306 with (Calendar) { 2307 addEvent(el, "mousedown", dayMouseDown); 2308 if (is_ie) { 2309 //addEvent(el, "dblclick", dayMouseDblClick); 2310 el.setAttribute("unselectable", true); 2311 } 2312 } 2313}; 2314 2315 2316Calendar.findMonth = function(el) { 2317 if (typeof el.month != "undefined") { 2318 return el; 2319 } else if (typeof el.parentNode.month != "undefined") { 2320 return el.parentNode; 2321 } 2322 return null; 2323}; 2324 2325Calendar.findYear = function(el) { 2326 if (typeof el.year != "undefined") { 2327 return el; 2328 } else if (typeof el.parentNode.year != "undefined") { 2329 return el.parentNode; 2330 } 2331 return null; 2332}; 2333 2334Calendar.showMonthsCombo = function () { 2335 var cal = Calendar._C; 2336 if (!cal) { 2337 return false; 2338 } 2339 var cal = cal; 2340 var cd = cal.activeDiv; 2341 var mc = cal.monthsCombo; 2342 if (cal.hilitedMonth) { 2343 Calendar.removeClass(cal.hilitedMonth, "hilite"); 2344 } 2345 if (cal.activeMonth) { 2346 Calendar.removeClass(cal.activeMonth, "active"); 2347 } 2348 var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; 2349 Calendar.addClass(mon, "active"); 2350 cal.activeMonth = mon; 2351 var s = mc.style; 2352 s.display = "block"; 2353 if (cd.navtype < 0) 2354 s.left = cd.offsetLeft + "px"; 2355 else { 2356 var mcw = mc.offsetWidth; 2357 if (typeof mcw == "undefined") 2358 // Konqueror brain-dead techniques 2359 mcw = 50; 2360 s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px"; 2361 } 2362 s.top = (cd.offsetTop + cd.offsetHeight) + "px"; 2363}; 2364 2365Calendar.showYearsCombo = function (fwd) { 2366 var cal = Calendar._C; 2367 if (!cal) { 2368 return false; 2369 } 2370 var cal = cal; 2371 var cd = cal.activeDiv; 2372 var yc = cal.yearsCombo; 2373 if (cal.hilitedYear) { 2374 Calendar.removeClass(cal.hilitedYear, "hilite"); 2375 } 2376 if (cal.activeYear) { 2377 Calendar.removeClass(cal.activeYear, "active"); 2378 } 2379 cal.activeYear = null; 2380 var Y = cal.date.getFullYear() + (fwd ? 1 : -1); 2381 var yr = yc.firstChild; 2382 var show = false; 2383 for (var i = 12; i > 0; --i) { 2384 if (Y >= cal.minYear && Y <= cal.maxYear) { 2385 yr.firstChild.data = Y; 2386 yr.year = Y; 2387 yr.style.display = "block"; 2388 show = true; 2389 } else { 2390 yr.style.display = "none"; 2391 } 2392 yr = yr.nextSibling; 2393 Y += fwd ? cal.yearStep : -cal.yearStep; 2394 } 2395 if (show) { 2396 var s = yc.style; 2397 s.display = "block"; 2398 if (cd.navtype < 0) 2399 s.left = cd.offsetLeft + "px"; 2400 else { 2401 var ycw = yc.offsetWidth; 2402 if (typeof ycw == "undefined") 2403 // Konqueror brain-dead techniques 2404 ycw = 50; 2405 s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px"; 2406 } 2407 s.top = (cd.offsetTop + cd.offsetHeight) + "px"; 2408 } 2409}; 2410 2411// event handlers 2412 2413Calendar.tableMouseUp = function(ev) { 2414 var cal = Calendar._C; 2415 if (!cal) { 2416 return false; 2417 } 2418 if (cal.timeout) { 2419 clearTimeout(cal.timeout); 2420 } 2421 var el = cal.activeDiv; 2422 if (!el) { 2423 return false; 2424 } 2425 var target = Calendar.getTargetElement(ev); 2426 ev || (ev = window.event); 2427 Calendar.removeClass(el, "active"); 2428 if (target == el || target.parentNode == el) { 2429 Calendar.cellClick(el, ev); 2430 } 2431 var mon = Calendar.findMonth(target); 2432 var date = null; 2433 if (mon) { 2434 date = new Date(cal.date); 2435 if (mon.month != date.getMonth()) { 2436 date.setMonth(mon.month); 2437 cal.setDate(date); 2438 cal.dateClicked = false; 2439 if(!cal.params.dateStatusFunc(date)){ 2440 cal.callHandler(); 2441 } 2442 } 2443 } else { 2444 var year = Calendar.findYear(target); 2445 if (year) { 2446 date = new Date(cal.date); 2447 if (year.year != date.getFullYear()) { 2448 date.setFullYear(year.year); 2449 cal.setDate(date); 2450 cal.dateClicked = false;
2451 if(!cal.params.dateStatusFunc(date)){ 2452 cal.callHandler(); 2453 } 2454 } 2455 } 2456 } 2457 with (Calendar) { 2458 removeEvent(document, "mouseup", tableMouseUp); 2459 removeEvent(document, "mouseover", tableMouseOver); 2460 removeEvent(document, "mousemove", tableMouseOver); 2461 cal._hideCombos(); 2462 _C = null; 2463 return stopEvent(ev); 2464 } 2465}; 2466 2467Calendar.tableMouseOver = function (ev) { 2468 var cal = Calendar._C; 2469 if (!cal) { 2470 return; 2471 } 2472 var el = cal.activeDiv; 2473 var target = Calendar.getTargetElement(ev); 2474 if (target == el || target.parentNode == el) { 2475 Calendar.addClass(el, "hilite active"); 2476 Calendar.addClass(el.parentNode, "rowhilite"); 2477 } else { 2478 if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2))) 2479 Calendar.removeClass(el, "active"); 2480 Calendar.removeClass(el, "hilite"); 2481 Calendar.removeClass(el.parentNode, "rowhilite"); 2482 } 2483 ev || (ev = window.event); 2484 /*if (el.navtype == 50 && target != el) { 2485 var pos = Calendar.getAbsolutePos(el); 2486 var w = el.offsetWidth; 2487 var x = ev.clientX; 2488 var dx; 2489 var decrease = true; 2490 if (x > pos.x + w) { 2491 dx = x - pos.x - w; 2492 decrease = false; 2493 } else 2494 dx = pos.x - x; 2495 2496 if (dx < 0) dx = 0; 2497 var range = el._range; 2498 var current = el._current; 2499 var count = Math.floor(dx / 10) % range.length; 2500 for (var i = range.length; --i >= 0;) 2501 if (range[i] == current) 2502 break; 2503 while (count-- > 0) 2504 if (decrease) { 2505 if (--i < 0) 2506 i = range.length - 1; 2507 } else if ( ++i >= range.length ) 2508 i = 0; 2509 var newval = range[i]; 2510 el.value = newval; 2511 2512 cal.onUpdateTime(); 2513 }*/ 2514 var mon = Calendar.findMonth(target); 2515 if (mon) { 2516 if (mon.month != cal.date.getMonth()) { 2517 if (cal.hilitedMonth) { 2518 Calendar.removeClass(cal.hilitedMonth, "hilite"); 2519 }
2520 Calendar.addClass(mon, "hilite"); 2521 cal.hilitedMonth = mon; 2522 } else if (cal.hilitedMonth) { 2523 Calendar.removeClass(cal.hilitedMonth, "hilite"); 2524 } 2525 } else { 2526 if (cal.hilitedMonth) { 2527 Calendar.removeClass(cal.hilitedMonth, "hilite"); 2528 } 2529 var year = Calendar.findYear(target); 2530 if (year) { 2531 if (year.year != cal.date.getFullYear()) { 2532 if (cal.hilitedYear) { 2533 Calendar.removeClass(cal.hilitedYear, "hilite"); 2534 } 2535 Calendar.addClass(year, "hilite"); 2536 cal.hilitedYear = year; 2537 } else if (cal.hilitedYear) { 2538 Calendar.removeClass(cal.hilitedYear, "hilite"); 2539 } 2540 } else if (cal.hilitedYear) { 2541 Calendar.removeClass(cal.hilitedYear, "hilite"); 2542 } 2543 } 2544 return Calendar.stopEvent(ev); 2545}; 2546 2547Calendar.tableMouseDown = function (ev) { 2548 if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { 2549 return Calendar.stopEvent(ev); 2550 } 2551}; 2552 2553Calendar.calDragIt = function (ev) { 2554 var cal = Calendar._C; 2555 if (!(cal && cal.dragging)) { 2556 return false; 2557 } 2558 var posX; 2559 var posY; 2560 if (Calendar.is_ie) { 2561 posY = window.event.clientY + document.body.scrollTop; 2562 posX = window.event.clientX + document.body.scrollLeft; 2563 } else { 2564 posX = ev.pageX; 2565 posY = ev.pageY; 2566 } 2567 cal.hideShowCovered(); 2568 var st = cal.element.style; 2569 st.left = (posX - cal.xOffs) + "px"; 2570 st.top = (posY - cal.yOffs) + "px"; 2571 return Calendar.stopEvent(ev); 2572}; 2573 2574Calendar.calDragEnd = function (ev) { 2575 var cal = Calendar._C; 2576 if (!cal) { 2577 return false; 2578 } 2579 cal.dragging = false; 2580 with (Calendar) { 2581 removeEvent(document, "mousemove", calDragIt); 2582 removeEvent(document, "mouseup", calDragEnd); 2583 tableMouseUp(ev); 2584 } 2585 cal.hideShowCovered(); 2586}; 2587 2588Calendar.dayMouseDown = function(ev) { 2589 var el = Calendar.getElement(ev); 2590 if (el.disabled) { 2591 return false; 2592 } 2593 var cal = el.calendar; 2594 if(!eval(cal)) { return; } 2595 cal.activeDiv = el; 2596 Calendar._C = cal; 2597 if (el.navtype != 300) with (Calendar) { 2598 if (el.navtype == 50) { 2599 el._current = el.value; 2600 addEvent(document, "mousemove", tableMouseOver); 2601 } else 2602 addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver); 2603 addClass(el, "hilite active"); 2604 addEvent(document, "mouseup", tableMouseUp); 2605 } else if (cal.isPopup) { 2606 cal._dragStart(ev); 2607 } 2608 if (el.navtype == -1 || el.navtype == 1) { 2609 if (cal.timeout) clearTimeout(cal.timeout); 2610 cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); 2611 } else if (el.navtype == -2 || el.navtype == 2) { 2612 if (cal.timeout) clearTimeout(cal.timeout); 2613 cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); 2614 } else { 2615 cal.timeout = null; 2616 } 2617 return Calendar.stopEvent(ev); 2618}; 2619 2620Calendar.dayMouseDblClick = function(ev) { 2621 Calendar.cellClick(Calendar.getElement(ev), ev || window.event); 2622 if (Calendar.is_ie) { 2623 document.selection.empty(); 2624 } 2625}; 2626 2627Calendar.dayMouseOver = function(ev) { 2628 var el = Calendar.getElement(ev); 2629 if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { 2630 return false; 2631 } 2632 if (el.ttip) { 2633 if (el.ttip.substr(0, 1) == "_") { 2634 el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1); 2635 } 2636 el.calendar.tooltips.firstChild.data = el.ttip; 2637 } 2638 2639 if (el.navtype != 300 && el.tagName!="IMG") { 2640 Calendar.addClass(el, "hilite"); 2641 if (el.caldate) { 2642 Calendar.addClass(el.parentNode, "rowhilite"); 2643 } 2644 } 2645 return Calendar.stopEvent(ev); 2646}; 2647 2648Calendar.dayMouseOut = function(ev) { 2649 with (Calendar) { 2650 var el = getElement(ev); 2651 if (isRelated(el, ev) || _C || el.disabled) { 2652 return false; 2653 } 2654 removeClass(el, "hilite"); 2655 if (el.caldate) { 2656 removeClass(el.parentNode, "rowhilite"); 2657 } 2658 el.calendar.tooltips.firstChild.data = _TT["DRAG_TO_MOVE"]; 2659 return stopEvent(ev); 2660 } 2661}; 2662 2663/** 2664 * A generic "click" handler :) handles all types of buttons defined in this 2665 * calendar. 2666 */ 2667Calendar.cellClick = function(el, ev) { 2668 var cal = el.calendar; 2669 if(!eval(cal)) { return; } 2670 var closing = false; 2671 var newdate = false; 2672 var date = null; 2673 if (typeof el.navtype == "undefined") { 2674 Calendar.removeClass(cal.currentDateEl, "selected"); 2675 Calendar.addClass(el, "selected"); 2676 closing = (cal.currentDateEl == el); 2677 if (!closing) { 2678 cal.currentDateEl = el; 2679 } 2680 el.caldate.setHours(cal.date.getHours()); 2681 el.caldate.setMinutes(cal.date.getMinutes()); 2682 cal.date = new Date(el.caldate); 2683 date = cal.date; 2684 newdate = true; 2685 // a date was clicked 2686 if (!(cal.dateClicked = !el.otherMonth)) 2687 cal._init(cal.firstDayOfWeek, date); 2688 } else { 2689 if (el.navtype == 200) { 2690 Calendar.removeClass(el, "hilite"); 2691 cal.callCloseHandler(); 2692 return; 2693 } 2694 date = (el.navtype == 0) ? new Date() : new Date(cal.date); 2695 // unless "today" was clicked, we assume no date was clicked so 2696 // the selected handler will know not to close the calenar when 2697 // in single-click mode. 2698 // cal.dateClicked = (el.navtype == 0); 2699 cal.dateClicked = false;
2700 var year = date.getFullYear(); 2701 var mon = date.getMonth(); 2702 function setMonth(m) { 2703 var day = date.getDate(); 2704 var max = date.getMonthDays(m); 2705 if (day > max) { 2706 date.setDate(max); 2707 } 2708 date.setMonth(m); 2709 }; 2710 switch (el.navtype) { 2711 case 400: 2712 Calendar.removeClass(el, "hilite"); 2713 var text = Calendar._TT["ABOUT"]; 2714 if (typeof text != "undefined") { 2715 text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : ""; 2716 } else { 2717 // FIXME: this should be removed as soon as lang files get updated! 2718 text = "Help and about box text is not translated into this language.\n" + 2719 "If you know this language and you feel generous please update\n" + 2720 "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + 2721 "and send it back to <[email protected]> to get it into the distribution ;-)\n\n" + 2722 "Thank you!\n" + 2723 "http://dynarch.com/mishoo/calendar.epl\n"; 2724 } 2725 callme(el.id); 2726 return; 2727 case -2: 2728 if (year > cal.minYear) { 2729 date.setFullYear(year - 1); 2730 } 2731 break; 2732 case -1: 2733 if (mon > 0) { 2734 setMonth(mon - 1); 2735 } else if (year-- > cal.minYear) { 2736 date.setFullYear(year); 2737 setMonth(11); 2738 } 2739 break; 2740 case 1: 2741 if (mon < 11) { 2742 setMonth(mon + 1); 2743 } else if (year < cal.maxYear) { 2744 date.setFullYear(year + 1); 2745 setMonth(0); 2746 } 2747 break; 2748 case 2: 2749 if (year < cal.maxYear) { 2750 date.setFullYear(year + 1); 2751 } 2752 break; 2753 case 100: 2754 cal.setFirstDayOfWeek(el.fdow); 2755 return; 2756 case 50: 2757 var range = el._range; 2758 var current = el.value; 2759 for (var i = range.length; --i >= 0;) 2760 if (range[i] == current) 2761 break; 2762 if (ev && ev.shiftKey) { 2763 if (--i < 0) 2764 i = range.length - 1; 2765 } else if ( ++i >= range.length ) 2766 i = 0; 2767 var newval = range[i]; 2768 el.value = newval; 2769 cal.onUpdateTime(); 2770 return; 2771 case 0: 2772 // TODAY will bring us here 2773 // 2774 if(cal.timeFormatOnToday != 0){ 2775 if(cal.timeFormatOnToday == 1){ 2776 date.setHours(00,00,00); 2777 } else if(cal.timeFormatOnToday == 2){ 2778 date.setHours(23,59,59); 2779 } 2780 } 2781 if ((typeof cal.getDateStatus == "function") && cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) { 2782 // remember, "date" was previously set to new 2783 // Date() if TODAY was clicked; thus, it 2784 // contains today date. 2785 Cyberoam.messageBox({message:Calendar._TT["TODAY_NOT_ALLOWED"]}); 2786 return false; 2787 } 2788 break; 2789 } 2790 if (!date.equalsTo(cal.date)) { 2791 cal.setDate(date); 2792 newdate = true; 2793 } 2794 } 2795 if (newdate && !cal.params.dateStatusFunc(cal.date)) { 2796 cal.callHandler(); 2797 } 2798 if (closing) { 2799 Calendar.removeClass(el, "hilite"); 2800 cal.callCloseHandler(); 2801 } 2802}; 2803 2804// END: CALENDAR STATIC FUNCTIONS 2805 2806// BEGIN: CALENDAR OBJECT FUNCTIONS 2807 2808/** 2809 * This function creates the calendar inside the given parent. If _par is 2810 * null than it creates a popup calendar inside the BODY element. If _par is 2811 * an element, be it BODY, then it creates a non-popup calendar (still 2812 * hidden). Some properties need to be set before calling this function. 2813 */ 2814Calendar.prototype.create = function (_par) { 2815 var parent = null; 2816 if (! _par) { 2817 // default parent is the document body, in which case we create 2818 // a popup calendar. 2819 parent = document.getElementsByTagName("body")[0]; 2820 this.isPopup = true; 2821 } else { 2822 parent = _par; 2823 this.isPopup = false; 2824 } 2825 this.date = this.dateStr ? new Date(this.dateStr) : new Date(); 2826 2827 var table = Calendar.createElement("table"); 2828 this.table = table; 2829 table.cellSpacing = 0; 2830 table.cellPadding = 0; 2831if(this.mytab==true ) 2832{ 2833 table.width = "100%"; 2834} 2835 table.calendar = this; 2836 Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); 2837 2838 var div = Calendar.createElement("div"); 2839 this.element = div; 2840 div.className = "calendar"; 2841 if (this.isPopup) { 2842 div.style.position = "fixed"; 2843 if(Cyberoam.pageLayer >= 1) { 2844 div.style.position = "absolute"; 2845 } 2846 div.style.display = "none"; 2847 } 2848 div.appendChild(table); 2849 2850 var thead = Calendar.createElement("thead", table); 2851 var cell = null; 2852 var row = null; 2853 2854 var cal = this; 2855 var hh = function (text, cs, navtype, img) { 2856 cell = Calendar.createElement("td", row); 2857 cell.colSpan = cs; 2858 cell.className = "button"; 2859 2860 if (img == true) cell.style.width="20px"; 2861 2862 if (navtype != 0 && Math.abs(navtype) <= 2) 2863 cell.className += " nav"; 2864 2865 if (text == "×") { 2866 cell.className += " close"; 2867 iTag = Calendar.createElement("i", cell); 2868 iTag.className += " fa fa-times"; 2869 } 2870 2871 if (text == "«") { 2872 cell.className += " nav_prv_year";
2873 iTag = Calendar.createElement("i", cell); 2874 iTag.className += "fa fa-caret-left"; 2875 iTag = Calendar.createElement("i", cell); 2876 iTag.className += "fa fa-caret-left"; 2877 } 2878 2879 if (text == "‹") { 2880 cell.className += " nav_prv_month"; 2881 iTag = Calendar.createElement("i", cell); 2882 iTag.className += " fa fa-caret-left"; 2883 } 2884 if (text == "›") { 2885 cell.className += " nav_next_month"; 2886 iTag = Calendar.createElement("i", cell); 2887 iTag.className += " fa fa-caret-right"; 2888 } 2889 2890 if (text == "»") { 2891 cell.className += " nav_next_year"; 2892 iTag = Calendar.createElement("i", cell); 2893 iTag.className += " fa fa-caret-right"; 2894 iTag = Calendar.createElement("i", cell); 2895 iTag.className += " fa fa-caret-right"; 2896 } 2897 2898 if ( text == Calendar._TT["TODAY"] ) 2899 cell.className += " nav_today"; 2900 2901 2902 Calendar._add_evs(cell); 2903 2904 cell.calendar = cal; 2905 cell.navtype = navtype; 2906 if (text.substr(0, 1) != "&") { 2907 cell.appendChild(document.createTextNode(text)); 2908 } 2909 else { 2910 // FIXME: dirty hack for entities 2911 //if(text != "×") 2912 //cell.innerHTML = text; 2913 } 2914 2915 return cell; 2916 }; 2917 var myhh = function (text, cs, navtype, img) { 2918 cell = Calendar.createElement("td", row); 2919 cell.colSpan = cs; 2920 2921 if (img == true) cell.style.width="30"; 2922 2923 Calendar.myeve(cell); 2924 2925 cell.calendar = cal; 2926 cell.navtype = navtype; 2927 if (text.substr(0, 1) != "&") { 2928 cell.appendChild(document.createTextNode(text)); 2929 } 2930 else { 2931 // FIXME: dirty hack for entities 2932 cell.innerHTML = text; 2933 } 2934 2935 return cell; 2936 }; 2937 2938 2939 row = Calendar.createElement("tr", thead); 2940 //row.className = "title"; 2941 2942 var title_length = 7; 2943 (this.isPopup) && --title_length; 2944 (this.weekNumbers) && ++title_length; 2945if(this.mytab) 2946{ 2947 mytab=myhh(" <img src='./"+currentImages+"/calendar_single.gif' onclick='callme(\"c\")' border=0 title='Single Calendar Day'>", 1, 400, true); 2948 mytab.ttip = Calendar._TT["INFO"]; 2949 mytab.id="c"; 2950 mytab.className="calTabON"; 2951 mytab=myhh(" <img src='./"+currentImages+"/calendar_range.gif' onclick='callme(\"r\")' border=0 title='Range of Days'>", 1, 400, true); 2952 mytab.ttip = Calendar._TT["INFO"]; 2953 mytab.id="r"; 2954 mytab.className="calTabOFF"; 2955 2956 //hh("<img src='../"+currentImages+"/calendar.gif'>", 1, 400).ttip = Calendar._TT["INFO"]; 2957 this.title = hh("Choose Date", (title_length-1), 300); 2958} 2959else 2960{ 2961 //hh("?", 1, 400).ttip = Calendar._TT["INFO"]; to rmove "?" form title 2962 this.title = hh("", (title_length), 300); 2963} 2964 this.title.className = "title"; 2965 if (this.isPopup) { 2966 this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; 2967 this.title.style.cursor = "move"; 2968 this.title.style.paddingLeft = "20px"; 2969 hh("×", 1, 200,true).ttip = Calendar._TT["CLOSE"]; 2970 } 2971 2972 2973{ 2974 //saperator 2975 row = Calendar.createElement("tr", thead); 2976 row.className = "sap"; 2977 hh("",7,300); 2978 2979 row = Calendar.createElement("tr", thead); 2980 row.className = "headrow"; 2981 this._nav_py = hh("«", 1, -2); 2982 this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; 2983 2984 this._nav_pm = hh("‹", 1, -1); 2985 this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; 2986 2987 this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); 2988 this._nav_now.ttip = Calendar._TT["GO_TODAY"]; 2989 2990 this._nav_nm = hh("›", 1, 1); 2991 this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; 2992 2993 this._nav_ny = hh("»", 1, 2); 2994 this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"]; 2995 2996 //saperator 2997 row = Calendar.createElement("tr", thead); 2998 row.className = "sap"; 2999 hh("",7,300); 3000 3001 // day names 3002 row = Calendar.createElement("tr", thead); 3003 row.className = "daynames"; 3004 if (this.weekNumbers) { 3005 cell = Calendar.createElement("td", row); 3006 cell.className = "name wn";
3007 cell.appendChild(document.createTextNode(Calendar._TT["WK"])); 3008 } 3009 for (var i = 7; i > 0; --i) { 3010 cell = Calendar.createElement("td", row); 3011 cell.appendChild(document.createTextNode("")); 3012 if (!i) { 3013 cell.navtype = 100; 3014 cell.calendar = this; 3015 Calendar._add_evs(cell); 3016 } 3017 } 3018 this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; 3019 this._displayWeekdays(); 3020 3021 var tbody = Calendar.createElement("tbody", table); 3022 this.tbody = tbody; 3023 tbody.style.border="none"; 3024 3025 for (i = 6; i > 0; --i) { 3026 row = Calendar.createElement("tr", tbody); 3027 if (this.weekNumbers) { 3028 cell = Calendar.createElement("td", row); 3029 cell.appendChild(document.createTextNode("")); 3030 } 3031 for (var j = 7; j > 0; --j) { 3032 cell = Calendar.createElement("td", row); 3033 cell.appendChild(document.createTextNode("")); 3034 cell.calendar = this; 3035 Calendar._add_evs(cell); 3036 } 3037 } 3038 3039 if (this.showsTime) { 3040 row = Calendar.createElement("tr", tbody); 3041 row.className = "time"; 3042 3043 cell = Calendar.createElement("td", row); 3044 cell.className = "time"; 3045 cell.colSpan = 2; 3046 cell.innerHTML = Calendar._TT["TIME"] || " "; 3047 3048 cell = Calendar.createElement("td", row); 3049 cell.className = "time"; 3050 cell.colSpan = this.weekNumbers ? 4 : 3; 3051 3052 (function(){ 3053 function makeTimePart(className, init, range_start, range_end) { 3054 var part = Calendar.createElement("input", cell); 3055 part.type= "text"; 3056 part.className = className; 3057 part.value = init; 3058 part.calendar = cal; 3059 part.ttip = Calendar._TT["TIME_PART"]; 3060 part.navtype = 50; 3061 part._range = []; 3062 part.style.width = "18px"; 3063 part.style.fontSize = "10px"; 3064 part.maxLength = "2"; 3065 part.onfocus = function(){ 3066 Calendar.removeEvent(document, "keydown", Calendar._keyEvent); 3067 Calendar.removeEvent(document, "keypress", Calendar._keyEvent); 3068 Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); 3069 } 3070 part.onkeyup = function(ev){ 3071 (Calendar.is_ie) && (ev = window.event); 3072 switch (ev.keyCode) { 3073 case 27: // KEY esc 3074 cal.callCloseHandler(); 3075 return; 3076 case 13: // KEY enter 3077 if (!cal.params.dateStatusFunc(cal.date)) { 3078 cal.callHandler(); 3079 } 3080 cal.hide(); 3081 cal.params.inputField.focus(); 3082 return; 3083 } 3084 if(this.value!="" && isNaN(parseInt(this.value))){ 3085 Cyberoam.messageBox({message:this.className+Calendar._TT["NOT_CHAR"]}); 3086 document.getElementById('popupmessege').style.zIndex = "10000"; 3087 this.value = ""; 3088 } 3089 if( this.value!="" && this.value > range_end){ 3090 Cyberoam.messageBox({message:this.className+Calendar._TT["NOT_GREATER"]+range_end}); 3091 document.getElementById('popupmessege').style.zIndex = "10000"; 3092 this.value = ""; 3093 } 3094 cal.onUpdateTime(); 3095 } 3096 part.onblur = function(){ 3097 Calendar.addEvent(document, "keydown", Calendar._keyEvent); 3098 Calendar.addEvent(document, "keypress", Calendar._keyEvent); 3099 Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); 3100 if(this.value == "") 3101 this.value = "00"; 3102 } 3103 if (typeof range_start != "number") 3104 part._range = range_start; 3105 else { 3106 for (var i = range_start; i <= range_end; ++i) { 3107 var txt; 3108 if (i < 10 && range_end >= 10) txt = '0' + i; 3109 else txt = '' + i; 3110 part._range[part._range.length] = txt; 3111 } 3112 } 3113 //Calendar._add_evs(part); 3114 return part; 3115 }; 3116 var hrs = cal.date.getHours(); 3117 var mins = cal.date.getMinutes(); 3118 var t12 = !cal.time24; 3119 var pm = (hrs > 12); 3120 if (t12 && pm) hrs -= 12; 3121 var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23); 3122 var span = Calendar.createElement("span", cell); 3123 span.appendChild(document.createTextNode(":")); 3124 span.className = "colon"; 3125 var M = makeTimePart("minute", mins, 0, 59); 3126 var AP = null; 3127 cell = Calendar.createElement("td", row); 3128 cell.className = ""; 3129 cell.colSpan = 2; 3130 if (t12) 3131 AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]); 3132 else 3133 cell.innerHTML = " "; 3134 3135 cal.onSetTime = function() { 3136 var hrs = this.date.getHours(); 3137 var mins = this.date.getMinutes(); 3138 var pm = (hrs > 12); 3139 if (pm && t12) hrs -= 12; 3140 H.value = (hrs < 10) ? ("0" + hrs) : hrs; 3141 M.value = (mins < 10) ? ("0" + mins) : mins; 3142 if (t12) 3143 AP.value = pm ? "pm" : "am"; 3144 }; 3145 3146 cal.onUpdateTime = function() { 3147 var date = this.date; 3148 if(H.value=="") 3149 var h = parseInt("00", 10); 3150 else 3151 var h = parseInt(H.value, 10); 3152 if (t12) { 3153 if (/pm/i.test(AP.value) && h < 12) 3154 h += 12; 3155 else if (/am/i.test(AP.value) && h == 12) 3156 h = 0; 3157 } 3158 var d = date.getDate(); 3159 var m = date.getMonth(); 3160 var y = date.getFullYear(); 3161 date.setHours(h); 3162 if(M.value=="") 3163 date.setMinutes(parseInt("00", 10)); 3164 else 3165 date.setMinutes(parseInt(M.value, 10)); 3166 date.setFullYear(y); 3167 date.setMonth(m); 3168 date.setDate(d); 3169 this.dateClicked = false;
3170 this.callHandler(); 3171 }; 3172 })(); 3173 } else { 3174 this.onSetTime = this.onUpdateTime = function() {}; 3175 } 3176 3177 var tfoot = Calendar.createElement("tfoot", table); 3178 3179 row = Calendar.createElement("tr", tfoot); 3180 row.className = "footrow"; 3181 3182 cell.className = "time"; 3183 cell = hh(Calendar._TT["DRAG_TO_MOVE"], this.weekNumbers ? 8 : 7, 300); 3184 cell.className = "ttip"; 3185 if (this.isPopup) { 3186 cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; 3187 cell.style.cursor = "move"; 3188 } 3189 this.tooltips = cell; 3190} 3191 div = Calendar.createElement("div", this.element); 3192 this.monthsCombo = div; 3193 div.className = "combo"; 3194 for (i = 0; i < Calendar._MN.length; ++i) { 3195 var mn = Calendar.createElement("div"); 3196 mn.className = Calendar.is_ie ? "label-IEfix" : "label"; 3197 mn.month = i; 3198 mn.appendChild(document.createTextNode(Calendar._SMN[i])); 3199 div.appendChild(mn); 3200 } 3201 3202 div = Calendar.createElement("div", this.element); 3203 this.yearsCombo = div; 3204 div.className = "combo"; 3205 for (i = 12; i > 0; --i) { 3206 var yr = Calendar.createElement("div"); 3207 yr.className = Calendar.is_ie ? "label-IEfix" : "label"; 3208 yr.appendChild(document.createTextNode("")); 3209 div.appendChild(yr); 3210 } 3211 3212 this._init(this.firstDayOfWeek, this.date); 3213 parent.appendChild(this.element); 3214}; 3215 3216/** keyboard navigation, only for popup calendars */ 3217Calendar._keyEvent = function(ev) { 3218 if (!window.calendar) { 3219 return false; 3220 } 3221 (Calendar.is_ie) && (ev = window.event); 3222 var cal = window.calendar; 3223 var act = (Calendar.is_ie || Calendar.is_chrome || ev.type == "keypress"); 3224 if (ev.ctrlKey) { 3225 switch (ev.keyCode) { 3226 case 37: // KEY left 3227 act && Calendar.cellClick(cal._nav_pm); 3228 break; 3229 case 38: // KEY up 3230 act && Calendar.cellClick(cal._nav_py); 3231 break; 3232 case 39: // KEY right 3233 act && Calendar.cellClick(cal._nav_nm); 3234 break; 3235 case 40: // KEY down 3236 act && Calendar.cellClick(cal._nav_ny); 3237 break; 3238 default: 3239 return false; 3240 } 3241 } else switch (ev.keyCode) { 3242 case 32: // KEY space (now) 3243 Calendar.cellClick(cal._nav_now); 3244 break; 3245 case 27: // KEY esc 3246 act && cal.callCloseHandler(); 3247 break; 3248 case 37: // KEY left 3249 case 38: // KEY up 3250 case 39: // KEY right 3251 case 40: // KEY down 3252 if (act) { 3253 var date = cal.date.getDate() - 1; 3254 var el = cal.currentDateEl; 3255 var ne = null; 3256 var prev = (ev.keyCode == 37) || (ev.keyCode == 38); 3257 switch (ev.keyCode) { 3258 case 37: // KEY left 3259 (--date >= 0) && (ne = cal.ar_days[date]); 3260 break; 3261 case 38: // KEY up 3262 date -= 7; 3263 (date >= 0) && (ne = cal.ar_days[date]); 3264 break; 3265 case 39: // KEY right 3266 (++date < cal.ar_days.length) && (ne = cal.ar_days[date]); 3267 break; 3268 case 40: // KEY down 3269 date += 7; 3270 (date < cal.ar_days.length) && (ne = cal.ar_days[date]); 3271 break; 3272 } 3273 if (!ne) { 3274 if (prev) { 3275 Calendar.cellClick(cal._nav_pm); 3276 } else { 3277 Calendar.cellClick(cal._nav_nm); 3278 } 3279 date = (prev) ? cal.date.getMonthDays() : 1; 3280 el = cal.currentDateEl; 3281 ne = cal.ar_days[date - 1]; 3282 } 3283 Calendar.removeClass(el, "selected"); 3284 Calendar.addClass(ne, "selected"); 3285 cal.date = new Date(ne.caldate); 3286 if (!cal.params.dateStatusFunc(cal.date)) { 3287 cal.callHandler(); 3288 } 3289 cal.currentDateEl = ne; 3290 } 3291 break; 3292 case 13: // KEY enter 3293 if (act) { 3294 if (!cal.params.dateStatusFunc(cal.date)) { 3295 cal.callHandler(); 3296 } 3297 cal.hide(); 3298 cal.params.inputField.focus(); 3299 } 3300 break; 3301 default: 3302 return false; 3303 } 3304 return Calendar.stopEvent(ev); 3305}; 3306 3307/** 3308 * (RE)Initializes the calendar to the given date and firstDayOfWeek 3309 */ 3310Calendar.prototype._init = function (firstDayOfWeek, date) { 3311 var today = new Date(); 3312 this.table.style.visibility = "hidden"; 3313 var year = date.getFullYear(); 3314 if (year < this.minYear) { 3315 year = this.minYear; 3316 date.setFullYear(year); 3317 } else if (year > this.maxYear) { 3318 year = this.maxYear; 3319 date.setFullYear(year); 3320 } 3321 this.firstDayOfWeek = firstDayOfWeek; 3322 this.date = new Date(date); 3323 var month = date.getMonth(); 3324 var mday = date.getDate(); 3325 var no_days = date.getMonthDays(); 3326 3327 // calendar voodoo for computing the first day that would actually be 3328 // displayed in the calendar, even if it's from the previous month. 3329 // WARNING: this is magic. ;-) 3330 date.setDate(1); 3331 var day1 = (date.getDay() - this.firstDayOfWeek) % 7; 3332 if (day1 < 0) 3333 day1 += 7; 3334 if(day1 ==0) 3335 date.setDate(0); 3336 else 3337 date.setDate(-day1); 3338 date.setDate(date.getDate() + 1); 3339{ 3340 var row = this.tbody.firstChild; 3341 var MN = Calendar._SMN[month]; 3342 var ar_days = new Array(); 3343 var weekend = Calendar._TT["WEEKEND"]; 3344 for (var i = 0; i < 6; ++i, row = row.nextSibling) { 3345 var cell = row.firstChild; 3346 if (this.weekNumbers) { 3347 cell.className = "day wn"; 3348 cell.firstChild.data = date.getWeekNumber(); 3349 cell = cell.nextSibling; 3350 } 3351 row.className = "daysrow"; 3352 var hasdays = false;
3353 for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(date.getDate() + 1)) { 3354 var iday = date.getDate(); 3355 var wday = date.getDay(); 3356 cell.className = "day"; 3357 var current_month = (date.getMonth() == month); 3358 if (!current_month) { 3359 if (this.showsOtherMonths) { 3360 cell.className += " othermonth"; 3361 cell.otherMonth = true; 3362 } else { 3363 cell.className = "emptycell"; 3364 cell.innerHTML = " "; 3365 cell.disabled = true; 3366 continue; 3367 } 3368 } else { 3369 cell.otherMonth = false; 3370 hasdays = true; 3371 } 3372 cell.disabled = false; 3373 cell.firstChild.data = iday; 3374 if (typeof this.getDateStatus == "function") { 3375 var status = this.getDateStatus(date, year, month, iday); 3376 if (status === true) { 3377 cell.className += " disabled"; 3378 cell.disabled = true; 3379 } else { 3380 if (/disabled/i.test(status)) 3381 cell.disabled = true; 3382 cell.className += " " + status; 3383 } 3384 } 3385 //if (!cell.disabled) { 3386 ar_days[ar_days.length] = cell; 3387 cell.caldate = new Date(date); 3388 cell.ttip = "_"; 3389 if (current_month && iday == mday) { 3390 cell.className += " selected"; 3391 this.currentDateEl = cell; 3392 } 3393 if (date.getFullYear() == today.getFullYear() && 3394 date.getMonth() == today.getMonth() && 3395 iday == today.getDate()) { 3396 cell.className += " today"; 3397 cell.ttip += Calendar._TT["PART_TODAY"]; 3398 } 3399 if (weekend.indexOf(wday.toString()) != -1) { 3400 cell.className += cell.otherMonth ? " oweekend" : " weekend"; 3401 } 3402 //} 3403 } 3404 if (!(hasdays || this.showsOtherMonths)) 3405 row.className = "emptyrow"; 3406 } 3407 this.ar_days = ar_days; 3408 this.title.firstChild.data = Calendar._MN[month] + ", " + year; 3409 this.onSetTime(); 3410} 3411 this.table.style.visibility = "visible"; 3412 // PROFILE 3413 // this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms"; 3414}; 3415 3416/** 3417 * Calls _init function above for going to a certain date (but only if the 3418 * date is different than the currently selected one). 3419 */ 3420Calendar.prototype.setDate = function (date) { 3421 if (!date.equalsTo(this.date)) { 3422 this._init(this.firstDayOfWeek, date); 3423 } 3424}; 3425 3426/** 3427 * Refreshes the calendar. Useful if the "disabledHandler" function is 3428 * dynamic, meaning that the list of disabled date can change at runtime. 3429 * Just * call this function if you think that the list of disabled dates 3430 * should * change. 3431 */ 3432Calendar.prototype.refresh = function () { 3433 this._init(this.firstDayOfWeek, this.date); 3434}; 3435 3436/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */ 3437Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) { 3438 this._init(firstDayOfWeek, this.date); 3439 this._displayWeekdays(); 3440}; 3441 3442/** 3443 * Allows customization of what dates are enabled. The "unaryFunction" 3444 * parameter must be a function object that receives the date (as a JS Date 3445 * object) and returns a boolean value. If the returned value is true then 3446 * the passed date will be marked as disabled. 3447 */ 3448Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) { 3449 this.getDateStatus = unaryFunction; 3450}; 3451 3452/** Customization of allowed year range for the calendar. */ 3453Calendar.prototype.setRange = function (a, z) { 3454 this.minYear = a; 3455 this.maxYear = z; 3456}; 3457 3458/** Calls the first user handler (selectedHandler). */ 3459Calendar.prototype.callHandler = function () { 3460 if (this.onSelected) { 3461 this.onSelected(this, this.date.print(this.dateFormat)); 3462 } 3463}; 3464 3465/** Calls the second user handler (closeHandler). */ 3466Calendar.prototype.callCloseHandler = function () { 3467 if (this.onClose) { 3468 this.onClose(this); 3469 } 3470 this.hideShowCovered(); 3471}; 3472 3473/** Removes the calendar object from the DOM tree and destroys it. */ 3474Calendar.prototype.destroy = function () { 3475 var el = this.element.parentNode; 3476 el.removeChild(this.element); 3477 Calendar._C = null; 3478 window.calendar = null; 3479}; 3480 3481/** 3482 * Moves the calendar element to a different section in the DOM tree (changes 3483 * its parent). 3484 */ 3485Calendar.prototype.reparent = function (new_parent) { 3486 var el = this.element; 3487 el.parentNode.removeChild(el); 3488 new_parent.appendChild(el); 3489}; 3490 3491// This gets called when the user presses a mouse button anywhere in the 3492// document, if the calendar is shown. If the click was outside the open 3493// calendar this function closes it. 3494Calendar._checkCalendar = function(ev) { 3495 if (!window.calendar) { 3496 return false;
3497 } 3498 var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); 3499 for (; el != null && el != calendar.element; el = el.parentNode); 3500 if (el == null) { 3501 // calls closeHandler which should hide the calendar. 3502 window.calendar.callCloseHandler(); 3503 return Calendar.stopEvent(ev); 3504 } 3505}; 3506 3507/** Shows the calendar. */ 3508Calendar.prototype.show = function () { 3509 var rows = this.table.getElementsByTagName("tr"); 3510 for (var i = rows.length; i > 0;) { 3511 var row = rows[--i]; 3512 Calendar.removeClass(row, "rowhilite"); 3513 var cells = row.getElementsByTagName("td"); 3514 for (var j = cells.length; j > 0;) { 3515 var cell = cells[--j]; 3516 Calendar.removeClass(cell, "hilite"); 3517 Calendar.removeClass(cell, "active"); 3518 } 3519 } 3520 this.element.style.display = "block"; 3521 this.hidden = false; 3522 if (this.isPopup) { 3523 window.calendar = this; 3524 Calendar.addEvent(document, "keydown", Calendar._keyEvent); 3525 Calendar.addEvent(document, "keypress", Calendar._keyEvent); 3526 Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); 3527 } 3528 this.element.style.zIndex=(Cyberoam.pageLayer + 1) * 200; 3529 this.hideShowCovered(); 3530}; 3531 3532/** 3533 * Hides the calendar. Also removes any "hilite" from the class of any TD 3534 * element. 3535 */ 3536Calendar.prototype.hide = function () { 3537 if (this.isPopup) { 3538 Calendar.removeEvent(document, "keydown", Calendar._keyEvent); 3539 Calendar.removeEvent(document, "keypress", Calendar._keyEvent); 3540 Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); 3541 } 3542 this.element.style.display = "none"; 3543 this.hidden = true; 3544 this.hideShowCovered(); 3545}; 3546 3547/** 3548 * Shows the calendar at a given absolute position (beware that, depending on 3549 * the calendar element style -- position property -- this might be relative 3550 * to the parent's containing rectangle). 3551 */ 3552Calendar.prototype.showAt = function (x, y) { 3553 var s = this.element.style; 3554 s.left = x + "px"; 3555 s.top = y + "px"; 3556/* s.left=0; change by vishal 3557 s.top=0; to show calndar near button area*/ 3558 this.show(); 3559}; 3560 3561/** Shows the calendar near a given element. */ 3562Calendar.prototype.showAtElement = function (el, opts) { 3563 var self = this; 3564 var p = Calendar.getAbsolutePos(el); 3565 if (!opts || typeof opts != "string") { 3566 this.showAt(p.x, p.y + el.offsetHeight); 3567 return true; 3568 } 3569 function fixPosition(box) { 3570 if (box.x < 0) 3571 box.x = 0; 3572 if (box.y < 0) 3573 box.y = 0; 3574 var cp = document.createElement("div"); 3575 var s = cp.style; 3576 s.position = "absolute"; 3577 s.right = s.bottom = s.width = s.height = "0px"; 3578 document.body.appendChild(cp); 3579 var br = Calendar.getAbsolutePos(cp); 3580 document.body.removeChild(cp); 3581 //Commenting following line because it open dialog on the fix top position in IE. 3582 /* if (Calendar.is_ie) { 3583 br.y += document.body.scrollTop; 3584 br.x += document.body.scrollLeft; 3585 } else { */ 3586 br.y += window.scrollY; 3587 br.x += window.scrollX; 3588 //} 3589 var tmp = box.x + box.width - br.x; 3590 if (tmp > 0) box.x -= tmp; 3591 tmp = box.y + box.height - br.y; 3592 if (tmp > 0) box.y -= tmp; 3593 }; 3594 this.element.style.display = "block"; 3595 Calendar.continuation_for_the_khtml_browser = function() { 3596 var w = self.element.offsetWidth; 3597 var h = self.element.offsetHeight; 3598 self.element.style.display = "none"; 3599 var valign = opts.substr(0, 1); 3600 var halign = "l"; 3601 if (opts.length > 1) { 3602 halign = opts.substr(1, 1); 3603 } 3604 3605 // vertical alignment 3606 switch (valign) { 3607 case "T": p.y -= h; break; 3608 case "B": p.y += el.offsetHeight; break; 3609 case "C": p.y += (el.offsetHeight - h) / 2; break; 3610 case "t": p.y += el.offsetHeight - h; break; 3611 case "b": break; // already there 3612 } 3613 // horizontal alignment 3614 switch (halign) { 3615 case "L": p.x -= w; break; 3616 case "R": p.x += el.offsetWidth; break; 3617 case "C": p.x += (el.offsetWidth - w) / 2; break; 3618 case "r": p.x += el.offsetWidth - w; break; 3619 case "l": break; // already there 3620 } 3621 p.width = w; 3622 p.height = h + 40; 3623 self.monthsCombo.style.display = "none"; 3624 fixPosition(p); 3625 self.showAt(p.x, p.y); 3626 }; 3627 if (Calendar.is_khtml) 3628 setTimeout("Calendar.continuation_for_the_khtml_browser()", 10); 3629 else 3630 Calendar.continuation_for_the_khtml_browser(); 3631}; 3632 3633/** Customizes the date format. */ 3634Calendar.prototype.setDateFormat = function (str) { 3635 this.dateFormat = str; 3636}; 3637 3638/** Customizes the tooltip date format. */ 3639Calendar.prototype.setTtDateFormat = function (str) { 3640 this.ttDateFormat = str; 3641}; 3642 3643/** 3644 * Tries to identify the date represented in a string. If successful it also 3645 * calls this.setDate which moves the calendar to the given date. 3646 */ 3647Calendar.prototype.parseDate = function (str, fmt) { 3648 var y = 0; 3649 var m = -1; 3650 var d = 0; 3651 var a = str.split(/\W+/); 3652 if (!fmt) { 3653 fmt = this.dateFormat; 3654 } 3655 var b = fmt.match(/%./g); 3656 var i = 0, j = 0; 3657 var hr = 0; 3658 var min = 0; 3659 for (i = 0; i < a.length; ++i) { 3660 if (!a[i]) 3661 continue; 3662 switch (b[i]) { 3663 case "%d": 3664 case "%e": 3665 d = parseInt(a[i], 10); 3666 break; 3667 3668 case "%m": 3669 m = parseInt(a[i], 10) - 1; 3670 break; 3671 3672 case "%Y": 3673 case "%y": 3674 y = parseInt(a[i], 10); 3675 (y < 100) && (y += (y > 29) ? 1900 : 2000); 3676 break; 3677 3678 case "%b": 3679 case "%B": 3680 for (j = 0; j < 12; ++j) { 3681 if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } 3682 } 3683 break; 3684 3685 case "%H": 3686 case "%I": 3687 case "%k": 3688 case "%l": 3689 hr = parseInt(a[i], 10); 3690 break; 3691 3692 case "%P": 3693 case "%p": 3694 if (/pm/i.test(a[i]) && hr < 12) 3695 hr += 12; 3696 break; 3697
3698 case "%M": 3699 min = parseInt(a[i], 10); 3700 break; 3701 } 3702 } 3703 if (y != 0 && m != -1 && d != 0) { 3704 this.setDate(new Date(y, m, d, hr, min, 0)); 3705 return; 3706 } 3707 y = 0; m = -1; d = 0; 3708 for (i = 0; i < a.length; ++i) { 3709 if (a[i].search(/[a-zA-Z]+/) != -1) { 3710 var t = -1; 3711 for (j = 0; j < 12; ++j) { 3712 if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } 3713 } 3714 if (t != -1) { 3715 if (m != -1) { 3716 d = m+1; 3717 } 3718 m = t; 3719 } 3720 } else if (parseInt(a[i], 10) <= 12 && m == -1) { 3721 m = a[i]-1; 3722 } else if (parseInt(a[i], 10) > 31 && y == 0) { 3723 y = parseInt(a[i], 10); 3724 (y < 100) && (y += (y > 29) ? 1900 : 2000); 3725 } else if (d == 0) { 3726 d = a[i]; 3727 } 3728 } 3729 if (y == 0) { 3730 var today = new Date(); 3731 y = today.getFullYear(); 3732 } 3733 if (m != -1 && d != 0) { 3734 this.setDate(new Date(y, m, d, hr, min, 0)); 3735 } 3736}; 3737 3738Calendar.prototype.hideShowCovered = function () { 3739 var self = this; 3740 Calendar.continuation_for_the_khtml_browser = function() { 3741 function getVisib(obj){ 3742 var value = obj.style.visibility; 3743 if (!value) { 3744 if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C 3745 if (!Calendar.is_khtml) 3746 value = document.defaultView. 3747 getComputedStyle(obj, "").getPropertyValue("visibility"); 3748 else 3749 value = ''; 3750 } else if (obj.currentStyle) { // IE 3751 value = obj.currentStyle.visibility; 3752 } else 3753 value = ''; 3754 } 3755 return value; 3756 }; 3757 3758 var tags = new Array("applet", "iframe", "select"); 3759 var el = self.element; 3760 3761 var p = Calendar.getAbsolutePos(el); 3762 var EX1 = p.x; 3763 var EX2 = el.offsetWidth + EX1; 3764 var EY1 = p.y; 3765 var EY2 = el.offsetHeight + EY1; 3766 3767 for (var k = tags.length; k > 0; ) { 3768 var ar = document.getElementsByTagName(tags[--k]); 3769 var cc = null; 3770 3771 for (var i = ar.length; i > 0;) { 3772 cc = ar[--i]; 3773 3774 p = Calendar.getAbsolutePos(cc); 3775 var CX1 = p.x; 3776 var CX2 = cc.offsetWidth + CX1; 3777 var CY1 = p.y; 3778 var CY2 = cc.offsetHeight + CY1; 3779 3780 if (self.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { 3781 if (!cc.__msh_save_visibility) { 3782 cc.__msh_save_visibility = getVisib(cc); 3783 } 3784 cc.style.visibility = cc.__msh_save_visibility; 3785 } else { 3786 if (!cc.__msh_save_visibility) { 3787 cc.__msh_save_visibility = getVisib(cc); 3788 } 3789 //cc.style.visibility = "hidden"; 3790 } 3791 } 3792 } 3793 }; 3794 if (Calendar.is_khtml) 3795 setTimeout("Calendar.continuation_for_the_khtml_browser()", 10); 3796 else 3797 Calendar.continuation_for_the_khtml_browser(); 3798}; 3799 3800/** Internal function; it displays the bar with the names of the weekday. */ 3801Calendar.prototype._displayWeekdays = function () { 3802 var fdow = this.firstDayOfWeek; 3803 var cell = this.firstdayname; 3804 var weekend = Calendar._TT["WEEKEND"]; 3805 for (var i = 0; i < 7; ++i) { 3806 cell.className = "day name"; 3807 var realday = (i + fdow) % 7; 3808 if (i) { 3809 cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]); 3810 cell.navtype = 100; 3811 cell.calendar = this; 3812 cell.fdow = realday; 3813 Calendar._add_evs(cell); 3814 } 3815 if (weekend.indexOf(realday.toString()) != -1) { 3816 Calendar.addClass(cell, "weekend"); 3817 } 3818 cell.firstChild.data = Calendar._SDN[(i + fdow) % 7]; 3819 cell = cell.nextSibling; 3820 } 3821}; 3822 3823/** Internal function. Hides all combo boxes that might be displayed. */ 3824Calendar.prototype._hideCombos = function () { 3825 this.monthsCombo.style.display = "none"; 3826 this.yearsCombo.style.display = "none"; 3827}; 3828 3829/** Internal function. Starts dragging the element. */ 3830Calendar.prototype._dragStart = function (ev) { 3831 if (this.dragging) { 3832 return; 3833 } 3834 this.dragging = true; 3835 var posX; 3836 var posY; 3837 if (Calendar.is_ie) { 3838 posY = window.event.clientY + document.body.scrollTop; 3839 posX = window.event.clientX + document.body.scrollLeft; 3840 } else { 3841 posY = ev.clientY + window.scrollY; 3842 posX = ev.clientX + window.scrollX; 3843 } 3844 var st = this.element.style; 3845 this.xOffs = posX - parseInt(st.left); 3846 this.yOffs = posY - parseInt(st.top); 3847 with (Calendar) { 3848 addEvent(document, "mousemove", calDragIt); 3849 addEvent(document, "mouseup", calDragEnd); 3850 } 3851}; 3852 3853// BEGIN: DATE OBJECT PATCHES 3854 3855/** Adds the number of days array to the Date object. */ 3856Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 3857 3858/** Constants used for time computations */ 3859Date.SECOND = 1000 /* milliseconds */; 3860Date.MINUTE = 60 * Date.SECOND; 3861Date.HOUR = 60 * Date.MINUTE; 3862Date.DAY = 24 * Date.HOUR;
3863Date.WEEK = 7 * Date.DAY; 3864 3865/** Returns the number of days in the current month */ 3866Date.prototype.getMonthDays = function(month) { 3867 var year = this.getFullYear(); 3868 if (typeof month == "undefined") { 3869 month = this.getMonth(); 3870 } 3871 if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { 3872 return 29; 3873 } else { 3874 return Date._MD[month]; 3875 } 3876}; 3877 3878/** Returns the number of day in the year. */ 3879Date.prototype.getDayOfYear = function() { 3880 var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); 3881 var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); 3882 var time = now - then; 3883 return Math.floor(time / Date.DAY); 3884}; 3885 3886/** Returns the number of the week in year, as defined in ISO 8601. */ 3887Date.prototype.getWeekNumber = function() { 3888 var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); 3889 var DoW = d.getDay(); 3890 d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu 3891 var ms = d.valueOf(); // GMT 3892 d.setMonth(0); 3893 d.setDate(4); // Thu in Week 1 3894 return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1; 3895}; 3896 3897/** Checks dates equality (ignores time) */ 3898Date.prototype.equalsTo = function(date) { 3899 return ((this.getFullYear() == date.getFullYear()) && 3900 (this.getMonth() == date.getMonth()) && 3901 (this.getDate() == date.getDate()) && 3902 (this.getHours() == date.getHours()) && 3903 (this.getMinutes() == date.getMinutes())); 3904}; 3905 3906/** Prints the date in a string according to the given format. */ 3907Date.prototype.print = function (str) { 3908 var m = this.getMonth(); 3909 var d = this.getDate(); 3910 var y = this.getFullYear(); 3911 var wn = this.getWeekNumber(); 3912 var w = this.getDay(); 3913 var s = {}; 3914 var hr = this.getHours(); 3915 var pm = (hr >= 12); 3916 var ir = (pm) ? (hr - 12) : hr; 3917 var dy = this.getDayOfYear(); 3918 if (ir == 0) 3919 ir = 12; 3920 var min = this.getMinutes(); 3921 var sec = this.getSeconds(); 3922 s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N] 3923 s["%A"] = Calendar._DN[w]; // full weekday name 3924 s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N] 3925 s["%B"] = Calendar._MN[m]; // full month name 3926 // FIXME: %c : preferred date and time representation for the current locale 3927 s["%C"] = 1 + Math.floor(y / 100); // the century number 3928 s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) 3929 s["%e"] = d; // the day of the month (range 1 to 31) 3930 // FIXME: %D : american date style: %m/%d/%y 3931 // FIXME: %E, %F, %G, %g, %h (man strftime) 3932 s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) 3933 s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) 3934 s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) 3935 s["%k"] = hr; // hour, range 0 to 23 (24h format) 3936 s["%l"] = ir; // hour, range 1 to 12 (12h format) 3937 s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12 3938 s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 3939 s["%n"] = "\n"; // a newline character 3940 s["%p"] = pm ? "PM" : "AM"; 3941 s["%P"] = pm ? "pm" : "am"; 3942 // FIXME: %r : the time in am/pm notation %I:%M:%S %p 3943 // FIXME: %R : the time in 24-hour notation %H:%M 3944 s["%s"] = Math.floor(this.getTime() / 1000); 3945 s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 3946 s["%t"] = "\t"; // a tab character 3947 // FIXME: %T : the time in 24-hour notation (%H:%M:%S) 3948 s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; 3949 s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) 3950 s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) 3951 // FIXME: %x : preferred date representation for the current locale without the time 3952 // FIXME: %X : preferred time representation for the current locale without the date 3953 s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) 3954 s["%Y"] = y; // year with the century 3955 s["%%"] = "%"; // a literal '%' character 3956 3957 var re = /%./g; 3958 if (!Calendar.is_ie5) 3959 return str.replace(re, function (par) { return s[par] || par; }); 3960 3961 var a = str.match(re); 3962 for (var i = 0; i < a.length; i++) { 3963 var tmp = s[a[i]]; 3964 if (tmp) { 3965 re = new RegExp(a[i], 'g'); 3966 str = str.replace(re, tmp); 3967 } 3968 } 3969 3970 return str; 3971}; 3972 3973//Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; 3974if ( Date.prototype.__msh_oldSetFullYear == null ) 3975{ 3976 Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; 3977} 3978 3979Date.prototype.setFullYear = function(y) { 3980 var d = new Date(this); 3981 d.__msh_oldSetFullYear(y); 3982 if (d.getMonth() != this.getMonth()) 3983 this.setDate(28); 3984 this.__msh_oldSetFullYear(y); 3985 3986}; 3987 3988// END: DATE OBJECT PATCHES 3989 3990 3991// global object that remembers the calendar 3992window.calendar = null;
3993/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ 3994 * --------------------------------------------------------------------------- 3995 * 3996 * The DHTML Calendar 3997 * 3998 * Details and latest version at: 3999 * http://dynarch.com/mishoo/calendar.epl 4000 * 4001 * This script is distributed under the GNU Lesser General Public License. 4002 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html 4003 * 4004 * This file defines helper functions for setting up the calendar. They are 4005 * intended to help non-programmers get a working calendar on their site 4006 * quickly. This script should not be seen as part of the calendar. It just 4007 * shows you what one can do with the calendar, while in the same time 4008 * providing a quick and simple method for setting it up. If you need 4009 * exhaustive customization of the calendar creation process feel free to 4010 * modify this code to suit your needs (this is recommended and much better 4011 * than modifying calendar.js itself). 4012 */ 4013 4014// $Id: calendar-setup.js,v 1.1.12.1 2006/06/27 12:09:17 gramkumar Exp $ 4015 4016/** 4017 * This function "patches" an input field (or other element) to use a calendar 4018 * widget for date selection. 4019 * 4020 * The "params" is a single object that can have the following properties: 4021 * 4022 * prop. name | description 4023 * ------------------------------------------------------------------------------------------------- 4024 * inputField | the ID of an input field to store the date 4025 * displayArea | the ID of a DIV or other element to show the date 4026 * button | ID of a button or other element that will trigger the calendar 4027 * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") 4028 * ifFormat | date format that will be stored in the input field 4029 * daFormat | the date format that will be used to display the date in displayArea 4030 * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) 4031 * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. 4032 * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation 4033 * range | array with 2 elements. Default: [1900, 2999] -- the range of years available 4034 * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers 4035 * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID 4036 * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) 4037 * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar 4038 * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) 4039 * onClose | function that gets called when the calendar is closed. [default] 4040 * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. 4041 * date | the date that the calendar will be initially displayed to 4042 * showsTime | default: false; if true the calendar will include a time selector 4043 * timeFormat | the time format; can be "12" or "24", default is "12" 4044 * electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close 4045 * step | configures the step of the years in drop-down boxes; default: 2 4046 * position | configures the calendar absolute position; default: null 4047 * cache | if "true" (but default: "false") it will reuse the same calendar object, where possible 4048 * showOthers | if "true" (but default: "false") it will show days from other months too 4049 * 4050 * None of them is required, they all have default values. However, if you 4051 * pass none of "inputField", "displayArea" or "button" you'll get a warning 4052 * saying "nothing to setup". 4053 */ 4054Calendar.setup = function (params) { 4055 function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; 4056 4057 param_default("inputField", null); 4058 param_default("displayArea", null); 4059 param_default("button", null); 4060 param_default("eventName", "click"); 4061 param_default("ifFormat", "%Y-%m-%d"); 4062 param_default("daFormat", "%Y-%m-%d"); 4063 param_default("singleClick", true); 4064 param_default("disableFunc", null); 4065 param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined 4066 param_default("firstDay", 0); // defaults to "Sunday" first 4067 param_default("align", "Br"); 4068 param_default("range", [1900, 2999]); 4069 param_default("weekNumbers", true); 4070 param_default("mytab", false); 4071 param_default("flat", null); 4072 param_default("flatCallback", null); 4073 param_default("onSelect", null); 4074 param_default("onClose", null); 4075 param_default("onUpdate", null); 4076 param_default("date", null); 4077 param_default("showsTime", false); 4078 param_default("timeFormat", "24"); 4079 param_default("electric", true); 4080 param_default("step", 2); 4081 param_default("position", null);
4082 param_default("cache", false); 4083 param_default("showOthers", false); 4084 param_default("timeFormatOnToday", 0); // 0 : set current time on clicking today 4085 // 1 : set 00:00:00 time on clicking today 4086 // 2 : set 23:59:59 time on clicking today 4087 4088 var tmp = ["inputField", "displayArea", "button"]; 4089 for (var i in tmp) { 4090 if (typeof params[tmp[i]] == "string") { 4091 params[tmp[i]] = document.getElementById(params[tmp[i]]); 4092 } 4093 } 4094 if (!(params.flat || params.inputField || params.displayArea || params.button)) { 4095 alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); 4096 return false; 4097 } 4098 4099 function onSelect(cal) { 4100 var p = cal.params; 4101 var update = (cal.dateClicked || p.electric); 4102 if (update && p.flat) { 4103 if (typeof p.flatCallback == "function") 4104 p.flatCallback(cal); 4105 else 4106 alert("No flatCallback given -- doing nothing."); 4107 return false; 4108 } 4109 if (update && p.inputField) { 4110 p.inputField.value = cal.date.print(p.ifFormat); 4111 if (typeof p.inputField.onchange == "function") 4112 p.inputField.onchange(); 4113 } 4114 if (update && p.displayArea) 4115 p.displayArea.innerHTML = cal.date.print(p.daFormat); 4116 if (update && p.singleClick && cal.dateClicked) 4117 cal.callCloseHandler(); 4118 if (update && typeof p.onUpdate == "function") 4119 p.onUpdate(cal); 4120 }; 4121 4122 if (params.flat != null) { 4123 if (typeof params.flat == "string") 4124 params.flat = document.getElementById(params.flat); 4125 if (!params.flat) { 4126 alert("Calendar.setup:\n Flat specified but can't find parent."); 4127 return false; 4128 } 4129 var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); 4130 cal.showsTime = params.showsTime; 4131 cal.time24 = (params.timeFormat == "24"); 4132 cal.params = params; 4133 cal.weekNumbers = params.weekNumbers; 4134 cal.skipCalendar = params.skipCalendar; 4135 cal.mytab = params.mytab; 4136 cal.setRange(params.range[0], params.range[1]); 4137 cal.setDateStatusHandler(params.dateStatusFunc); 4138 cal.create(params.flat); 4139 cal.show(); 4140 return false; 4141 } 4142 4143 var triggerEl = params.button || params.displayArea || params.inputField; 4144 triggerEl["on" + params.eventName] = function() { 4145 if(params.inputField && params.inputField.disabled){ 4146 return; 4147 } 4148 var dateEl = params.inputField || params.displayArea; 4149 var dateFmt = params.inputField ? params.ifFormat : params.daFormat; 4150 var mustCreate = false; 4151 var cal = window.calendar; 4152 if (!(cal && params.cache)) { 4153 window.calendar = cal = new Calendar(params.firstDay, 4154 params.date, 4155 params.onSelect || onSelect, 4156 params.onClose || function(cal) { cal.hide(); }); 4157 cal.showsTime = params.showsTime; 4158 cal.time24 = (params.timeFormat == "24"); 4159 cal.weekNumbers = params.weekNumbers; 4160 cal.skipCalendar = params.skipCalendar; 4161 cal.mytab = params.mytab; 4162 mustCreate = true; 4163 } else { 4164 if (params.date) 4165 cal.setDate(params.date); 4166 cal.hide(); 4167 } 4168 cal.showsOtherMonths = params.showOthers; 4169 cal.yearStep = params.step; 4170 cal.setRange(params.range[0], params.range[1]); 4171 cal.params = params; 4172 cal.setDateStatusHandler(params.dateStatusFunc); 4173 cal.setDateFormat(dateFmt); 4174 if (mustCreate) 4175 cal.create(); 4176 cal.parseDate(dateEl.value || dateEl.innerHTML); 4177 cal.timeFormatOnToday = params.timeFormatOnToday; 4178 cal.refresh(); 4179 if (!params.position) 4180 cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); 4181 else 4182 cal.showAt(params.position[0], params.position[1]); 4183 return false; 4184 }; 4185}; 4186/** 4187 * jscolor, JavaScript Color Picker 4188 * 4189 * @version 1.2.2 4190 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 4191 * @author Honza Odvarko <[email protected]> 4192 * @created 2008-06-15 4193 * @updated 2009-02-03 4194 * @link http://jscolor.com 4195 */ 4196 4197 4198var jscolor = { 4199 4200 4201 dir : '/images/', // location of jscolor directory (leave empty to autodetect) 4202 bindClass : 'color', // class name 4203 binding : true, // automatic binding via <input class="..."> 4204 preloading : true, // use image preloading? 4205 4206 4207 install : function() { 4208 jscolor.addEvent(window, 'load', jscolor.init) 4209 }, 4210 4211 4212 init : function() { 4213 if(jscolor.binding) { 4214 jscolor.bind() 4215 } 4216 if(jscolor.preloading) { 4217 jscolor.preload() 4218 } 4219 }, 4220 4221 4222 getDir : function() { 4223 if(!jscolor.dir) { 4224 var detected = jscolor.detectDir() 4225 jscolor.dir = detected!=false ? detected : 'jscolor/' 4226 } 4227 return jscolor.dir 4228 }, 4229 4230 4231 detectDir : function() { 4232 var base = location.href 4233 4234 var e = document.getElementsByTagName('base') 4235 for(var i=0; i<e.length; i++) { 4236 if(e[i].href) base = e[i].href 4237 } 4238 4239 var e = document.getElementsByTagName('script') 4240 for(var i=0; i<e.length; i++) { 4241 if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) { 4242 var src = new jscolor.URI(e[i].src) 4243 var srcAbs = src.toAbsolute(base) 4244 srcAbs.path = srcAbs.path.replace(/[^\/]+$/, '') // remove filename 4245 delete srcAbs.query 4246 delete srcAbs.fragment 4247 return srcAbs.toString() 4248 } 4249 } 4250 return false 4251 }, 4252 4253 4254 bind : function() { 4255 var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i') 4256 var e = document.getElementsByTagName('input') 4257 for(var i=0; i<e.length; i++) { 4258 var m 4259 if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) { 4260 var prop = {} 4261 if(m[3]) { 4262 try { 4263 eval('prop='+m[3]) 4264 } catch(eInvalidProp) {} 4265 } 4266 e[i].color = new jscolor.color(e[i], prop) 4267 } 4268 } 4269 }, 4270 4271 4272 preload : function() { 4273 for(var fn in jscolor.imgRequire) { 4274 jscolor.loadImage(fn) 4275 } 4276 }, 4277 4278 4279 images : { 4280 pad : [ 181, 101 ], 4281 sld : [ 16, 101 ], 4282 cross : [ 15, 15 ], 4283 arrow : [ 7, 11 ] 4284 }, 4285 4286 4287 imgRequire : {}, 4288 imgLoaded : {}, 4289 4290 4291 requireImage : function(filename) { 4292 jscolor.imgRequire[filename] = true 4293 }, 4294 4295 4296 loadImage : function(filename) { 4297 if(!jscolor.imgLoaded[filename]) { 4298 jscolor.imgLoaded[filename] = new Image() 4299 jscolor.imgLoaded[filename].src = jscolor.getDir()+filename 4300 } 4301 }, 4302 4303 4304 fetchElement : function(mixed) { 4305 return typeof(mixed) == 'string' ? document.getElementById(mixed) : mixed 4306 }, 4307 4308 4309 addEvent : function(el, evnt, func) { 4310 if(el.addEventListener) { 4311 return el.addEventListener(evnt, func, false) 4312 } else if(el.attachEvent) { 4313 return el.attachEvent('on'+evnt, func) 4314 } else { 4315 return false 4316 } 4317 }, 4318 4319 4320 fireEvent : function(el, evnt) { 4321 if(!el) { 4322 return false 4323 } else if(document.createEventObject) { 4324 var ev = document.createEventObject() 4325 return el.fireEvent('on'+evnt, ev) 4326 } else if(document.createEvent) { 4327 var ev = document.createEvent('HTMLEvents') 4328 ev.initEvent(evnt, true, true) 4329 return el.dispatchEvent(ev) 4330 } else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5) 4331 return el['on'+evnt]() 4332 } else { 4333 return false 4334 } 4335 }, 4336 4337 4338 getElementPos : function(e) { 4339 var e1=e, e2=e 4340 var x=0, y=0 4341 if(e1.offsetParent) { 4342 do { 4343 x += e1.offsetLeft 4344 y += e1.offsetTop 4345 } while(e1 = e1.offsetParent) 4346 } 4347 while((e2 = e2.parentNode) && e2.nodeName != 'BODY') { 4348 x -= e2.scrollLeft 4349 y -= e2.scrollTop 4350 } 4351 return [x, y] 4352 }, 4353 4354 4355 getElementSize : function(e) { 4356 return [e.offsetWidth, e.offsetHeight] 4357 }, 4358 4359 4360 getMousePos : function(e) { 4361 if(!e) e = window.event 4362 if(typeof e.pageX == 'number') { 4363 return [e.pageX, e.pageY] 4364 } else if(typeof e.clientX == 'number') { 4365 return [ 4366 e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft, 4367 e.clientY + document.body.scrollTop + document.documentElement.scrollTop 4368 ] 4369 } 4370 }, 4371 4372 4373 getViewPos : function() { 4374 if(typeof window.pageYOffset == 'number') { 4375 return [window.pageXOffset, window.pageYOffset] 4376 } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) { 4377 return [document.body.scrollLeft, document.body.scrollTop] 4378 } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) { 4379 return [document.documentElement.scrollLeft, document.documentElement.scrollTop] 4380 } else { 4381 return [0, 0] 4382 } 4383 }, 4384 4385 4386 getViewSize : function() { 4387 if(typeof window.innerWidth == 'number') { 4388 return [window.innerWidth, window.innerHeight] 4389 } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) { 4390 return [document.body.clientWidth, document.body.clientHeight] 4391 } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 4392 return [document.documentElement.clientWidth, document.documentElement.clientHeight] 4393 } else { 4394 return [0, 0] 4395 } 4396 }, 4397 4398 4399 URI : function(uri) { // See RFC3986 4400 4401 this.scheme = null 4402 this.authority = null 4403 this.path = '' 4404 this.query = null 4405 this.fragment = null 4406 4407 this.parse = function(uri) { 4408 var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/) 4409 this.scheme = m[3] ? m[2] : null 4410 this.authority = m[5] ? m[6] : null 4411 this.path = m[7] 4412 this.query = m[9] ? m[10] : null 4413 this.fragment = m[12] ? m[13] : null 4414 return this 4415 } 4416 4417 this.toString = function() { 4418 var result = '' 4419 if(this.scheme != null) result = result + this.scheme + ':' 4420 if(this.authority != null) result = result + '//' + this.authority 4421 if(this.path != null) result = result + this.path 4422 if(this.query != null) result = result + '?' + this.query 4423 if(this.fragment != null) result = result + '#' + this.fragment 4424 return result 4425 } 4426 4427 this.toAbsolute = function(base) { 4428 var base = new jscolor.URI(base) 4429 var r = this 4430 var t = new jscolor.URI 4431 4432 if(base.scheme == null) return false 4433 4434 if(r.scheme != null && r.scheme.toLowerCase() == base.scheme.toLowerCase()) { 4435 r.scheme = null 4436 } 4437 4438 if(r.scheme != null) { 4439 t.scheme = r.scheme 4440 t.authority = r.authority 4441 t.path = removeDotSegments(r.path) 4442 t.query = r.query 4443 } else { 4444 if(r.authority != null) { 4445 t.authority = r.authority 4446 t.path = removeDotSegments(r.path) 4447 t.query = r.query 4448 } else { 4449 if(r.path == '') { 4450 t.path = base.path 4451 if(r.query != null) { 4452 t.query = r.query 4453 } else { 4454 t.query = base.query 4455 } 4456 } else { 4457 if(r.path.substr(0,1) == '/') { 4458 t.path = removeDotSegments(r.path) 4459 } else { 4460 if(base.authority != null && base.path == '') { 4461 t.path = '/'+r.path 4462 } else { 4463 t.path = base.path.replace(/[^\/]+$/,'')+r.path 4464 } 4465 t.path = removeDotSegments(t.path) 4466 } 4467 t.query = r.query 4468 } 4469 t.authority = base.authority 4470 } 4471 t.scheme = base.scheme 4472 } 4473 t.fragment = r.fragment 4474 4475 return t 4476 } 4477 4478 function removeDotSegments(path) { 4479 var out = '' 4480 while(path) { 4481 if(path.substr(0,3)=='../' || path.substr(0,2)=='./') { 4482 path = path.replace(/^\.+/,'').substr(1) 4483 } else if(path.substr(0,3)=='/./' || path=='/.') { 4484 path = '/'+path.substr(3) 4485 } else if(path.substr(0,4)=='/../' || path=='/..') { 4486 path = '/'+path.substr(4) 4487 out = out.replace(/\/?[^\/]*$/, '') 4488 } else if(path=='.' || path=='..') { 4489 path = '' 4490 } else { 4491 var rm = path.match(/^\/?[^\/]*/)[0] 4492 path = path.substr(rm.length) 4493 out = out + rm 4494 } 4495 } 4496 return out 4497 } 4498 4499 if(uri) { 4500 this.parse(uri) 4501 } 4502 4503 }, 4504 4505 4506 /* 4507 * Usage example: 4508 * var myColor = new jscolor.color(myInputElement) 4509 */ 4510 4511 color : function(target, prop) { 4512 4513 4514 this.required = true // refuse empty values? 4515 this.adjust = true // adjust value to uniform notation? 4516 this.hash = false // prefix color with # symbol? 4517 this.caps = true // uppercase? 4518 this.valueElement = target // value holder 4519 this.styleElement = target // where to reflect current color 4520 this.hsv = [0, 0, 1] // read-only 0-6, 0-1, 0-1 4521 this.rgb = [1, 1, 1] // read-only 0-1, 0-1, 0-1 4522 4523 this.pickerOnfocus = true // display picker on focus? 4524 this.pickerMode = 'HSV' // HSV | HVS 4525 this.pickerPosition = 'bottom' // left | right | top | bottom 4526 this.pickerFace = 10 // px 4527 this.pickerFaceColor = 'ThreeDFace' // CSS color 4528 this.pickerBorder = 1 // px 4529 this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight' // CSS color 4530 this.pickerInset = 1 // px 4531 this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow' // CSS color 4532 this.pickerZIndex = 10000 4533 4534 4535 for(var p in prop) this[p] = prop[p] 4536 4537 4538 this.hidePicker = function() { 4539 if(isPickerOwner()) { 4540 removePicker() 4541 } 4542 } 4543 4544 4545 this.showPicker = function() { 4546 if(!isPickerOwner()) { 4547 var tp = jscolor.getElementPos(target) // target pos 4548 var ts = jscolor.getElementSize(target) // target size 4549 var vp = jscolor.getViewPos() // view pos 4550 var vs = jscolor.getViewSize() // view size 4551 var ps = [ // picker size 4552 2*this.pickerBorder + 4*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[1] + jscolor.images.sld[0], 4553 2*this.pickerBorder + 2*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[1] 4554 ] 4555 var a, b, c 4556 switch(this.pickerPosition.toLowerCase()) { 4557 case 'left': a=1; b=0; c=-1; break 4558 case 'right':a=1; b=0; c=1; break 4559 case 'top': a=0; b=1; c=-1; break 4560 default: a=0; b=1; c=1; break 4561 } 4562 var l = (ts[b]+ps[b])/2 4563 var pp = [ // picker pos 4564 -vp[a]+tp[a]+ps[a] > vs[a] ? 4565 (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >
4565= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) : tp[a], 4566 -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ? 4567 (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) : 4568 (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c) 4569 ] 4570 drawPicker(pp[a], pp[b]) 4571 } 4572 } 4573 4574 4575 this.importColor = function() { 4576 if(!valueElement) { 4577 this.exportColor() 4578 } else { 4579 if(!this.adjust) { 4580 if(!this.fromString(valueElement.value, leaveValue)) { 4581 styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor 4582 styleElement.style.color = styleElement.jscStyle.color 4583 this.exportColor(leaveValue | leaveStyle) 4584 } 4585 } else if(!this.required && /^\s*$/.test(valueElement.value)) { 4586 valueElement.value = '' 4587 styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor 4588 styleElement.style.color = styleElement.jscStyle.color 4589 this.exportColor(leaveValue | leaveStyle) 4590 4591 } else if(this.fromString(valueElement.value)) { 4592 // OK 4593 } else { 4594 this.exportColor() 4595 } 4596 } 4597 } 4598 4599 4600 this.exportColor = function(flags) { 4601 if(!(flags & leaveValue) && valueElement) { 4602 var value = this.toString() 4603 if(this.caps) value = value.toUpperCase() 4604 if(this.hash) value = '#'+value 4605 valueElement.value = value 4606 } 4607 if(!(flags & leaveStyle) && styleElement) { 4608 styleElement.style.backgroundColor = '#'+this.toString() 4609 styleElement.style.color = 4610 0.213 * this.rgb[0] + 4611 0.715 * this.rgb[1] + 4612 0.072 * this.rgb[2] 4613 < 0.5 ? '#FFF' : '#000' 4614 } 4615 if(!(flags & leavePad) && isPickerOwner()) { 4616 redrawPad() 4617 } 4618 if(!(flags & leaveSld) && isPickerOwner()) { 4619 redrawSld() 4620 } 4621 } 4622 4623 4624 this.fromHSV = function(h, s, v, flags) { // null = don't change 4625 h<0 && (h=0) || h>6 && (h=6) 4626 s<0 && (s=0) || s>1 && (s=1) 4627 v<0 && (v=0) || v>1 && (v=1) 4628 this.rgb = HSV_RGB( 4629 h==null ? this.hsv[0] : (this.hsv[0]=h), 4630 s==null ? this.hsv[1] : (this.hsv[1]=s), 4631 v==null ? this.hsv[2] : (this.hsv[2]=v) 4632 ) 4633 this.exportColor(flags) 4634 } 4635 4636 4637 this.fromRGB = function(r, g, b, flags) { // null = don't change 4638 r<0 && (r=0) || r>1 && (r=1) 4639 g<0 && (g=0) || g>1 && (g=1) 4640 b<0 && (b=0) || b>1 && (b=1) 4641 var hsv = RGB_HSV( 4642 r==null ? this.rgb[0] : (this.rgb[0]=r), 4643 g==null ? this.rgb[1] : (this.rgb[1]=g), 4644 b==null ? this.rgb[2] : (this.rgb[2]=b) 4645 ) 4646 if(hsv[0] != null) { 4647 this.hsv[0] = hsv[0] 4648 } 4649 if(hsv[2] != 0) { 4650 this.hsv[1] = hsv[1] 4651 } 4652 this.hsv[2] = hsv[2] 4653 this.exportColor(flags) 4654 } 4655 4656 4657 this.fromString = function(hex, flags) { 4658 var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i) 4659 if(!m) { 4660 return false 4661 } else { 4662 if(m[1].length == 6) { // 6-char notation 4663 this.fromRGB( 4664 parseInt(m[1].substr(0,2),16) / 255, 4665 parseInt(m[1].substr(2,2),16) / 255, 4666 parseInt(m[1].substr(4,2),16) / 255, 4667 flags 4668 ) 4669 } else { // 3-char notation 4670 this.fromRGB(
4671 parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255, 4672 parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255, 4673 parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255, 4674 flags 4675 ) 4676 } 4677 return true 4678 } 4679 } 4680 4681 4682 this.toString = function() { 4683 return ( 4684 (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) + 4685 (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) + 4686 (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1) 4687 ) 4688 } 4689 4690 4691 function RGB_HSV(r, g, b) { 4692 var n = Math.min(Math.min(r,g),b) 4693 var v = Math.max(Math.max(r,g),b) 4694 var m = v - n 4695 if(m == 0) return [ null, 0, v ] 4696 var h = r==n ? 3+(b-g)/m : (g==n ? 5+(r-b)/m : 1+(g-r)/m) 4697 return [ h==6?0:h, m/v, v ] 4698 } 4699 4700 4701 function HSV_RGB(h, s, v) { 4702 if(h == null) return [ v, v, v ] 4703 var i = Math.floor(h) 4704 var f = i%2 ? h-i : 1-(h-i) 4705 var m = v * (1 - s) 4706 var n = v * (1 - s*f) 4707 switch(i) { 4708 case 6: 4709 case 0: return [v,n,m] 4710 case 1: return [n,v,m] 4711 case 2: return [m,v,n] 4712 case 3: return [m,n,v] 4713 case 4: return [n,m,v] 4714 case 5: return [v,m,n] 4715 } 4716 } 4717 4718 4719 function removePicker() { 4720 delete jscolor.picker.owner 4721 document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB) 4722 } 4723 4724 4725 function drawPicker(x, y) { 4726 if(typeof jscolor.picker != "undefined" && typeof jscolor.picker.boxB != "undefined") { 4727 try{ 4728 document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB) 4729 }catch(e){} 4730 } 4731 jscolor.picker = { 4732 box : document.createElement('div'), 4733 boxB : document.createElement('div'), 4734 pad : document.createElement('div'), 4735 padB : document.createElement('div'), 4736 padM : document.createElement('div'), 4737 sld : document.createElement('div'), 4738 sldB : document.createElement('div'), 4739 sldM : document.createElement('div') 4740 } 4741 for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) { 4742 var seg = document.createElement('div') 4743 seg.style.height = segSize+'px' 4744 seg.style.fontSize = '1px' 4745 seg.style.lineHeight = '0' 4746 jscolor.picker.sld.appendChild(seg) 4747 } 4748 jscolor.picker.sldB.appendChild(jscolor.picker.sld) 4749 jscolor.picker.box.appendChild(jscolor.picker.sldB) 4750 jscolor.picker.box.appendChild(jscolor.picker.sldM) 4751 jscolor.picker.padB.appendChild(jscolor.picker.pad) 4752 jscolor.picker.box.appendChild(jscolor.picker.padB) 4753 jscolor.picker.box.appendChild(jscolor.picker.padM) 4754 jscolor.picker.boxB.appendChild(jscolor.picker.box) 4755 //} 4756 4757 var p = jscolor.picker 4758 4759 // recompute controls positions 4760 posPad = [ 4761 x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset, 4762 y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ] 4763 posSld = [ 4764 null, 4765 y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ] 4766 4767 // controls interaction 4768 p.box.onmouseup = 4769 p.box.onmouseout = function() { target.focus() } 4770 p.box.onmousedown = function() { abortBlur=true } 4771 p.box.onmousemove = function(e) { holdPad && setPad(e); holdSld && setSld(e) } 4772 p.padM.onmouseup = 4773 p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change') } } 4774 p.padM.onmousedown = function(e) { holdPad=true; setPad(e) } 4775 p.sldM.onmouseup = 4776 p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change') } } 4777 p.sldM.onmousedown = function(e) { holdSld=true; setSld(e) } 4778 4779 // picker 4780 p.box.style.width = 4*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] + 'px' 4781 p.box.style.height = 2*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[1] + 'px' 4782 4783 // picker border 4784 p.boxB.style.position = 'absolute' 4785 p.boxB.style.clear = 'both' 4786 p.boxB.style.left = x+'px' 4787 p.boxB.style.top = y+'px' 4788 p.boxB.style.zIndex = THIS.pickerZIndex 4789 p.boxB.style.border = THIS.pickerBorder+'px solid' 4790 p.boxB.style.borderColor = THIS.pickerBorderColor 4791 p.boxB.style.background = THIS.pickerFaceColor 4792 4793 // pad image 4794 p.pad.style.width = jscolor.images.pad[0]+'px' 4795 p.pad.style.height = jscolor.images.pad[1]+'px' 4796 4797 // pad border 4798 p.padB.style.position = 'absolute' 4799 p.padB.style.left = THIS.pickerFace+'px' 4800 p.padB.style.top = THIS.pickerFace+'px' 4801 p.padB.style.border = THIS.pickerInset+'px solid' 4802 p.padB.style.borderColor = THIS.pickerInsetColor 4803 4804 // pad mouse area 4805 p.padM.style.position = 'absolute' 4806 p.padM.style.left = '0' 4807 p.padM.style.top = '0' 4808 p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px' 4809 p.padM.style.height = p.box.style.height 4810 p.padM.style.cursor = 'crosshair' 4811 4812 // slider image 4813 p.sld.style.overflow = 'hidden' 4814 p.sld.style.width = jscolor.images.sld[0]+'px' 4815 p.sld.style.height = jscolor.images.sld[1]+'px' 4816 4817 // slider border 4818 p.sldB.style.position = 'absolute' 4819 p.sldB.style.right = THIS.pickerFace+'px' 4820 p.sldB.style.top = THIS.pickerFace+'px' 4821 p.sldB.style.border = THIS.pickerInset+'px solid' 4822 p.sldB.style.borderColor = THIS.pickerInsetColor 4823 4824 // slider mouse area 4825 p.sldM.style.position = 'absolute' 4826 p.sldM.style.right = '0' 4827 p.sldM.style.top = '0' 4828 p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px' 4829 p.sldM.style.height = p.box.style.height 4830 try { 4831 p.sldM.style.cursor = 'pointer' 4832 } catch(eOldIE) { 4833 p.sldM.style.cursor = 'hand' 4834 } 4835 4836 // load images in optimal order 4837 switch(modeID) { 4838 case 0: var padImg = Cyberoam.contextPath+'/images/hs.png'; break 4839 case 1: var padImg = '/images/hv.png'; break 4840 } 4841 p.padM.style.background = "url('/images/cross.gif') no-repeat" 4842 p.sldM.style.background = "url('/images/colorarrow.gif') no-repeat" 4843 p.pad.style.background = "url('"+padImg+"') 0 0 no-repeat" 4844 4845 // place pointers 4846 redrawPad() 4847 redrawSld() 4848 4849 jscolor.picker.owner = THIS 4850 document.getElementsByTagName('body')[0].appendChild(p.boxB) 4851 } 4852 4853 4854 function redrawPad() { 4855 // redraw the pad pointer 4856 switch(modeID) { 4857 case 0: var yComponent = 1; break 4858 case 1: var yComponent = 2; break 4859 } 4860 var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1)) 4861 var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1)) 4862 jscolor.picker.padM.style.backgroundPosition = 4863 (THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' + 4864 (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px' 4865 4866 // redraw the slider image 4867 var seg = jscolor.picker.sld.childNodes 4868 4869 switch(modeID) { 4870 case 0: 4871 var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1) 4872 for(var i=0; i<seg.length; i++) { 4873 seg[i].style.backgroundColor = 'rgb('+ 4874 (rgb[0]*(1-i/seg.length)*100)+'%,'+ 4875 (rgb[1]*(1-i/seg.length)*100)+'%,'+ 4876 (rgb[2]*(1-i/seg.length)*100)+'%)' 4877 } 4878 break 4879 case 1: 4880 var rgb, s, c = [ THIS.hsv[2], 0, 0 ] 4881 var i = Math.floor(THIS.hsv[0]) 4882 var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i) 4883 switch(i) { 4884 case 6: 4885 case 0: rgb=[0,1,2]; break 4886 case 1: rgb=[1,0,2]; break 4887 case 2: rgb=[2,0,1]; break 4888 case 3: rgb=[2,1,0]; break 4889 case 4: rgb=[1,2,0]; break 4890 case 5: rgb=[0,2,1]; break 4891 } 4892 for(var i=0; i<seg.length; i++) { 4893 s = 1 - 1/(seg.length-1)*i 4894 c[1] = c[0] * (1 - s*f) 4895 c[2] = c[0] * (1 - s) 4896 seg[i].style.backgroundColor = 'rgb('+ 4897 (c[rgb[0]]*100)+'%,'+ 4898 (c[rgb[1]]*100)+'%,'+ 4899 (c[rgb[2]]*100)+'%)' 4900 } 4901 break 4902 } 4903 } 4904 4905 4906 function redrawSld() { 4907 // redraw the slider pointer 4908 switch(modeID) { 4909 case 0: var yComponent = 2; break 4910 case 1: var yComponent = 1; break 4911 } 4912 var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1)) 4913 jscolor.picker.sldM.style.backgroundPosition = 4914 '0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px' 4915 } 4916 4917 4918 function isPickerOwner() { 4919 return jscolor.picker && jscolor.picker.owner == THIS 4920 } 4921 4922 4923 function blurTarget() { 4924 if(valueElement == target) THIS.importColor() 4925 if(THIS.pickerOnfocus) THIS.hidePicker() 4926 } 4927 4928 4929 function blurValue() { 4930 if(valueElement != target) THIS.importColor() 4931 } 4932 4933 4934 function setPad(e) { 4935 var posM = jscolor.getMousePos(e) 4936 var x = posM[0]-posPad[0] 4937 var y = posM[1]-posPad[1] 4938 switch(modeID) { 4939 case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break 4940 case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break 4941 } 4942 } 4943 4944 4945 function setSld(e) { 4946 var posM = jscolor.getMousePos(e) 4947 var y = posM[1]-posPad[1] 4948 switch(modeID) { 4949 case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break 4950 case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break 4951 } 4952 } 4953 4954 4955 var THIS = this 4956 var modeID = this.pickerMode.toLowerCase()=='hvs' ? 1 : 0 4957 var abortBlur = false 4958 var 4959 valueElement = jscolor.fetchElement(this.valueElement), 4960 styleElement = jscolor.fetchElement(this.styleElement) 4961 var 4962 holdPad = false, 4963 holdSld = false 4964 var 4965 posPad, 4966 posSld 4967 var 4968 leaveValue = 1<<0, 4969 leaveStyle = 1<<1, 4970 leavePad = 1<<2, 4971 leaveSld = 1<<3 4972 4973 // target 4974 jscolor.addEvent(target, 'focus', function() { 4975 if(THIS.pickerOnfocus) THIS.showPicker() 4976 }) 4977 jscolor.addEvent(target, 'blur', function() { 4978 if(!abortBlur) { 4979 setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false }, 0) 4980 } else { 4981 abortBlur = false 4982 } 4983 }) 4984 4985 // valueElement 4986 if(valueElement) { 4987 var updateField = function() { 4988 THIS.fromString(valueElement.value, leaveValue) 4989 } 4990 jscolor.addEvent(valueElement, 'keyup', updateField) 4991 jscolor.addEvent(valueElement, 'input', updateField) 4992 jscolor.addEvent(valueElement, 'blur', blurValue) 4993 valueElement.setAttribute('autocomplete', 'off') 4994 } 4995 4996 // styleElement 4997 if(styleElement) { 4998 styleElement.jscStyle = { 4999 backgroundColor : styleElement.style.backgroundColor, 5000 color : styleElement.style.color 5001 } 5002 } 5003 5004 // require images 5005 switch(modeID) { 5006 case 0: jscolor.requireImage('hs.png'); break 5007 case 1: jscolor.requireImage('hv.png'); break 5008 } 5009 jscolor.requireImage('cross.gif'); 5010 jscolor.requireImage('arrow.gif'); 5011 5012 this.importColor() 5013 } 5014 5015} 5016 5017 5018jscolor.install() 5019TooltipThread=null,Cyberoam.showTooltipByMode=function(o,t){o.id&&null!=o.id&&""!=o.id&&0!=o.id&&"null"!=o.id?(Cyberoam.showTooltip(null,t),TooltipThread=setTimeout((function(){Cyberoam.AJAXCall({url:"/Controller",postResponse:function(e){o.data=e,Cyberoam.showTooltip(o,t)},method:"GET",query:"mode="+o.mode+"&id="+o.id+"&entity="+o.entity,id:null})}),100),t.onmouseout=function(){clearTimeout(TooltipThread),TooltipThread=null}):(o.data=Language.noItemSelectedTip,Cyberoam.showTooltip(o,t))},Cyberoam.showTooltip=function(o,t){if($(t).is(":hover")&&jQuery("#tooltip")&&0!=$(t).offset().left){jQuery('<div id="tooltip" style="width:auto;position:absolute"></div>').appendTo("#body");var e=[];e.push('<div id="tooltipCorner"></div>
5019'),e.push('<div class="tooltipWrapper">'),null!=o&&o.header&&e.push('<div class="tooltipheader"><div style="display:inline-block;">'+Cyberoam.getTranslatedMSG(o.header)+'</div><div style="float:right" class="tooltipclose" onclick=Cyberoam.closeTooltip();></div></div>'),e.push('<div id="tooltipbody">'),null!=o?e.push(o.data):e.push('<div class="spinner-loading"></div>'),e.push("</div>"),e.push("</div>"),e.push("</div>"),$("#tooltip").html(e.join("")),document.getElementById("tooltip").style.zIndex=Cyberoam.pageLayer?200*Cyberoam.pageLayer+10:200,$(t).on("mouseout",(function(o){Cyberoam.hideTooltip()})),$(t).on("mouseover",(function(o){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),$("#tooltip").on("mouseout",(function(o){Cyberoam.hideTooltip()})),$("#tooltip").on("mouseover",(function(o){clearTimeout(Cyberoam.tooltipInterval),Cyberoam.tooltipInterval=null})),Cyberoam.setLabelValue(document.getElementById("tooltip"));var l=document.getElementById("tooltip");jQuery("#tooltip").width()+$(t).offset().left+$(t).width()>document.body.clientWidth?(l.style.left=$(t).offset().left-jQuery("#tooltip").width()-10+"px",jQuery("#tooltipCorner").addClass("tooltipleft")):(l.style.left=$(t).offset().left+$(t).width()+10+"px",jQuery("#tooltipCorner").addClass("tooltipright")),jQuery("#tooltip").height()+$(t).offset().top+$(t).height()>document.body.clientHeight&&jQuery("#tooltip").height()<$(t).offset().top?(l.style.top=$(t).offset().top-(jQuery("#tooltip").height()-20)+"px",document.getElementById("tooltipCorner").style.top=jQuery("#tooltip").height()-20+"px"):l.style.top=$(t).offset().top-5+"px";var i=null;i=setInterval((function(){var o;(o=$(t))&&!o.is(":hover")&&0===$("#tooltip:hover").length&&(Cyberoam.closeTooltip(),clearInterval(i),i=null)}),100)}},Cyberoam.hideTooltip=function(){hideTooltip=function(){Cyberoam.tooltipInterval&&($("#tooltip").length>0&&jQuery("#tooltip").remove(),$("#tooltipcustom").length>0&&jQuery("#tooltipcustom").remove())},Cyberoam.tooltipInterval=setTimeout((function(){this.hideTooltip()}),50)},Cyberoam.closeTooltip=function(){$("#tooltip").length>0&&jQuery("#tooltip").remove(),$("#tooltipcustom").length>0&&jQuery("#tooltipcustom").remove()};Cyberoam.combobox=function(e){for(var t in this.config={id:"",data:{},style:"",maxlength:256,editable:!1,height:200,width:110,onChange:null,selectedItems:[],multiSelect:!1,labelDisplay:"select"},this.selectedItem=[],this.selectedIndex=[],this.selectedItemByIndex=null,e){if("undefined"==this.config[t])return Cyberoam.messageBox({message:"Wrong Combobox Configuration "+t}),void(this.config={id:"",data:{},style:"",height:200,width:150,addOperation:""});this.config[t]=e[t]}},Cyberoam.combobox.prototype.getSelectedLabel=function(){if(this.config.editable&&""!=Cyberoam.trim(document.getElementById("Combo_select_input"+this.config.id).value))return document.getElementById("Combo_select_input"+this.config.id).value;for(var e=[],t=0;t<this.selectedItem.length;t++)e.push(this.config.data[this.selectedItem[t]].label);return e},Cyberoam.combobox.prototype.getSelectedKey=function(){if(this.config.editable&&""!=Cyberoam.trim(document.getElementById("Combo_select_input"+this.config.id).value))return document.getElementById("Combo_select_input"+this.config.id).value;for(var e=[],t=0;t<this.selectedItem.length;t++)e.push(this.selectedItem[t]);return e},Cyberoam.combobox.prototype.getSelectedIndex=function(){return this.selectedIndex},Cyberoam.combobox.prototype.getLabelByIndex=function(e){for(var t=[],o=0;o<e.length&&(t[o]=this.config.data[e[o]].label,this.config.multiSelect);o++);return t},Cyberoam.combobox.prototype.getKeyByIndex=function(e){for(var t=[],o=0;o<e.length&&(t[o]=this.config.data[e[o]].key,this.config.multiSelect);o++);return t},Cyberoam.combobox.prototype.selectNodesByKeys=function(e){for(var t=this,o=this.config.id,i=[],l=0;l<e.length;l++)document.getElementById("Combo_item"+o+e[l])&&(t.config.multiSelect&&(document.getElementById("Combo_item"+o+e[l]).className="dragList_item_select"),i.push(this.config.data[e[l]].label));t.selectedItem=e;var n=i.toString(),m=i.toString();n.length>
501917?(n=n.substring(0,17)+"...",jQuery("#Combo_select"+o).html(n),jQuery("#Combo_select"+o).attr("title",m)):(jQuery("#Combo_select"+o).attr("title",m),0==t.selectedItem.length?jQuery("#Combo_select"+o).html(t.config.labelDisplay):jQuery("#Combo_select"+o).html(n))},Cyberoam.combobox.prototype.deleteNodeByIndex=function(e){for(var t=0;t<e.length;t++){var o=this.config.data[e[t]-t];if(this.config.data.splice(e[t]-t,1),$("#Combo_item"+o.key).html("").remove(),0==this.config.multiSelect)break}},Cyberoam.combobox.prototype.getSelectedItems=function(){return myobject=this,myobject.selectedItem},Cyberoam.combobox.prototype.divClickEvent=function(e,t){myobject=this;var o=[],i=this.config.id;if(myobject.config.multiSelect){var l=t.getAttribute("key");-1==t.className.indexOf("dragList_item_select")?($(t).removeClass(),$(t).addClass("dragList_item_select_current"),myobject.selectedItem.push(l)):($(t).removeClass(),$(t).addClass("dragList_item"),myobject.selectedItem=Cyberoam.removeItemInArray(l,myobject.selectedItem));for(var n=0;n<myobject.selectedIndex.length;n++)o.push(this.config.data[myobject.selectedItem[n]].label);jQuery("#Combo_select"+i).html("");var m=Cyberoam.replaceAll(o.toString(),"<","<"),s=Cyberoam.replaceAll(o.toString(),"<","<");m.length>17?(m=m.substring(0,17)+"...",jQuery("#Combo_select"+i).html(m),jQuery("#Combo_select"+i).attr("title",s)):(jQuery("#Combo_select"+i).attr("title",s),0==myobject.selectedItem.length?jQuery("#Combo_select"+i).html(Cyberoam.replaceAll(myobject.config.labelDisplay,"<","<")):jQuery("#Combo_select"+i).html(m))}else{l=t.getAttribute("key");myobject.selectedItem[0]=l,jQuery("#Combo_select"+i).html(Cyberoam.replaceAll(this.config.data[myobject.selectedItem[0]].label,"<","<")),jQuery("#Combo_select"+i).attr("title",Cyberoam.replaceAll(this.config.data[myobject.selectedItem[0]].label,"<","<")),myobject.hide()}document.getElementById("Combo_select_input"+i).value="",null!=myobject.config.onChange&&myobject.config.onChange(myobject.selectedItem)},Cyberoam.combobox.prototype.create=function(){$("#"+this.config.id).html("");var e=this,t=[];t=this.config.data;var o=this.config.id;jQuery("#"+o).attr("class","ComboBox"),0==this.config.editable&&jQuery("#"+o).on("click",(function(){var t=document.getElementById("Combo_body"+e.config.id);t.style.top=jQuery(this).offset().top+18,t.style.left=jQuery(this).offset().left,""==t.style.display?e.hide():e.show()})),jQuery("#"+o).html("<input id=Combo_select_input"+o+" maxlength='"+this.config.maxlength+"' style='width:85%;height:18px;float:left;border:1px solid #666;border-right:none;display:none' /><div id=Combo_select"+o+" class='Combo_select1'>"+e.config.labelDisplay+"</div><div id=btn"+o+" class='Combo_button'> </div>"),jQuery("#mainbody").append(jQuery("<div id=Combo_body"+o+" class='Combo_body' style='display:none'></div>"));var i=[];if(""!=o){var l=0;if(e.config.multiSelect)for(var l in t)t.hasOwnProperty(l)&&(i.push("<div id=Combo_item_"+o+l+" key='"+l+"' title='"+Cyberoam.replaceAll(t[l].label,"<","<")+"' class ='dragList_item'>"),i.push(Cyberoam.replaceAll(t[l].label,"<","<")),i.push("</div>"));else for(var l in t)t.hasOwnProperty(l)&&(i.push("<div id=Combo_item"+o+l+" key='"+l+"' title='"+Cyberoam.replaceAll(t[l].label,"<","<")+"' class ='Combo_item_single'>"),i.push(Cyberoam.replaceAll(t[l].label,"<","<")),i.push("</div>"));document.getElementById("Combo_body"+o).innerHTML=i.join("")}if(document.getElementById("Combo_body"+o).style.width=e.config.width+"px",document.getElementById("Combo_body"+o).offsetHeight>e.config.height&&(document.getElementById("Combo_body"+o).style.height=e.config.height+"px"),this.config.editable&&($("#btn"+o).on("click",(function(t){var o=document.getElementById("Combo_body"+e.config.id);o.style.top=jQuery(this.parentNode).offset().top+18,o.style.left=jQuery(this.parentNode).offset().left,""==o.style.display?e.hide():e.show()})),""!=this.config.selectedItems?document.getElementById("Combo_select_input"+o).value=this.config.selectedItems:document.getElementById("Combo_select_input"+o).value="",document.getElementById("Combo_select_input"+o).onblur=function(){if(""!=this.value){var e=Cyberoam.replaceAll(this.value,"<","<");this.value.length>25&&(e=this.value.substring(0,25)+"..."),document.getElementById("Combo_select"+o
5019).title=Cyberoam.replaceAll(this.value,"<","<"),document.getElementById("Combo_select"+o).innerHTML=e}document.getElementById("Combo_select_input"+o).style.display="none",document.getElementById("Combo_select"+o).style.display=""},$("#Combo_select"+o).on("click",(function(t){void 0!==document.getElementById("Combo_select"+o).title&&""!=document.getElementById("Combo_select"+o).title?document.getElementById("Combo_select_input"+o).value=Cyberoam.replaceAll(document.getElementById("Combo_select"+o).title,"<","<"):document.getElementById("Combo_select"+o).innerHTML!=e.config.labelDisplay?document.getElementById("Combo_select_input"+o).value=Cyberoam.replaceAll(document.getElementById("Combo_select"+o).innerHTML,"<","<"):document.getElementById("Combo_select_input"+o).value="",document.getElementById("Combo_select_input"+o).style.display="",document.getElementById("Combo_select_input"+o).focus(),document.getElementById("Combo_select"+o).style.display="none",document.getElementById("Combo_select"+o).title=""}))),$("#Combo_body"+o+" div").on("click",(function(t){e.divClickEvent(t,this)})),$("#Combo_body"+o+" div").on("mouseover",(function(t){e.mouseOverEvent(t,this)})),$("#Combo_body"+o+" div").on("mouseout",(function(t){e.mouseOutEvent(t,this)})),""!=this.config.selectedItems)if("object"==typeof this.config.selectedItems)this.selectNodesByKeys(this.config.selectedItems);else{var n=this.config.selectedItems;if(""!=n){var m=n;n.length>25&&(m=n.substring(0,25)+"..."),document.getElementById("Combo_select"+o).title=n,document.getElementById("Combo_select"+o).innerHTML=m}document.getElementById("Combo_select_input"+o).style.display="none",document.getElementById("Combo_select"+o).style.display=""}},Cyberoam.combobox.prototype.getItemByIndex=function(e){return this.config.data[e]?this.config.data[e]:null},Cyberoam.combobox.prototype.addElement=function(e){var t=this;this.config.id;t.config.multiSelect?jQuery("<div id=Combo_item"+e.key+" class ='dragList_item'> "+e.label+"</div>").appendTo("#Combo_body"+this.config.id):jQuery("<div id=Combo_item"+e.key+" class ='Combo_item_single'> "+e.label+"</div>").appendTo("#Combo_body"+this.config.id),this.config.data.push(e),$("#Combo_item"+e.key).on("click",(function(e){t.divClickEvent(e,this)})),$("#Combo_item"+e.key).on("mouseover",(function(e){t.mouseOverEvent(e,this)})),$("#Combo_item"+e.key).on("mouseout",(function(e){t.mouseOutEvent(e,this)}))},Cyberoam.combobox.prototype.mouseOverEvent=function(e,t){this.config.multiSelect?($(t).is(".dragList_item")||$(t).is(".dragList_item_select_current"))&&$(t).addClass("highlight"):$(t).is(".Combo_item_single")&&($(t).removeClass(),$(t).addClass("Combo_item_single_hilite"))},Cyberoam.combobox.prototype.mouseOutEvent=function(e,t){this.config.multiSelect?($(t).is(".dragList_item")||$(t).is(".dragList_item_select_current"))&&$(t).removeClass("highlight"):$(t).is(".Combo_item_single_hilite")&&($(t).removeClass(),$(t).addClass("Combo_item_single"))},Cyberoam.combobox.prototype.show=function(){if(!this.config.disabled){var e=jQuery("#"+this.config.id);document.getElementById("Combo_body"+this.config.id).style.top=e.offset().top+20+"px",e.offset().top+30+jQuery("#Combo_body"+this.config.id).height()>document.body.clientHeight-30&&(document.getElementById("Combo_body"+this.config.id).style.top=parseInt(document.getElementById("Combo_body"+this.config.id).style.top)-(e.offset().top+30+jQuery("#Combo_body"+this.config.id).height()-document.body.clientHeight)+"px"),document.getElementById("Combo_body"+this.config.id).style.left=e.offset().left+"px",e.offset().left+jQuery("#Combo_body"+this.config.id).width()>document.body.clientWidth&&(document.getElementById("Combo_body"+this.config.id).style.left=parseInt(document.getElementById("Combo_body"+this.config.id).style.left)-(e.offset().left+jQuery("#Combo_body"+this.config.id).width()-document.body.clientWidth)+"px"),document.getElementById("Combo_body"+this.config.id).style.display="",Cyberoam.addClass(document.getElementById("Combo_body"+this.config.id),"ComboBox_opened"),Cyberoam.currentObject=this}},Cyberoam.combobox.prototype.hide=function(){document.getElementById("Combo_body"+this.config.id).style.display="none",Cyberoam.removeClass(document.getElementById("Combo_body"+this.config.id),"ComboBox_opened"),Cyberoam.currentObject=null},Cyberoam.combobox.prototype.getOffsetPosition=function(){var e=document.getElementById("Combo_body"+this.config.id);return[new Cyberoam.Point(parseInt(e.style.left),parseInt(e.style.top)),new Cyberoam.Point(parseInt(e.style.left)+e.offsetWidth,parseInt(e.style.top)+e.offsetHeight)]};Cyberoam.ExpandedDivJson={},Cyberoam.ExpandedDivList={},Cyberoam.TreeTable=function(e){for(var t in this.config={uniquefield:"id",column:[],isParent:!1,data:[],isChild:!1,id:"",actionConstant:null,postRenderEvent:null,operation:null,mode:null,requestParamKey:[],requestURL:"",afterColleps:null,afterExpand:null,tableLevel:0},this.config)if(void 0!==e[t])if("child"==t){for(var a in defaultchild)void 0!==e[t][a]&&(defaultchild[a]=e[t][a]);this.config[t]=defaultchild}else this.config[t]=e[t]},Cyberoam.TreeTable.prototype.create=function(){this.createTable(this.config)},Cyberoam.TreeTable.prototype.createTable=function(e){Cyberoam.ExpandedDivList={};var t=e.id,a=(e.data,document.getElementById(t)),d=e.column,r=function(e,t,a){var d=document.getElementById(e.id).parentNode.parentNode.parentNode;if(void 0!==Cyberoam.ExpandedDivList[d.id])if("tree_blue fa fa-caret-square-o-right---"==document.getElementById(e.id).className){for(var r in document.getElementById(e.id).className="tree_blue fa fa-caret-square-o-down---",setVisibleHideRow(d.id,"Hide"),Cyberoam.ExpandedDivJson)if("object"==typeof Cyberoam.ExpandedDivJson[r]){var l=d.id.split("_");if(void 0!==Cyberoam.ExpandedDivJson[r][l[l.length-1]]){delete Cyberoam.ExpandedDivJson[r][l[l.length-1]];break}}delete Cyberoam.ExpandedDivList[d.id]}else"tree_dblue fa fa-caret-square-o-right---"==document.getElementById(e.id).className?(document.getElementById(e.id).className="tree_dblue fa fa-caret-square-o-down---",setVisibleHideRow(d.id,"Hide"),void 0!==Cyberoam.ExpandedDivJson[d.id]&&delete Cyberoam.ExpandedDivJson[d.id],delete Cyberoam.ExpandedDivList[d.id]):"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(e.id).className?(document.getElementById(e.id).className="tree_dblue fa fa-caret-square-o-right---",setVisibleHideRow(d.id,"Show")):(document.getElementById(e.id).className="tree_blue fa fa-caret-square-o-right---",setVisibleHideRow(d.id,"Show"));else{var i=YAHOO.lang.JSON.parse(e.getAttribute("rowindex")),n=[];void 0!==t.requestParamKey&&(n=t.requestParamKey);var s={};for(r=0;r<n.length;r++)void 0!==i[n[r]]&&(s[n[r]]=i[n[r]]);var c="/Controller",m="";null!=t.requestURL&&""!=t.requestURL&&(c=t.requestURL),null!=t.actionConstant&&""!=t.actionConstant&&(m+="&action="+t.actionConstant),null!=t.operation&&""!=t.operation&&(m+="&operation="+t.operation),null!=t.mode&&""!=t.mode&&(m+="&mode="+t.mode),m+="&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(s));var u={divid:e.id,tableLevel:a+1};Cyberoam.AJAXCall({url:c,postResponse:o,method:"post",dataType:"json",query:m,id:u})}},o=function(t,a){var o=document.getElementById(a.divid).parentNode.parentNode.parentNode,l=o.id,i=a.tableLevel,n="tdlevel2";2==i&&(n="tdlevel3");var s=t.record;if(void 0!==Cyberoam.pageObject[Cyberoam.pageLayer].module&&"InterfaceManage"===Cyberoam.pageObject[Cyberoam.pageLayer].module&&(s=Cyberoam.AlphaNumericSorting(s,"name")),s.length>0){for(var c=new Array,m=0;m<s.length;m++){var u=new Array,y="tabletext-bkgd",b=Cyberoam.createElement({tag:"tr",id:l+"_tr"+s[m][e.uniquefield]});$(b).insertAfter(o),b.setAttribute("parentTrId",l);var h=null;h="tdlevel2"==n?Cyberoam.createElement({tag:"td",id:l+"_td"+s[m][e.uniquefield],className:y+" treecolumntd treestrip tdlevel2"},b):Cyberoam.createElement({tag:"td",id:l+"_td"+s[m][e.uniquefield],className:y+" treecolumntd treestrip"},b),(E=Cyberoam.createElement({tag:"div"},h)).style.width="5px",E.style.height="100%";var p="tree_blue fa fa-caret-square-o-down---";void 0!==s[m].hasChild&&0!=s[m].hasChild||(p=-1!=document.getElementById(l).childNodes[0].childNodes[0].childNodes[0].className.indexOf("tree_dblue")?"tree_blue":"tree_lblue"),-1!=p.indexOf("tree_blue")&&void 0!==s[m].hasChild&&1==s[m].hasChild&&(b.onmouseover=function(){this.style.cursor="pointer"},b.onmouseout=function(){this.style.cursor="default"}),(C=Cyberoam.createElement({tag:"div",className:p,id:l+"_div"+s[m][e.uniquefield]},E)).setAttribute("rowid",s[m][e.uniquefield]),C.setAttribute("rowindex",YAHOO.lang.JSON.stringify(s[m])),C.row=m,C.rowId=s[m][e.uniquefield],C.totalRecords=s.length,u.push(C),void 0!==s[m].hasChild&&1==s[m].hasChild&&(C.parentNode.parentNode.parentNode.onclick=function(){r(this.childNodes[0].childNodes[0].childNodes[0],e,i)});for(var g=0;g<d.length;g++)if(void 0!==e.column[g].group&&""!=e.column[g].group){for(var f=0;f<e.column[g].group.length;
5019f++)if(void 0===e.column[g].group[f].type||"hidden"!=e.column[g].group[f].type){var v="";void 0!==s[m][e.column[g].group[f].key]&&(v=s[m][e.column[g].group[f].key]);y="tabletext-bkgd leftborder bottomborder "+n,h=Cyberoam.createElement({tag:"td",className:y},b);var C=Cyberoam.createElement({tag:"div",style:"width:100%;"},h);if(null!=e.column[g].group[f].formater?e.column[g].group[f].formater(C,v,s[m]):C.appendChild(document.createTextNode(v)),s[m].isParent&&void 0===d[g].type&&"checkbox"!=d[g].type){h.style.background="#FFFFFF",h.colSpan=d.length;break}}}else{if(void 0!==d[g].type&&"hidden"==d[g].type)continue;v="";void 0!==s[m][d[g].key]&&(v=s[m][d[g].key]);y="tabletext-bkgd leftborder bottomborder "+n,h=Cyberoam.createElement({tag:"td",className:y},b),C=Cyberoam.createElement({tag:"div"},h);if(""!=d[g].width&&(C.style.wordWrap="break-word",C.style.textAlign="left"),void 0!==d[g].type&&"checkbox"==d[g].type?d[g].formater(C,s[m][e.uniquefield],s[m],i,a.divid):null!=d[g].formater?d[g].formater(C,v,s[m]):C.appendChild(document.createTextNode(v)),s[m].isParent&&void 0===d[g].type&&"checkbox"!=d[g].type){h.style.background="#FFFFFF",h.colSpan=d.length;break}}(o=b).offsetHeight<25&&(o.style.height="25px");for(var N=0;N<u.length;N++)u[N].style.height=o.offsetHeight+"px";c.push(b),1==isExpanded(b.id)&&b.childNodes[0].childNodes[0].childNodes[0].click()}Cyberoam.ExpandedDivList[l]=c,createExpandDivListJSON(Cyberoam.ExpandedDivJson,l.split("_"),1),"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(a.divid).className?document.getElementById(a.divid).className="tree_dblue fa fa-caret-square-o-right---":document.getElementById(a.divid).className="tree_blue fa fa-caret-square-o-right---"}else{u=new Array,c=new Array,b=Cyberoam.createElement({tag:"tr"});$(b).insertAfter(o),-1!=document.getElementById(l).childNodes[0].childNodes[0].childNodes[0].className.indexOf("tree_dblue")?(p="tree_blue",n=" tdlevel2"):(p="tree_lblue",n=" tdlevel3");var E;h=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd tdObject treestrip "+n},b);(E=Cyberoam.createElement({tag:"div"},h)).style.width="5px",E.style.height="100%";C=Cyberoam.createElement({tag:"div",className:p},E);u.push(C);var x="tabletext-bkgd leftborder bottomborder "+n;b.setAttribute("parentTrId",l),h=Cyberoam.createElement({tag:"td",className:x,colspan:d.length+1,style:"height:25px"},b),(C=Cyberoam.createElement({tag:"div"},h)).style.textAlign="left",C.appendChild(document.createTextNode(Language.NoRecordFound)),c.push(b);for(N=0;N<u.length;N++)u[N].style.height=b.offsetHeight+"px";Cyberoam.ExpandedDivList[l]=c,createExpandDivListJSON(Cyberoam.ExpandedDivJson,l.split("_"),1),"tree_dblue fa fa-caret-square-o-down---"==document.getElementById(a.divid).className?document.getElementById(a.divid).className="tree_dblue fa fa-caret-square-o-right---":document.getElementById(a.divid).className="tree_blue fa fa-caret-square-o-right---"}null!=e.postRenderEvent&&e.postRenderEvent()};if(0!=d.length){for(var l=!1,i=0;i<e.column.length;i++)if(void 0!==e.column[i].group&&""!=e.column[i].group){l=!0;break}var n=Cyberoam.createElement({tag:"table",id:"table_"+t,cellspacing:"0",cellpadding:"0",className:"yui-dt"},a);n.style.width="100%";var s=Cyberoam.createElement({tag:"thead"},n),c="yui-dt-first yui-dt-last",m=Cyberoam.createElement({tag:"tr",className:c},s);1==l&&(trObject2=Cyberoam.createElement({tag:"tr",className:c},s)),c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable",(y=Cyberoam.createElement({tag:"th",className:c},m)).setAttribute("width","5px"),1==l&&(y.rowSpan=2),c="yui-dt-liner",(g=Cyberoam.createElement({tag:"div",className:c},y)).style.width="5px";for(i=0;i<d.length;i++){var u="auto";void 0!==(h=d[i]).width&&""!=h.width&&(u=h.width+"px");c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable";var y=Cyberoam.createElement({tag:"th",id:"td"+h.key,className:c},m);if(void 0!==h.width&&""!=h.width&&(y.width=u),1==l&&void 0===h.group&&(y.rowSpan=2),c="yui-dt-liner",(g=Cyberoam.createElement({tag:"div",id:"divHeader"+h.key,className:c},y)).style.width=u,g.style.cssFloat="left",g.style.styleFloat="left",void 0!==h.label&&g.appendChild(document.createTextNode(Cyberoam.getTranslatedMSG(h.label))),void 0!==h.group&&""!=h.group){y.colSpan=h.group.length;for(var b=0;b<e.column[i].group.length;
5019b++)if(void 0===e.column[i].group[b].type||"hidden"!=e.column[i].group[b].type){var h,p="width:auto";""!=(h=e.column[i].group[b]).width&&(p="width:"+h.width+"px;"),c="yui-dt94-col-hosttype yui-dt-col-hosttype yui-dt-sortable";y=Cyberoam.createElement({tag:"td",title:h.label,className:c},trObject2);""!=h.width&&y.setAttribute("width",h.width),c="yui-dt-liner";var g=Cyberoam.createElement({tag:"div",style:p,className:c},y);Cyberoam.createElement({tag:"span",className:"yui-dt-label"},g).innerHTML=h.label}}}}if(e.data.length>0)for(var f=Cyberoam.createElement({tag:"tbody"},n),v=0;v<e.data.length;v++){var C=new Array;c="tabletext-bkgd",m=Cyberoam.createElement({tag:"tr",id:"tr"+e.data[v][e.uniquefield],class:"yui-dt-rec yui-dt-odd"},f),y=null;if(y=Cyberoam.createElement({tag:"td",id:"td"+e.data[v][e.uniquefield],className:c+" treecolumntd treestrip"},m),(w=Cyberoam.createElement({tag:"div"},y)).style.width="5px",w.style.height="100%",void 0!==e.data[v].hasChild&&1==e.data[v].hasChild){var N="tree_dblue fa fa-caret-square-o-down---";g=Cyberoam.createElement({tag:"div",className:N,id:"div"+e.data[v][e.uniquefield]},w),m.onmouseover=function(){this.style.cursor="pointer"},m.onmouseout=function(){this.style.cursor="default"}}else{N="tree_lastrecord_white";g=Cyberoam.createElement({tag:"div",className:N,id:"div"+e.data[v][e.uniquefield]},w)}g.setAttribute("rowid",e.data[v][e.uniquefield]),g.setAttribute("rowindex",YAHOO.lang.JSON.stringify(e.data[v])),g.row=v,g.tableLevel=e.tableLevel,g.rowId=e.data[v][e.uniquefield],g.totalRecords=e.data.length,C.push(g),void 0!==e.data[v].hasChild&&1==e.data[v].hasChild&&(g.parentNode.parentNode.parentNode.onclick=function(){r(this.childNodes[0].childNodes[0].childNodes[0],e,0)});for(i=0;i<d.length;i++)if(void 0!==e.column[i].group&&""!=e.column[i].group){for(b=0;b<e.column[i].group.length;b++)if(void 0===e.column[i].group[b].type||"hidden"!=e.column[i].group[b].type){var E="";void 0!==e.data[v][e.column[i].group[b].key]&&(E=e.data[v][e.column[i].group[b].key]),c="tabletext-bkgd leftborder bottomborder tdlevel1";y=Cyberoam.createElement({tag:"td",className:c},m),g=Cyberoam.createElement({tag:"div",style:"width:100%;",className:"yui-dt-liner"},y);if(null!=e.column[i].group[b].formater?e.column[i].group[b].formater(g,E,e.data[v]):g.appendChild(document.createTextNode(E)),e.data[v].isParent&&void 0===d[i].type&&"checkbox"!=d[i].type){y.colSpan=d.length;break}}}else{if(void 0!==d[i].type&&"hidden"==d[i].type)continue;E="";void 0!==e.data[v][d[i].key]&&(E=e.data[v][d[i].key]),c="tabletext-bkgd leftborder bottomborder tdlevel1";y=Cyberoam.createElement({tag:"td",className:c},m),g=Cyberoam.createElement({tag:"div",className:"yui-dt-liner"},y);if(""!=d[i].width&&(g.style.wordWrap="break-word",g.style.textAlign="left"),void 0!==d[i].type&&"checkbox"==d[i].type?d[i].formater(g,e.data[v][e.uniquefield],e.data[v],e.tableLevel,""):null!=d[i].formater?d[i].formater(g,E,e.data[v]):g.appendChild(document.createTextNode(E)),e.data[v].isParent&&void 0===d[i].type&&"checkbox"!=d[i].type){y.colSpan=d.length;break}}m.offsetHeight<25&&(m.style.height="25px");for(var x=0;x<C.length;x++)C[x].style.height=m.offsetHeight+"px";void 0!==Cyberoam.ExpandedDivJson["tr"+e.data[v][e.uniquefield]]&&m.childNodes[0].childNodes[0].childNodes[0].click()}else{var w;C=new Array,m=Cyberoam.createElement({tag:"tr",className:"yui-dt-rec yui-dt-first yui-dt-even"},s);(y=Cyberoam.createElement({tag:"td",className:"tabletext-bkgd leftborder bottomborder tdlevel1"},m)).style.background="#FFFFFF",(w=Cyberoam.createElement({tag:"div"},y)).style.width="5px",w.style.height="100%";g=Cyberoam.createElement({tag:"div",className:"tree_lastrecord_white"},w);C.push(g),y=Cyberoam.createElement({tag:"td",className:"yui-dt-empty",colspan:d.length+1,style:"height:25px"},m),"undefined"!=typeof parentTrId&&(m.setAttribute("parentTrId",parentTrId),y.style.backgroundColor=backColor),(g=Cyberoam.createElement({tag:"div",className:"yui-dt-liner"},y)).style.textAlign="left",g.appendChild(document.createTextNode(Language.NoRecordFound));for(x=0;x<C.length;x++)C[x].style.height=m.offsetHeight+"px"}null!=e.postRenderEvent&&e.postRenderEvent()};var setVisibleHideRow=function(e,t){if(void 0!==Cyberoam.ExpandedDivList[e]){var a=0;if("Show"==t)for(var d=0;d<document.getElementById(e).childNodes[0].childNodes[0].childNodes.length;d++){var r=document.getElementById(e).childNodes[0].childNodes[0].childNodes[d];"tree_dblue fa fa-caret-square-o-down---"!=r.className&&"tree_blue fa fa-caret-square-o-down---"!=r.className||(a=1)}if(0==a)for(var o=0;o<Cyberoam.ExpandedDivList[e].length;o++){var l=Cyberoam.ExpandedDivList[e][o];"Hide"==t?l.style.display="none":0==a&&(l.style.display="")}}if(void 0!==Cyberoam.ExpandedDivList[e])for(o=0;o<Cyberoam.ExpandedDivList[e].length;o++){l=Cyberoam.ExpandedDivList[e][o];setVisibleHideRow(l.id,t)}};function createExpandDivListJSON(e,t,a){var d=t[a-1];
5019return void 0===e[d]&&(e[d]={}),t.length>a&&(e[d]=createExpandDivListJSON(e[d],t,a+1)),e}function isExpanded(e){for(var t=e.split("_"),a=Cyberoam.ExpandedDivJson,d=0;d<t.length;d++){if(void 0===a[t[d]])return 0;a=a[t[d]]}return 1}var EventListener={listen:function(e,n,t){return e.addEventListener?(e.addEventListener(n,t,!1),{remove:function(){e.removeEventListener(n,t,!1)}}):e.attachEvent?(e.attachEvent("on"+n,t),{remove:function(){e.detachEvent("on"+n,t)}}):void 0}};function isNodeInRoot(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}var DropdownStateMixin={getInitialState:function(){return{open:!1}},setDropdownState:function(n,e){this.props.noBindCloseHandlers||(n?this.bindRootCloseHandlers():this.unbindRootCloseHandlers()),this.setState({open:n},e)},handleDocumentKeyUp:function(n){27===n.keyCode&&this.setDropdownState(!1)},handleDocumentClick:function(n){isNodeInRoot(n.target,ReactDOM.findDOMNode(this))||this.setDropdownState(!1)},bindRootCloseHandlers:function(){this._onDocumentClickListener=EventListener.listen(document,"click",this.handleDocumentClick),this._onDocumentKeyupListener=EventListener.listen(document,"keyup",this.handleDocumentKeyUp)},unbindRootCloseHandlers:function(){this._onDocumentClickListener&&this._onDocumentClickListener.remove(),this._onDocumentKeyupListener&&this._onDocumentKeyupListener.remove()},componentWillUnmount:function(){this.unbindRootCloseHandlers()}};var alertMenuConfig={menuLabel:"",menuClass:"toplink",menuIconClass:"toplinkicon",menuClassSelect:"toplink toplink_select",menuIconClassSelect:"toplinkicon toplinkicon_select",menuItems:[{isItemIconDiv:!0,itemIconClass:"",label:"Alert 1",funcName:testFunction,index:1},{isItemIconDiv:!0,itemIconClass:"",label:"Alert 2",funcName:testFunction,index:2},{isItemIconDiv:!0,itemIconClass:"",label:"alert 2",funcName:testFunction,index:2}]},MenuItem=React.createClass({displayName:"MenuItem",handleClick:function(e){this.props.menuItem.noClick||(this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e))},render:function(){var e;if(this.props.menuItem.isLoadding)e=React.createElement("li",{style:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"5px"}},React.createElement("i",{className:"fa fa-spinner"}));else if(this.props.menuItem.isItemIconDiv)if(this.props.menuItem.multilineLabel){const t=[];this.props.menuItem.labels.forEach((function(e,a){t.push(React.createElement("span",0===a?null:{className:"small-notes"},e))})),e=React.createElement("li",{className:"multiline-label"},React.createElement("i",{className:this.props.menuItem.iconClass}),React.createElement("span",null,t))}else e=React.createElement("li",null,React.createElement("a",{href:"#",onClick:this.handleClick},React.createElement("i",{className:this.props.menuItem.iconClass}),React.createElement("p",null,this.props.menuItem.label)));else e=this.props.menuItem.isSeparator?React.createElement("li",null,React.createElement("hr",{className:this.props.menuItem.itemClass})):React.createElement("li",null,React.createElement("a",{href:"#",onClick:this.handleClick,className:this.props.menuItem.itemClass},this.props.menuItem.label));return e}}),MenuList=React.createClass({displayName:"MenuList",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(MenuItem,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),AccountDropDownWrapper=React.createClass({displayName:"AccountDropDownWrapper",getInitialState:function(){return this.fetchHAInfo=this.fetchHAInfo.bind(this),{isHAEanbled:!1,title:this.props.accDropDownConfig.title,haInfo:this.props.accDropDownConfig.haInfo,accMenuItems:[],accMenuTitleClass:""}},getTitleFromHAstates:function(e){return e.haconfigmode===HAConfigurationHelper.ACTIVE_PASSIVE_MODE?Cyberoam.getTranslatedMSG("Language.Active_Passive_Cluster"):Cyberoam.getTranslatedMSG("Language.Active_Active_Cluster")},fetchHAInfo:function(){const e=[];e.push({isLoadding:!0,index:2}),e.push({isSeparator:!0,itemClass:"ha-separator",index:3}),this.setState({accMenuItems:e}),Cyberoam.AJAXCall({overlay:!1,url:"/Controller",query:"mode="+Modes.READ_RECORD+"&operation="+Modes.ENABLE_HA,postResponse:function(e){const t=YAHOO.lang.JSON.parse(e).Record;if(t?.haMode==HAConfigurationHelper.ENABLE)this.prepareHAInfo({haconfigmode:t.haConfigMode,nodename:t.nodename,peerappkey:t.auxiliaryAppKey,peer_nodename:t.peer_nodename,peerstatus:t.peerStatus,ownstatus:t.ownStatus,ownappkey:t.primaryAppKey,hamode:t.haMode,status:HAConfigurationHelper.HA_CONFIGURED});else{var a=Cyberoam.name;this.props.encodedHostname&&(a=a+"@"+this.props.encodedHostname),this.setState({accMenuItems:[],title:a,accMenuTitleClass:"",isHAEanbled:!1})}}.bind(this)})},prepareHAInfo:function(e){const t=[];var a=this.getTitleFromHAstates(e);void 0!==a&&t.push({label:a,noClick:!0,itemClass:"simple-text"});var s=this.getHAModeAndColour(e);const n=s.titleClass||"";t.push({labels:[Cyberoam.getTranslatedMSG("Language."+s.currDevice)+" ("+Cyberoam.getTranslatedMSG("Language.HA_"+s.currState)+")",e.nodename,e.ownappkey],multilineLabel:!0,isItemIconDiv:!0,iconClass:"icon-status "+s.currColourClass,index:1}),t.push({labels:[Cyberoam.getTranslatedMSG("Language."+s.peerDevice)+" ("+Cyberoam.getTranslatedMSG("Language.HA_"+s.peerState)+")",e.peer_nodename,e.peerappkey],multilineLabel:!0,isItemIconDiv:!0,iconClass:"icon-status "+s.peerColourClass,index:2}),t.push({isSeparator:!0,itemClass:"ha-separator",index:3});
5019var o=e.nodename;this.props.encodedHostname&&(o=o+"-"+this.props.encodedHostname),this.setState({accMenuItems:[...t],accMenuTitleClass:n,title:o})},getHAModeAndColour:function(e){var t=peerDevice=HAConfigurationHelper.AUXILIARY_DEV,a=peerColourClass="status-green",s=peerState="";const n=HAConfigurationHelper.MODES[e.ownstatus],o=HAConfigurationHelper.MODES[e.peerstatus];if(e.hamode===HAConfigurationHelper.ENABLE){var i="ha-title ";switch(n){case HAConfigurationHelper.MODES[HAConfigurationHelper.NOT_AVAILABLE]:a="status-gray";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.FAULT]:a="status-red",peerDevice=HAConfigurationHelper.PRIMARY_DEV;break;case HAConfigurationHelper.MODES[HAConfigurationHelper.AUXILIARY]:break;case HAConfigurationHelper.MODES[HAConfigurationHelper.STANDALONE]:t=HAConfigurationHelper.PRIMARY_DEV,a="status-orange";break;default:t=HAConfigurationHelper.PRIMARY_DEV}switch(o){case HAConfigurationHelper.MODES[HAConfigurationHelper.NOT_AVAILABLE]:peerColourClass="status-gray";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.FAULT]:peerColourClass="status-red";break;case HAConfigurationHelper.MODES[HAConfigurationHelper.PRIMARY]:peerDevice=HAConfigurationHelper.PRIMARY_DEV;break;case HAConfigurationHelper.MODES[HAConfigurationHelper.STANDALONE]:peerColourClass="status-orange"}return n===HAConfigurationHelper.PRIMARY_DEV&&o===HAConfigurationHelper.AUXILIARY_DEV||n===HAConfigurationHelper.AUXILIARY_DEV&&o===HAConfigurationHelper.PRIMARY_DEV?(i+="title-green",e.haconfigmode===HAConfigurationHelper.ACTIVE_PASSIVE_MODE?t===HAConfigurationHelper.PRIMARY_DEV?(s="Active",peerState="Passive"):(s="Passive",peerState="Active"):s=peerState="Active"):(i+="title-orange",s=n.replaceAll(" ",""),peerState=o.replaceAll(" ","")),{currDevice:t,peerDevice:peerDevice,currColourClass:a,peerColourClass:peerColourClass,currState:s,peerState:peerState,titleClass:i}}},componentDidMount:function(){const{haInfo:e}=this.props.accDropDownConfig;if(e?.status===HAConfigurationHelper.HA_CONFIGURED){var t=this.getHAModeAndColour(e);this.setState({accMenuTitleClass:t.titleClass||"",isHAEanbled:!0})}},render:function(){const{accDropDownConfig:e}=this.props,t={...e,menuClass:"acc-btn",menuClassSelect:"selected",menuIconClass:"fa fa-caret-down",menuDropDownClass:"menu",titleClass:this.state.accMenuTitleClass||"",menuItems:[...this.state.accMenuItems,...e?.menuItems||[]],title:this.state?.title?.length>40?this.state.title.substring(0,40)+"...":this.state.title,onClick:async()=>{try{this.state.isHAEanbled&&this.fetchHAInfo()}catch(e){console.error("Error in dropdown onClick handler:",e)}}};return React.createElement(DropDownMenu,{config:t})}}),DropDownMenu=React.createClass({displayName:"DropDownMenu",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1}},handleClick:function(e){e.preventDefault(),this.props.config.shouldStateChange&&"function"==typeof this.props.config.shouldStateChange&&!this.props.config.shouldStateChange()||(this.state.open||(this.setState({hoverVictim:!this.state.hoverVictim}),"function"==typeof this.props.config?.onClick&&this.props.config?.onClick()),this.setDropdownState(!this.state.open))},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},componentDidUpdate:function(){if(this.state.open&&this.props.config.postUpdate&&"function"==typeof this.props.config.postUpdate){var e=ReactDOM.findDOMNode(this.refs.dropDownMenu);this.props.config.postUpdate.call(this,e)}},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select",ref:"dropDownMenu"},React.createElement("a",{className:"selected",href:"#"},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass})),React.createElement(MenuList,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",{href:"#",className:""},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass}))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",{href:"#",className:""},React.createElement("span",{className:"title "+this.props.config.titleClass},this.props.config.title),React.createElement("i",{className:this.props.config.menuIconClass})))}}),MenuButton=React.createClass({displayName:"MenuButton",getInitialState:function(){return{mouseOver:!1}},handleClick:function(e){this.props.config.funcName&&this.props.config.funcName(this)},handleMouseOver:function(e){this.setState({mouseOver:!0})},handleMouseOut:function(e){this.setState({mouseOver:!1})},render:function(){return React.createElement("div",{onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,onClick:this.handleClick,className:this.props.config.buttonclass},React.createElement("a",{href:"#"},React.createElement("i",{className:this.props.config.iconclass}),React.createElement("span",{className:"title"},this.props.config.title)))}}),MenuItemDesc=React.createClass({displayName:"MenuItemDesc",handleClick:function(e){this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e)},render:function(){return React.createElement("li",{onClick:this.handleClick},React.createElement("div",null,React.createElement("div",{className:this.props.menuItem.imageClass}),React.createElement("a",{href:"#"},this.props.menuItem.label)),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)))}}),MenuListDesc=React.createClass({displayName:"MenuListDesc",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(MenuItemDesc,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),DropDownMenuDesc=React.createClass({displayName:"DropDownMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open)},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select"},React.createElement("a",{className:"selected"},React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)),React.createElement(MenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass+"_select",style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)))}}),ApplianceLogo=React.createClass({displayName:"ApplianceLogo",render:function(){return React.createElement("div",{id:this.props.config.id},React.createElement("a",{href:"#"},React.createElement("img",{src:this.props.config.imgsrc})))}}),OverlayWrapper=React.createClass({displayName:"OverlayWrapper",render:function(){return React.createElement("div",{className:this.props.overlayclass},this.props.children)}}),testFunction=function(e,t){console.log("Function Called : "+t)};function Reset_Order(){var e={username:Cyberoam.loginUserName,reset:1};Cyberoam.AJAXCall({url:"/Controller",dataType:"json",query:"mode="+Modes.SET_USER_DASHBOARD+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(e)),postResponse:AjaxResponse1,id:2})}function createPolicyAddBtn(e){var t=[{label:Language.NetworkPolicy,desc:Language.NPDesc,imageClass:"dropdown-policy-icon icon-network-allow-enabled fg-allow",funcName:function(t,a){Cyberoam.showPopupInline({URL:"/firewall/NetworkPolicyEdit.html?mode=300&o
5019peration="+Modes.FIREWALL_RULE_ADD+"&ipType="+e+"&Entity=securitypolicy",title:Language.Add+" "+Language.NetworkPolicy}),setPolicyPageBreadCrumb(a)},index:1},{label:Language.BusinessAppPolicy,desc:Language.BAPDesc,imageClass:"dropdown-policy-icon icon-business-allow-enabled fg-allow",funcName:function(t,a){Cyberoam.showPopupInline({URL:"/firewall/policy.html?mode=300&operation="+Modes.FIREWALL_RULE_ADD+"&ipType="+e,title:Language.Add+" "+Language.BusinessAppPolicy}),setPolicyPageBreadCrumb(a)},index:2}],a={menuClass:"paginatorAddBtnDesc",menuClassSelect:"selected",menuIconClass:"addRecordIcon",menuDropDownClass:"btnDropDownDesc",title:Language.AddNewPolicy,menuItems:t};ReactDOM.render(React.createElement(DropDownMenuDesc,{config:a}),document.getElementById("addPolicyBtn"))}function comboChanged(e){}function afterAddItem(){}function afterDeleteItem(){}ComboItem=React.createClass({displayName:"ComboItem",handleClick:function(e){this.props.onClick(e,this.props.menuItem)},render:function(){return this.props.menuItem.isItemIconDiv?React.createElement("li",{onClick:this.handleClick},React.createElement("i",{className:this.props.menuItem.itemIconClass}),React.createElement("label",null,this.props.menuItem.label)):React.createElement("li",{onClick:this.handleClick},React.createElement("label",null,this.props.menuItem.label))}}),ComboList=React.createClass({displayName:"ComboList",handleClick:function(e,t){this.props.onClick(e,t)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(ComboItem,{key:a,onClick:this.handleClick,menuItem:t}))}),this),React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),ComboBox=React.createClass({displayName:"ComboBox",mixins:[DropdownStateMixin],getInitialState:function(){for(var e={},t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==this.props.config.defaultSelected){e=this.props.config.menuItems[t];break}return{currentSelectedObject:e}},getSelectedKey:function(){return this.state.currentSelectedObject.key},selectNodesByKeys:function(e){for(var t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==e)return void this.setState({currentSelectedObject:this.props.config.menuItems[t]})},addElement:function(e){this.props.config.menuItems.push(e)},deleteElement:function(e){for(var t=0;t<this.props.config.menuItems.length;t++)if(this.props.config.menuItems[t].key==e)return void this.props.config.menuItems.splice(t,1)},handleClick:function(e,t){e.preventDefault(),null!=t&&-1==t.toString().indexOf(".")&&(this.setState({currentSelectedObject:t}),this.props.config.onChange&&this.props.config.onChange(t.key)),this.setDropdownState(!this.state.open)},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,ref:"parentDiv",className:this.props.config.menuClassSelect},React.createElement("i",{className:this.state.currentSelectedObject.itemIconClass}),React.createElement("div",{className:"title"},React.createElement("label",null,null!=this.state.currentSelectedObject.label?this.state.currentSelectedObject.label:this.props.config.noSelection),React.createElement("i",{className:"fa fa-caret-up "+this.props.config.dropDownIconClass})),React.createElement(ComboList,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems})):React.createElement("div",{onClick:this.handleClick,ref:"parentDiv",className:this.props.config.menuClass,title:this.state.currentSelectedObject.label},React.createElement("i",{className:this.state.currentSelectedObject.itemIconClass}),React.createElement("div",{className:"title"},React.createElement("label",null,null!=this.state.currentSelectedObject.label?this.state.currentSelectedObject.label:this.props.config.noSelection),React.createElement("i",{className:"fa fa-caret-down "+this.props.config.dropDownIconClass})))}});var cmbviewsThird=null,cmbviewsForth=null,groupjsonid=0,foruthLevelid=0;function thirdLevelMenuItem(){if(null!=groupjson){for(var e=new Array,t=groupjson.length-1;t>=0;t--){var a=groupjson[t];e.push({label:Cyberoam.getTranslatedMSG(a.label),key:a.groupjsonid})}ComboBoxConfig={menuClass:"thirdLevelMenu",menuIconClass:"",menuClassSelect:"thirdLevelMenu",menuDropDownClass:"thirdMenuDropdown",dropDownIconClass:"fa fa-chevron-down fa-1x",noSelection:"Select View",defaultSelected:groupjsonid,onChange:function(e){getSelectedThirdMenu(e)},afterAdd:"",afterDelete:"",menuItems:e},cmbviewsThird=ReactDOM.render(React.createElement(ComboBox,{config:ComboBoxConfig}),$("#thirdLevelMenu")[0])}else $("#menuLevelDiv").css("display","none")}function getSelectedThirdMenu(e){if(e!=groupjsonid){foruthLevelid=0,groupjsonid=e;var t=fourthLevelMenuItem();null!=t?Cyberoam.setMainFrame(""+t):(cmbviewsForth.selectNodesByKeys("0"),callSetMainFrame(0))}}function fourthLevelMenuItem(){if(null!=groupjson){for(var e=null,t=null,a=new Array,s=0;s<groupjson.length;s++){var n=groupjson[s];if(groupjsonid==groupjson[s].groupjsonid){groupjson[s].hasOwnProperty("childNodes")?e=n.childNodes:groupjson[s].hasOwnProperty("url")&&(t=n.url);break}}if(null!=e){$("#fourthLevelMenu").css("display","block"),$("#arrowicon").css("display","block");for(var o=0;o<e.length;o++)if(e[o].hasOwnProperty("url")){t=e[o].url;a.push({label:Cyberoam.getTranslatedMSG(e[o].label),key:o})}return ComboBoxConfig={menuClass:"forthLevelMenu",menuIconClass:"",menuClassSelect:"forthLevelMenu",menuDropDownClass:"thirdMenuDropdown",dropDownIconClass:"fa fa-chevron-down fa-1x",noSelection:"Select View",defaultSelected:foruthLevelid,onChange:function(e){callSetMainFrame(e)},afterAdd:"",afterDelete:"",menuItems:a},waitFourthMenuDivCreation(),null}return $("#fourthLevelMenu").css("display","none"),$("#arrowicon").css("display","none"),t}$("#menuLevelDiv").css("display","none")}function waitFourthMenuDivCreation(){$("#fourthLevelMenu").length<1?window.setTimeout(waitFourthMenuDivCreation,100):cmbviewsForth=ReactDOM.render(React.createElement(ComboBox,{config:ComboBoxConfig}),$("#fourthLevelMenu")[0])}function callSetMainFrame(e){foruthLevelid=e;for(var t=0;t<groupjson.length;t++){var a=groupjson[t];if(groupjsonid==a.groupjsonid){if(a.hasOwnProperty("childNodes")){var s=a.childNodes;s[foruthLevelid].hasOwnProperty("url")&&Cyberoam.setMainFrame(""+s[foruthLevelid].url)}break}}}function createIfaceBtn(e){var t=[{label:Language.AddBridge,funcName:function(){Cyberoam.setMainFrame("/network/BridgePairEdit.html?mode=300&o
5019peration="+Modes.ADD_BRIDGE_PAIR)},index:1},{label:Language.AliasAddHeader,funcName:function(){Cyberoam.setMainFrame("/network/AliasEdit.html?mode=300&operation="+Modes.ALIAS_INTERFACE_ADD)},index:2},{label:Language.AddVLANHdr,funcName:function(){Cyberoam.setMainFrame("/network/VLANEdit.html?mode=300&operation="+Modes.VLAN_INTERFACE_ADD)},index:3},{label:Language.AddLAG,funcName:function(){Cyberoam.setMainFrame("/network/LinkAggregationEdit.html?mode=300&operation="+Modes.CREATE_LINK_AGGREGATION)},index:4}];1==Cyberoam.deviceProperty.redavailability&&t.push({label:Language.ADDRED,funcName:function(){if(1==e)Cyberoam.setMainFrame("/network/REDInterfaceEdit.html?mode=300&operation="+Modes.RED_CLIENT_ADD);else if(2===e){var t=Language.REDSophosPrivacyPolicy4;Cyberoam.messageBox({message:t,redeula:!0,headerMessage:Language.REDEulaAccept,confirm:!0,okLabel:Language.Accept,afterOk:function(){var e={Entity:"redconfiguration",red_eula:"1",Event:"UPDATE",status:"1"};Cyberoam.AJAXCall({url:"/Controller",method:"POST",dataType:"json",query:"mode="+Modes.RED_GLOBAL_SETTINGS+"&json="+encodeURIComponent(YAHOO.lang.JSON.stringify(e)),postResponse:function(e){e=JSON.parse(JSON.stringify(e)),Cyberoam.setStatusBarMessage(Cyberoam.getTranslatedMSG(e.message),e.status),200==e.status&&Cyberoam.setMainFrame("/network/REDInterfaceEdit.html?mode=300&operation="+Modes.RED_CLIENT_ADD)}})}})}else Cyberoam.messageBox({message:Language.REDDisableMessage,confirm:!1})},index:5});var a={menuClass:"paginatorAddBtn",menuClassSelect:"selected",menuIconClass:"fa fa-chevron-down fa-1x",menuDropDownClass:"btnDropDown",title:Language.AddInterface,menuItems:t};ReactDOM.render(React.createElement(DropDownMenu,{config:a}),document.getElementById("addIfaceBtn"))}MoreOptionsControl=React.createClass({propTypes:{enableToggle:React.PropTypes.object,options:React.PropTypes.array},mixins:[DropdownStateMixin],handleClick:function(){this.setDropdownState(!this.state.open)},render:function(){return React.DOM.div({className:"policy-icon more-option-icon",onClick:this.handleClick},this.state.open?React.createElement(MoreOptionsDropdown,{enableToggle:this.props.enableToggle,options:this.props.options}):null)}}),MoreOptionsDropdown=React.createClass({propTypes:{enableToggle:React.PropTypes.object,options:React.PropTypes.array},render:function(){var e=[];return this.props.enableToggle&&e.push(React.createElement(MoreOptionsEnableToggle,this.props.enableToggle)),this.props.options&&this.props.options.forEach((function(t){e.push(React.createElement(MoreOptionsItem,t))})),React.DOM.div({className:"more-options-control-dropdown"},e)}}),MoreOptionsEnableToggle=React.createClass({propTypes:{isEnabled:React.PropTypes.bool,handleClick:React.PropTypes.func},render:function(){return React.DOM.div({className:"more-options-control-enable-container",onClick:this.props.handleClick},[React.DOM.input({checked:this.props.isEnabled===Cyberoam.DB.TRUE,type:"checkbox"}),React.DOM.label(null,React.DOM.div({className:"small"}))])}}),MoreOptionsItem=React.createClass({propTypes:{type:React.PropTypes.string,label:React.PropTypes.string,disabled:React.PropTypes.bool,handleClick:React.PropTypes.func},getDefaultProps:function(){return{classMap:{add:"add-icon",clone:"clone-icon",edit:"edit-icon",delete:"delete-icon"}}},getIconClassName:function(){return"policy-icon "+this.props.classMap[this.props.type]},getOptionClassName:function(){return this.props.disabled?"more-options-control-item disabled":"more-options-control-item"},render:function(){var e=[];return this.props.type&&e.push(React.DOM.div({className:this.getIconClassName()})),e.push(React.DOM.a({className:"more-options-item-label"},this.props.label)),React.DOM.div({onClick:this.props.disabled?null:this.props.handleClick,className:this.getOptionClassName()},e)}}),ManageControl=React.createClass({propTypes:{controls:React.PropTypes.array,menuPostMount:React.PropTypes.func,shouldStateChange:React.PropTypes.func},render:function(){var e=[];return this.props.controls.forEach(function(t){e.push(React.createElement(ManageControlButton,{label:t.label,type:t.type,disabled:t.disabled,inactive:t.inactive,handleClick:t.handleClick,customClassName:t.customClassName,menuItems:t.menuItems,menuPostMount:this.props.menuPostMount,shouldStateChange:this.props.shouldStateChange}))}.bind(this)),React.DOM.div({className:"expand-manage-icon-container"},e)}}
5019),ManageControlButton=React.createClass({propTypes:{customClassName:React.PropTypes.string,disabled:React.PropTypes.bool,handleClick:React.PropTypes.func,inactive:React.PropTypes.bool,label:React.PropTypes.string,menuItems:React.PropTypes.array,menuPostMount:React.PropTypes.func,shouldStateChange:React.PropTypes.func,type:React.PropTypes.string},mixins:[DropdownStateMixin],getDefaultProps:function(){var e={disabled:!1,inactive:!0};return e.classMap={base:"expand-manage-icon",add:"add-icon",clone:"clone-icon",edit:"edit-icon",remove:"delete-icon",inactive:"inactive-icon",disabled:"disabled-icon"},e},render:function(){var e=[],t={className:this.buildClassName(),title:this.props.label,onClick:this.props.handleClick?this.props.handleClick:this.handleClick};return this.props.disabled&&delete t.onClick,this.state.open&&Array.isArray(this.props.menuItems)&&e.push(React.createElement(ManageControlMenu,{menuItems:this.props.menuItems,menuPostMount:this.props.menuPostMount})),React.DOM.div(t,e)},handleClick:function(){this.props.shouldStateChange&&"function"==typeof this.props.shouldStateChange&&!this.props.shouldStateChange()||this.setDropdownState(!this.state.open)},buildClassName:function(){var e=this.props.classMap.base+" "+this.props.classMap[this.props.type];return this.props.disabled&&(e+=" "+this.props.classMap.disabled),this.props.inactive&&(e+=" "+this.props.classMap.inactive),this.props.customClassName&&(e+=" "+this.props.customClassName),e}}),ManageControlMenu=React.createClass({displayName:"ManageControlMenu",propTypes:{menuItems:React.PropTypes.array,menuPostMount:React.PropTypes.func},render:function(){var e=[];return this.props.menuItems.forEach((function(t){e.push(React.DOM.div({className:"security-policy-popup-item",onClick:t.handleClick},t.label))})),React.DOM.div({className:"security-policy-add-popup",ref:"manageControlMenu"},e)},componentDidMount:function(){"function"==typeof this.props.menuPostMount&&this.props.menuPostMount.call(this,ReactDOM.findDOMNode(this.refs.manageControlMenu),this.constructor.displayName)}}),OverlayMessage=React.createClass({propTypes:{shouldShowMessage:React.PropTypes.func},render:function(){var e,t=[];return this.props.shouldShowMessage&&"function"==typeof this.props.shouldShowMessage&&this.props.shouldShowMessage()&&(t.push(React.DOM.i({key:"overlay-icon",className:"fa fa-exclamation-circle"})),t.push(React.DOM.div({key:"overlay-text"},this.props.shouldShowMessage())),e={className:"overlay-message security-policy-add-popup",title:Language.ClickHide,onClick:this.handleClick}),React.DOM.div(e,t)},handleClick:function(){$(ReactDOM.findDOMNode(this)).hide()}});var FwMenuItemDesc=React.createClass({displayName:"FwMenuItemDesc",handleClick:function(e){this.props.menuItem.funcName&&this.props.menuItem.funcName(this,this.props.menuItem.index),this.props.onClick(e)},render:function(){var e;if(this.props.menuItem.isparent)e=React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",{className:"addtogroup"},this.props.menuItem.label),React.createElement(FwMenuListDesc,{onClick:this.handleClick,itemArray:this.props.menuItem.childarray})),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)));else if(this.props.menuItem.istoggleoption){var t=toggleArray[this.props.menuItem.id].checked,a=toggleArray[this.props.menuItem.id].disabled;e=React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",{style:{"min-height":"20px; margin-bottom:10px"}},React.createElement("div",{className:"ruleToggleRulename textellipces",style:{"padding-top":"3px",display:"inherit",width:"70%",float:"left","font-weight":"bold"}},React.createElement("label",{},this.props.menuItem.label)),React.createElement("div",{className:"ruleToggleDiv font20",style:{width:"30%",float:"right"}},React.createElement("input",{type:"checkbox",name:this.props.menuItem.idName,id:this.props.menuItem.idName,className:"ruleToggleInput",checked:t,disabled:a,onClick:this.props.menuItem.ocClickHandling},React.createElement("label",{className:"ruleToggleLabel",style:{float:"right"}},React.createElement("div",{className:"small"}))))))}else e=this.props.menuItem.iswafdependency?React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",{style:{"min-height":"30px; margin-bottom:10px"}},React.createElement("div",{className:"ruleToggleRulename textellipces",style:{"padding-top":"3px",display:"inherit",width:"50%",float:"left","font-weight":"bold"}},React.createElement("label",{},this.props.menuItem.label)),React.createElement("div",{style:{"font-size":"14px","font-weight":"bold",color:"red",width:"50%",float:"right"}},React.createElement("label",{},this.props.menuItem.dependencyLabel,React.createElement("span",{id:this.props.menuItem.idName},React.createElement("div",{className:this.props.menuItem.toolTipClassName,style:{color:"#fab95e","margin-left":"4px"},onMouseOver:this.props.menuItem.hoverInfo})))))):this.props.menuItem.isInputBox?React.createElement("li",{className:this.props.menuItem.className,onClick:this.props.menuItem.ocClickHandling},React.createElement("div",null,React.createElement("div",{style:{width:"10%;"}},React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("div",{style:{width:"auto;"}},React.createElement("a",{style:{display:"inline","padding-right":"5px;",cursor:"text"},href:"#"},Language.MoveTo),React.createElement("input",{placeholder:Language.Position,className:"movePositionInput",style:{width:"38%;",height:"20px;
5019",display:"inline","font-size":"11px"},type:"text",onKeyPress:this.props.menuItem.inputKeyPress,onKeyUp:this.props.menuItem.inputKeyUp,onMouseOver:this.props.menuItem.hoverInfo}))),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc))):this.props.menuItem.isgroupoption?React.createElement("li",{className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",{style:{width:"10%;"}},React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("div",{style:{width:"90%;"}},React.createElement("a",{onClick:this.handleClick,href:"#",title:this.props.menuItem.label},this.props.menuItem.label),React.createElement("div",{onClick:this.props.menuItem.deleteGroup,style:{"margin-top":"4px;"},className:this.props.menuItem.deleteIconClass}))),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc))):React.createElement("li",{onClick:this.handleClick,className:this.props.menuItem.className},React.createElement("div",null,React.createElement("div",null,React.createElement("div",{style:{"margin-top":"4px;"},className:this.props.menuItem.menuIconClass||"policy-icon"})),React.createElement("a",{href:"#",title:this.props.menuItem.label},this.props.menuItem.label)),React.createElement("div",null,React.createElement("span",null,this.props.menuItem.desc)));return e}}),FwMenuListDesc=React.createClass({displayName:"FwMenuListDesc",handleClick:function(e){this.props.onClick(e)},render:function(){var e=[];return this.props.itemArray.forEach((function(t,a){e.push(React.createElement(FwMenuItemDesc,{key:a,onClick:this.handleClick,menuItem:t}))}),this),this.props.customStyle&&void 0!==this.props.customStyle?React.createElement("ul",{className:this.props.menuDropDownClass,style:this.props.customStyle},e):this.props.addGroupCustomStyle&&void 0!==this.props.addGroupCustomStyle?React.createElement("ul",{className:this.props.menuDropDownClass,style:this.props.addGroupCustomStyle},e):React.createElement("ul",{className:this.props.menuDropDownClass},e)}}),FwDropDownMenuDesc=React.createClass({displayName:"FwDropDownMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1,tempStyle:null}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open);const t={position:"absolute",top:`${$(e.currentTarget).offset().top+28}px`,left:$(e.currentTarget).offset().left-168+"px",marginBottom:"10px"};this.setState({tempStyle:t})},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{onClick:this.handleClick,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_select"},React.createElement("a",{className:"selected"},React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)),React.createElement(FwMenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems,customStyle:this.state.tempStyle})):this.state.hoverVictim?React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut,className:this.props.config.menuClass+" "+this.props.config.menuClass+"_hover"},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass+"_select",style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title))):React.createElement("div",{onClick:this.handleClick,onMouseOver:this.handleMouseOver,className:this.props.config.menuClass},React.createElement("a",null,React.createElement("div",{className:this.props.config.menuIconClass,style:{float:"left"}}),React.createElement("span",{className:"title",style:{float:"left"}},this.props.config.title)))}}),FwAttachMenuDesc=React.createClass({displayName:"FwAttachMenuDesc",mixins:[DropdownStateMixin],getInitialState:function(){return{hoverVictim:!1,addGroupStyle:null}},handleClick:function(e){e.preventDefault(),this.state.open||this.setState({hoverVictim:!this.state.hoverVictim}),this.setDropdownState(!this.state.open);const t={position:"absolute",top:`${$(e.currentTarget).height()}px`,right:"-25px"};this.setState({addGroupStyle:t})},handleMouseOver:function(){this.setState({hoverVictim:!this.state.hoverVictim})},handleMouseOut:function(){this.setState({hoverVictim:!this.state.hoverVictim})},render:function(){return this.state.open?React.createElement("div",{className:"addMultiGrpBtn addMultiGrpBtn_select",style:{display:"none"},onClick:this.handleClick},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"}),React.createElement(FwMenuListDesc,{menuDropDownClass:this.props.config.menuDropDownClass,onClick:this.handleClick,itemArray:this.props.config.menuItems,addGroupCustomStyle:this.state.addGroupStyle})):this.state.hoverVictim?React.createElement("div",{className:"addMultiGrpBtn addMultiGrpBtn_hover",style:{display:"none"},onClick:this.handleClick,onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"})):React.createElement("div",{className:"addMultiGrpBtn",style:{display:"none"},onClick:this.handleClick,onMouseOver:this.handleMouseOver},React.createElement("label",{className:"title"},"Add to group"),React.createElement("div",{className:"drpIcon fa fa-sort-desc"}))}}),Checkbox=React.createClass({displayName:"Checkbox",PropTypes:{checked:React.PropTypes.bool,disabled:React.PropTypes.bool,label:React.PropTypes.string,handleClick:React.PropTypes.func},render:function(){var e=Math.random().toString(36).substr(2,6),t=function(e){this.props.disabled||this.props.handleClick(e)}.bind(this);return React.DOM.div({className:"chk-wrapper"},[React.DOM.input({id:e,type:"checkbox",checked:this.props.checked,disabled:this.props.disabled,onChange:t}),React.DOM.label({htmlFor:e},[React.DOM.span({className:"fa-stack"},[React.DOM.i({className:"fa fa-square-o fa-2x"}),React.DOM.i({className:"fa fa-check-square fa-2x chosen"})]),this.props.label])])}}),SearchBar=React.createClass({displayName:"SearchBar",propTypes:{filter:React.PropTypes.string,maxLength:React.PropTypes.string,handleSearch:React.PropTypes.func.isRequired,handleClear:React.PropTypes.func.isRequired},getInitialState:function(){return{filter:this.props.filter}},componentWillReceiveProps:function(e){this.setState({filter:this.truncateFilter(e.filter)})},render:function(){var e=[React.DOM.input({className:"search-bar-input",type:"text",value:this.state.filter,maxLength:this.props.maxLength,onChange:this.onChange,onKeyDown:this.onKeyDown}),React.DOM.span({className:"fa search-bar-icon--glass",onClick:this.search})];return this.state.filter&&e.push(React.DOM.span({className:"fa fa-times",onClick:this.clearSearch})),React.DOM.div({className:"search-bar"},e)},truncateFilter:function(e){return this.props.maxLength?e?e.substring(0,this.props.maxLength):"":e},onChange:function(e){this.setState({filter:e.target.value})},onKeyDown:function(e){13===e.keyCode&&this.props.handleSearch(e.target.value)},search:function(e){this.props.handleSearch(e.target.parentElement.children[0].value)},clearSearch:function(){this.setState({filter:""}),this.props.handleClear()}}
5019),Banner=React.createClass({displayName:"Banner",propTypes:{type:React.PropTypes.string,size:React.PropTypes.string,text:React.PropTypes.string,html:React.PropTypes.string,closeable:React.PropTypes.bool,onClose:React.PropTypes.func},getInitialState:function(){return{}},onClose:function(){this.props.onClose()},render:function(){var e={success:{icon:"fa fa-lg fa-check-circle",css:"banner--type-success"},info:{icon:"fa fa-lg fa-info-circle",css:"banner--type-info"},warn:{icon:"fa fa-lg fa-exclamation-circle",css:"banner--type-warn"},error:{icon:"fa fa-lg fa-exclamation-triangle",css:"banner--type-error"}},t="large";null!=this.props.size&&(t=this.props.size);var a=[];return a.push(React.DOM.div({key:"banner-icon",className:e[this.props.type].icon+" banner__icon"})),null!=this.props.text?a.push(React.DOM.div({key:"banner-text",className:"banner__text"},this.props.text)):null!=this.props.html&&a.push(React.DOM.div({key:"banner-text",className:"banner__text",dangerouslySetInnerHTML:{__html:this.props.html}})),this.props.closeable&&a.push(React.DOM.div({key:"banner-close-btn",className:"fa fa-times banner__close-btn",onClick:this.onClose})),React.DOM.div({key:"banner",className:"banner "+{large:"banner--size-large",medium:"banner--size-medium"}[t]+" "+e[this.props.type].css},a)}}),HealthCheckSummaryWidget=React.createClass({displayName:"FWHealthCheckSummaryWidget",propTypes:{data:React.PropTypes.shape({totalPolicyCount:React.PropTypes.number,compliantPolicyCount:React.PropTypes.number,nonCompliantPolicyCount:React.PropTypes.number,overriddenPolicyCount:React.PropTypes.number,countBySeverity:React.PropTypes.shape({compliantHighRisk:React.PropTypes.number,nonCompliantHighRisk:React.PropTypes.number,overriddenHighRisk:React.PropTypes.number,compliantMediumRisk:React.PropTypes.number,nonCompliantMediumRisk:React.PropTypes.number,overriddenMediumRisk:React.PropTypes.number,compliantLowRisk:React.PropTypes.number,nonCompliantLowRisk:React.PropTypes.number,overriddenLowRisk:React.PropTypes.number,compliantVeryLowRisk:React.PropTypes.number,nonCompliantVeryLowRisk:React.PropTypes.number,overriddenVeryLowRisk:React.PropTypes.number})}),variant:React.PropTypes.oneOf(["small","large"])},getDefaultProps:function(){return{variant:"large",data:{totalPolicyCount:0,compliantPolicyCount:0,nonCompliantPolicyCount:0,overriddenPolicyCount:0,countBySeverity:{compliantHighRisk:0,nonCompliantHighRisk:0,overriddenHighRisk:0,compliantMediumRisk:0,nonCompliantMediumRisk:0,overriddenMediumRisk:0,compliantLowRisk:0,nonCompliantLowRisk:0,overriddenLowRisk:0,compliantVeryLowRisk:0,nonCompliantVeryLowRisk:0,overriddenVeryLowRisk:0}}}},calculatePercentage:function(e,t){return 0===t?0:Math.round(e/t*100)},renderPolicyAndSeverityBreakdown:function(){var e=this.props.data||{totalPolicyCount:0,compliantPolicyCount:0,nonCompliantPolicyCount:0,overriddenPolicyCount:0,countBySeverity:{compliantHighRisk:0,nonCompliantHighRisk:0,overriddenHighRisk:0,compliantMediumRisk:0,nonCompliantMediumRisk:0,overriddenMediumRisk:0,compliantLowRisk:0,nonCompliantLowRisk:0,overriddenLowRisk:0,compliantVeryLowRisk:0,nonCompliantVeryLowRisk:0,overriddenVeryLowRisk:0}},t=e.countBySeverity||{},a=this.calculatePercentage(e.compliantPolicyCount+e.overriddenPolicyCount,e.totalPolicyCount),s=[{key:"HighRisk",label:sf.core.
5019i18nService.translate("fwHealthCheck.labels.high"),class:"sc-severity-high"},{key:"MediumRisk",label:sf.core.i18nService.translate("fwHealthCheck.labels.medium"),class:"sc-severity-medium"},{key:"LowRisk",label:sf.core.i18nService.translate("fwHealthCheck.labels.low"),class:"sc-severity-info"}];return React.createElement("div",{className:"row align-items-stretch g-2"},React.createElement("div",{className:"col-12 col-sm-12 col-md-4 col-lg-5 col-xl-5 d-flex flex-grow-1",style:{"max-width":"315px"}},React.createElement("div",{className:"w-100 d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header position-relative"},sf.core.i18nService.translate("fwHealthCheck.labels.complianceTotal"),React.createElement("span",{className:"badge ms-1 position-absolute"},e.totalPolicyCount)),React.createElement("div",{className:"row justify-content-start g-2 flex-grow-1"},React.createElement("div",{className:"col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-1 mb-sm-1 d-flex"},React.createElement("span",{className:"h4 sc-severity-info fw-bold mb-0 "+(0===a?"sc-severity-high":"sc-severity-good")},e.compliantPolicyCount+e.overriddenPolicyCount),React.createElement("span",{className:"badge small align-self-center ms-1"},this.calculatePercentage(e.compliantPolicyCount+e.overriddenPolicyCount,e.totalPolicyCount)+"%")),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},sf.core.i18nService.translate("fwHealthCheck.labels.compliant"))))),React.createElement("div",{className:"col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-1 mb-sm-1"},React.createElement("span",{className:"h4 sc-severity-info fw-bold "+(100===a?"sc-severity-info":"sc-severity-high")},e.nonCompliantPolicyCount)),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},sf.core.i18nService.translate("fwHealthCheck.labels.nonCompliant")))))))),React.createElement("div",{className:"col-12 col-sm-12 col-md-4 col-lg-1 col-xl-1 d-flex w-auto"},React.createElement("div",{className:"d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header",style:{height:"20%"}},""),React.createElement("div",{className:"vr d-none d-md-block d-lg-block d-xl-block ms-0"}))),React.createElement("div",{className:"col-12 col-sm-12 col-md-8 col-lg-6 col-xl-6 d-flex flex-grow-1",style:{"max-width":"490px"}},React.createElement("div",{className:"w-100 d-flex flex-column"},React.createElement("h6",{className:"mb-2 cc-widget-header"},sf.core.i18nService.translate("fwHealthCheck.labels.complianceBySeverity")),React.createElement("div",{className:"row justify-content-start g-2 flex-grow-1"},s.map((function(e){var a=t["compliant"+e.key]||0,s=t["nonCompliant"+e.key]||0,n=t["overridden"+e.key]||0,o=a+s+n;return(0===o||o===a+n)&&(e.class="sc-severity-info"),React.createElement("div",{key:e.key,className:"col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4"},React.createElement("div",{className:"card border-0 bg-block h-100"},React.createElement("div",{className:"card-body p-2 d-flex flex-column"},React.createElement("div",{className:"mb-2 mb-sm-1"},React.createElement("span",{className:"h4 fw-bold mb-1 mb-sm-2 mt-0 "+e.class},s),React.createElement("span",{className:"h5 fw-bold mb-1 mb-sm-2 mt-0 sc-severity-info"},"/"),React.createElement("span",{className:"h5 fw-bold mb-1 mb-sm-2 mt-0 sc-severity-info"},o)),React.createElement("h6",{className:"cc-counter text-start mb-0 py-0"},e.label))))}))))))},render:function(){var e="small"===this.props.variant?"small-widget":"large-widget";return React.createElement("div",{id:"policyAndSeverityBreakdown",className:e},this.renderPolicyAndSeverityBreakdown())}});var Breadcrumbs=React.createClass({displayName:"Breadcrumbs",render:function(){var e=[],t={paddingTop:3,paddingRight:30,paddingLeft:30};return null!=this.props.explicitCall&&1==this.props.explicitCall||this.props.data.length>1?this.props.data.forEach((function(t,a){e.push(React.createElement(Breadcrumbs.breads,{key:a,index:a,isExplicit:this.props.explicitCall,last:a===this.props.data.length-1,data:t}))}),this):t.display="none",React.createElement("ul",{style:t},e)},componentDidMount:function(){$("#breadcrumbs").show()},componentDidUpdate:function(){$("#breadcrumbs").show()}});Breadcrumbs.breads=React.createClass({displayName:"breads",handleClick:function(e){e.preventDefault(),e.stopPropagation(),this.props.data.url&&(this.props.isExplicit?this.props.data.click.call(null,this.props.data):openClickHereLink(this.props.data.url))},render:function(){var e=this.props.data.url,t=(this.props.last,this.props.index),a=Cyberoam.getTranslatedMSG(this.props.data.label);return React.createElement("li",null,React.createElement("span",null,t>0?" > ":""),e?React.createElement("a",{onClick:this.handleClick},a):React.createElement("span",null,a))}});var LeftMenu=React.createClass({displayName:"LeftMenu",activeData:null,getInitialState:function(){return{activeMenuIndexes:[]}},render:function(){var e,t,a=[],n="";
5019return this.props.navItems.forEach(function(i,s){this.isValidMenu(i)&&(e=null,i.childNodes&&(e=React.createElement("ul",null,i.childNodes.map(function(e,a){return!!this.isValidMenu(e)&&(t=Cyberoam.getTranslatedMSG(e.label),n="",this.state.activeMenuIndexes[0]==s&&this.state.activeMenuIndexes[1]==a&&(n=" active-nav "),React.createElement("li",{key:a,onClick:this.handleClick.bind(null,[s,a],e),id:"nav-"+e.id},React.createElement("a",{href:"javascript:void(0)",className:n},React.createElement("span",{title:t},t))))}.bind(this)))),t=Cyberoam.getTranslatedMSG(i.label),a.push(React.createElement("section",{key:s},React.createElement("h1",React.__spread({},this.getCategoryAttr(i,s,t),{title:t}),t),e)))}.bind(this)),React.createElement("nav",{className:"left-menu"},a)},getCategoryAttr:function(e,t,a){var n={};return(e.url||"function"==typeof e.click)&&(n={className:"base-menu-item",onClick:this.handleClick.bind(null,[t],e)},1==this.state.activeMenuIndexes.length&&this.state.activeMenuIndexes[0]==t&&(n.className+=" active-nav ")),n},isValidMenu:function(e){return e.url||"function"==typeof e.click||e.childNodes&&e.childNodes.length},handleClick:function(e,t){this.setactiveMenuIndexes(e),this.props.customHandleClick&&this.props.customHandleClick(e,t)},setactiveMenuIndexes:function(e){1==e.length?this.activeData=this.props.navItems[e[0]]:this.activeData=this.props.navItems[e[0]].childNodes[e[1]],this.setState({activeMenuIndexes:e})},getActiveMenuIndexes:function(){return this.state.activeMenuIndexes}}),CustomTab=React.createClass({displayName:"CustomTab",render:function(){var e,t,a,n,i,s=null,l="tab-header";return e=this.props.showSetting?this.props.settingTabItems:this.props.normalTabItems,t=React.createElement(MainTab,{tabItems:e,customHandleClick:this.tabHandleClick,activeTabIndex:this.props.activeCustomTabIndex}),this.props.showSetting?(a=Cyberoam.getTranslatedMSG(Language.CloseSettings).replace("{menu}",this.props.MenuAndTabRef.getMenuTitle()),s=React.createElement("label",null,Cyberoam.getTranslatedMSG(Language.Settings)),l+=" tab-openSetting"):a=Cyberoam.getTranslatedMSG(Language.ShowSettings).replace("{menu}",this.props.MenuAndTabRef.getMenuTitle()),n=React.createElement("span",{className:"tab-switch-btn"},React.createElement("span",{className:"icomoon-configuration",style:{fontSize:16}}),React.createElement("a",{href:"#",onClick:this.handleToggleLinkClick},a)),i=React.createElement("div",{className:l},s,n),React.createElement("div",null,i,t)},handleToggleLinkClick:function(){this.props?.handleToggleLinkClick()},tabHandleClick:function(e,t){this.props?.tabHandleClick(e,t)}}),CustomTabContainer=React.createClass({displayName:"CustomTabContainer",getInitialState:function(){const e=this.props.showSetting?0:this.props.activeCustomTabIndex,t=this.props.showSetting?this.props.activeCustomTabIndex:0;return{showSetting:this.props.showSetting,activeCustomTabIndex:this.props.activeCustomTabIndex,lastActiveTabIndex:{normalTab:e,settingTab:t}}},componentWillReceiveProps:function(e){this.setState({showSetting:e.showSetting,lastActiveTabIndex:{normalTab:0,settingTab:0},activeCustomTabIndex:e.activeCustomTabIndex})},updateShowSetting:function(e){this.setState({showSetting:e})},handleToggleLinkClick:function(){const{showSetting:e,lastActiveTabIndex:t}=this.state,{settingTabItems:a,normalTabItems:n}=this.props,i=!e;let s,l;i?(s=t.settingTab,l=a[s]):(s=t.normalTab,l=n[s]),this.setState({showSetting:i,activeCustomTabIndex:s}),this.props.MenuAndTabRef.loadRightPanel(l)},tabHandleClick:function(e,t){const{lastActiveTabIndex:a,showSetting:n}=this.state,i={...a};n?i.settingTab=e:i.normalTab=e,this.setState({lastActiveTabIndex:i,activeCustomTabIndex:e}),this.props.customHandleClick(e,t)},render:function(){return React.createElement(CustomTab,{tabItems:this.props.tabItems,tabHandleClick:this.tabHandleClick,normalTabItems:this.props.normalTabItems,settingTabItems:this.props.settingTabItems,showSetting:this.state.showSetting,updateShowSetting:this.updateShowSetting,activeCustomTabIndex:this.state.activeCustomTabIndex,lastActiveTabIndex:this.state.lastActiveTabIndex,MenuAndTabRef:this.props.MenuAndTabRef,tabId:this.props.tabId,handleToggleLinkClick:this.handleToggleLinkClick})}}),CustomMainTab=React.createClass({displayName:"CustomMainTab",props:{tabItems:React.PropTypes.array,selectedIndex:React.PropTypes.number},getDefaultProps:function(){return{selectedIndex:0}},getInitialState:function(){return{selectedIndex:this.props.selectedIndex}},render:function(){return React.createElement(MainTab,{tabItems:this.props.tabItems,customHandleClick:this.handleTabClick,activeTabIndex:this.state.selectedIndex})},componentDidMount:function(){var e;this.state.selectedIndex>=this.props.tabItems.length||(e=this.props.tabItems[this.state.selectedIndex])&&e.url&&Cyberoam.setMainFrame(e.url)},handleTabClick:function(e,t){t.url&&(this.setState({selectedIndex:e}),Cyberoam.setMainFrame(t.url))}}),MainTab=React.createClass({displayName:"MainTab",Tab_SHOW_COUNT:9,getInitialState:function(){return{activeTabIndex:this.props.activeTabIndex||0}},componentWillReceiveProps:function(e){0===e.activeTabIndex&&this.setState({activeTabIndex:0}),e.activeTabIndex!==this.props.activeTabIndex&&this.setState({activeTabIndex:e.activeTabIndex})},render:function(){var e,t=[],a=this.props.tabItems.length,n=window.innerWidth;n<=800?this.Tab_SHOW_COUNT=3:n<=1024?this.Tab_SHOW_COUNT=5:n<1300&&(this.Tab_SHOW_COUNT=7);var i=function(t,a){return e=Cyberoam.getTranslatedMSG(t.label),React.createElement("li",{key:t.id,onClick:this.handleClick.bind(null,a,t),className:this.state.activeTabIndex==a?" active-tab":"",title:e,id:t.id},React.createElement("div",null,e))}.bind(this);if(a>this.Tab_SHOW_COUNT+1){var s=[],l=[],c=0,r=0;if(this.state.activeTabIndex<this.Tab_SHOW_COUNT){for(c=0;c<this.Tab_SHOW_COUNT;c++)s.push(c);for(r=this.Tab_SHOW_COUNT;r<a;r++)l.push(r)}else{for(c=0;c<this.Tab_SHOW_COUNT-1;c++)s.push(c);for(s.push(this.state.activeTabIndex),r=this.Tab_SHOW_COUNT-1;r<a;r++)r!==this.state.activeTabIndex&&l.push(r)}t=s.map(function(e){return i(this.props.tabItems[e],e)}.bind(this));var o=l.map(function(e){return i(this.props.tabItems[e],e)}.bind(this));t.push(React.createElement("li",{className:"more-tabs",key:"more",onClick:this.toggleMoreTabs,title:Cyberoam.getTranslatedMSG(Language.MoreTab)},React.createElement("i",{style:{fontSize:18},className:"fa fa-ellipsis-h","aria-hidden":"true"}),React.createElement("ul",null,o)))}else t=this.props.tabItems.map(function(e,t){return i(e,t)}.bind(this));return React.createElement("nav",{className:"tabs-nav"},React.createElement("ul",{id:"tabs-"+this.props.tabId},t))},handleClick:function(e,t){this.setState({activeTabIndex:e}),this.props.customHandleClick&&this.props.customHandleClick(e,t)},toggleMoreTabs:function(){}}
5019),MenuAndTab=function(e,t,a){var n=null,i=null,s=null,l={navItems:null,leftMenuElement:e,tabElement:document.getElementById("main-tab-container"),currentData:null,init:function(e,t){this.navItems=this.filterNavItem($.extend(!0,[],e)),n=ReactDOM.render(React.createElement(LeftMenu,{navItems:this.navItems,customHandleClick:this.menuCustomHandleClick.bind(this)}),this.leftMenuElement,t),ReactDOM.render(React.createElement(GlobalSearchComponent,{maxLength:GlobalSearchComponentConstants.maxLength,handleSearch:this.searchMenuItems.bind(this),onItemClick:this.onItemClick.bind(this)}),document.getElementById("menu-search-container"))},update:function(e,t){var a=null;a=(t=t||{}).loadMenuIndex?function(){this.setMenuByIndexes(t.loadMenuIndex,{triggerClick:!0})}.bind(this):function(){var e=t.reload||!1,a=t.url||this.currentData&&this.currentData[0].url;a&&this.displayMenuByURL(a,{reload:e})}.bind(this),this.init(e,a)},filterNavItem:function(e,t){return e.filter(function(e){return e.childNodes&&(e.childNodes=this.filterNavItem(e.childNodes,e.module)),this.validateNavItem(e,t)}.bind(this))},validateNavItem:function(e,t){return(null==e.visible||1==e.visible)&&(e.module||(e.module=t||""),!(e.validator&&"function"==typeof e.validator&&!e.validator(e.module,e.aclEntity)))},menuCustomHandleClick:function(e,t){"function"==typeof t.click?(this.createTabs(),t.click()):t.url?(this.loadRightPanel(t),this.createTabs()):t.childNodes&&t.childNodes.length&&(this.loadRightPanel(t.childNodes[0]),this.createTabs(t.childNodes,null,t.id))},createTabs:function(e,t,a){if(this.tabElement){if(!e||0==e.length)return i=ReactDOM.render(React.createElement(MainTab,{tabItems:[],activeTabIndex:-1}),this.tabElement),void(this.tabElement.style.display="none");this.tabElement.style.display="block";var n,s=null,l=!1,c=[],r=[],o=!1;e.forEach(function(e,a){e.realItemIndex=a,"setting"==e.tabtype?(n=r.push(e),t==a&&(s=n-1,o=!0),l=!0):(n=c.push(e),t==a&&(s=n-1))}.bind(this)),s=s||0,l?(t=o?r[s].realItemIndex:c[s].realItemIndex,i=ReactDOM.render(React.createElement(CustomTabContainer,{tabItems:e,customHandleClick:this.tabCustomHandleClick.bind(this),activeTabIndex:t,normalTabItems:c,settingTabItems:r,showSetting:o,activeCustomTabIndex:s,MenuAndTabRef:this,tabId:a}),this.tabElement)):i=ReactDOM.render(React.createElement(MainTab,{tabItems:e,customHandleClick:this.tabCustomHandleClick.bind(this),activeTabIndex:s,tabId:a}),this.tabElement)}},getActiveMenuAndTabIndexes:function(){var e=this.getActiveMenuIndexes();return e?(this.getActiveTabIndex()>=0&&e.push(this.getActiveTabIndex()),e):null},getActiveMenuIndexes:function(){var e=n.getActiveMenuIndexes();return e&&e.length?e.slice(0):null},getActiveTabIndex:function(){return i?i.props.activeTabIndex:-1},tabCustomHandleClick:function(e,t){t.url&&this.loadRightPanel(t)},loadRightPanel:function(e,t){if(this.currentData=e?[e]:null,t=t||e&&e.url){var a=null;e&&e.appController?Cyberoam.appController=e.appController:Cyberoam.appController=Cyberoam.defaultController,e&&e.type&&(a=e.type),1==a?(t=Cyberoam.contextPath+t,window.open(t,"_blank"),window.focus()):(Cyberoam.xhrPool.abortAll(),Cyberoam.setMainFrame(t))}},displayMenuByURL:function(e,t){t=t||{};var a=this.findUrlInMenu(e,this.navItems,0,[],t.parentUrl),i=a.indexPath,s=a.urlData;if(i)if(n.setactiveMenuIndexes(i.slice(0,2)),0!=t.reload&&this.loadRightPanel(s,e),i.length>2){var l=this.navItems[i[0]].childNodes[i[1]].childNodes,c=i[2];this.createTabs(l,c,this.navItems[i[0]].childNodes[i[1]].id)}else this.createTabs()},findUrlInMenu:function(e,t,a,n,i){var s,l=t.length,c=0;for(c=0;c<l;c+=1){if(s=t[c],n[a]=c,s.url&&(0===e.indexOf(s.url)||i&&0===i.indexOf(s.url)))return{indexPath:n,urlData:s};if(s.childNodes){var r=this.findUrlInMenu(e,s.childNodes,a+1,n,i);if(r)return r;n.splice(n.length-1,1)}}},getDataByIndexes:function(e){var t,a=[];for(a[0]=this.navItems[e[0]],t=1;t<e.length;t++)a[t]=a[t-1].childNodes[e[t]];return a},setMenuByIndexes:function(e,t){t=t||{};var a=this.getDataByIndexes(e),i=e.slice(0,2),s=a[a.length-1];if(n.setactiveMenuIndexes(i),this.createTabs(),e.length<=2)t.triggerClick&&n.handleClick(e,s);else{t.triggerClick&&this.loadRightPanel(s);var l=this.navItems[e[0]].childNodes[e[1]].childNodes,c=e[2];this.createTabs(l,c,this.navItems[e[0]].childNodes[e[1]].id)}},getMenuTitle:function(){return n&&n.activeData?Cyberoam.getTranslatedMSG(n.activeData.label):""},searchMenuItems:function(e){return s.search(e)},onItemClick:function(e){this.displayMenuByURL(e.url)},_:{}};l._.displayMenuByURL=l.displayMenuByURL;var c=a?$.extend({},l,a):l;return s=new Cyberoam.GlobalSearchService(JSON.parse(JSON.stringify(t))),c.init(t),c};
5019Cyberoam.CategoryItem=React.createClass({displayName:"CategoryItem",handleClick:function(e){null!=this.props.handleClick&&this.props.handleClick(e,this.props.categoryKey,this.props.operation)},render:function(){return React.createElement("div",{onClick:this.handleClick,title:Cyberoam.getTranslatedMSG(this.props.categoryLabel)},React.createElement("span",null,Cyberoam.getTranslatedMSG(this.props.categoryLabel)))}}),Cyberoam.CategoryContainer=React.createClass({displayName:"CategoryContainer",handleClick:function(e,t,i){this.props.handleClick(e,t,i)},render:function(){var e=[],t=[];for(var i in this.props.config.category)("create object"!=this.props.openFor||null!=this.props.config.category[i].addURL&&""!=this.props.config.category[i].addURL)&&t.push(React.createElement(Cyberoam.CategoryItem,{categoryKey:i,key:i,categoryLabel:this.props.config.category[i].label,operation:this.props.openFor,handleClick:this.handleClick}));return e.push(React.createElement("div",null,t)),React.createElement("div",{style:this.props.style,className:"CNS-single-selector-category-list"},e)}}),Cyberoam.CategorySelctionLink=React.createClass({displayName:"CategorySelctionLink",mixins:[DropdownStateMixin],handleClick:function(e,t,i){void 0===t&&void 0===i?this.props.handleClick(e,e.target.value,this.props.openFor):("create object"==i&&this.props.handleClick(e,t,i),this.setDropdownState(!this.state.open))},render:function(){if("filter"!==this.props.openFor){if(this.state.open){var e={};return e=this.state.open?{display:""}:{display:"none"},React.createElement("div",{className:"select"},React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up"}),React.createElement(Cyberoam.CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}e={};return e={display:"none"},React.createElement("div",null,React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up",style:e}),React.createElement(Cyberoam.CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}var t=[];for(var i in t.push(React.createElement("option",{key:"alltypes",title:Language.AllTypes,value:"",operation:this.props.openFor},Language.AllTypes)),this.props.config.category)if(this.props.config.category.hasOwnProperty(i)){var a=this.props.config.category[i].label;t.push(React.createElement("option",{key:i,title:a,value:i,operation:this.props.openFor},a))}return React.createElement("div",{className:"filter-elements"},React.createElement("select",{onChange:this.handleClick},t))}}),Cyberoam.CategorySelctionLinkContainer=React.createClass({displayName:"CategorySelctionLinkContainer",handleClick:function(e,t,i){"filter"==i?this.props.handleClick(e,t):"create object"==i&&this.props.handleAddEditEntityClick(e,t,"category")},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.filteredCategory,"category")},render:function(){var e=[],t=this.props.config.category;if(null!=this.props.filterLabel?e.push(React.createElement("li",null,React.createElement(Cyberoam.CategorySelctionLink,{config:this.props.config,viewLabel:this.props.filterLabel,openFor:"filter",handleClick:this.handleClick}))):e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",null)))),null!=this.props.filterLabel&&""==this.props.filteredCategory){var i=!1;for(var a in t)if(null!=t[a].addURL&&""!=t[a].addURL){i=!0;break}i?e.push(React.createElement("li",null,React.createElement(Cyberoam.CategorySelctionLink,{config:this.props.config,viewLabel:Language.Add,openFor:"create object",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))))}else null==this.props.filterLabel||null!=t[this.props.filteredCategory].addURL&&""!=t[this.props.filteredCategory].addURL?e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",{onClick:this.handleAddEditEntityClick},Language.Add)))):e.push(React.createElement("li",null,React.createElement("div",null,React.createElement("span",null))));return React.createElement("li",{className:"CNS-top-panel"},React.createElement("ul",null,e))}}),Cyberoam.DataItem=React.createClass({displayName:"DataItem",handleClick:function(e){"
5019i"==e.target.tagName.toLowerCase()?(this.props.handleAddEditEntityClick(e,this.props.dataKey,"data"),e.stopPropagation()):this.props.handleClick(e,this.props.dataKey)},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip.entity,o=e.target;t=setTimeout((function(){"None"!=i&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:a},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=Cyberoam.getTranslatedMSG(this.props.viewLabel),a=this.props.config.objectTooltip.tooltipDataProvider(t,i);Cyberoam.showTooltip({data:a},e.target)},render:function(){var e=[],t={title:Cyberoam.getTranslatedMSG(this.props.viewLabel)};this.props.config.objectTooltip&&(delete t.title,this.props.config.objectTooltip.tooltipDataProvider?t.onMouseOver=this.onMouseOverShowTooltip:t.onMouseOver=this.customOver);var i=this.props.config.category;e.push(React.createElement("span",t,Cyberoam.getTranslatedMSG(this.props.viewLabel)));var a=this.props.categoryKey;if(1==this.props.config.categoryLength&&null==this.props.categoryKey)for(var o in i)i.hasOwnProperty(o)&&(a=o);return null==i||null==i[a]||null==i[a].editURL||""==i[a].editURL||null!=this.props.isDefaultOption&&1==this.props.isDefaultOption||void 0!==this.props.config.disableEditOption&&this.props.config.disableEditOption[this.props.viewLabel]||e.push(React.createElement("i",{className:"fa fa-pencil",onClick:this.handleClick})),React.createElement("li",{onClick:this.handleClick},e)}}),Cyberoam.DataContainer=React.createClass({displayName:"DataContainer",handleClick:function(e,t){this.props.handleDataSelection(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[],t=[];if(null!=this.props.config.defaultOption)for(var i in this.props.config.defaultOption)this.props.config.defaultOption.hasOwnProperty(i)&&e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:this.props.config.defaultOption[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.config.defaultOption[i].type,isDefaultOption:!0,dataKey:i,key:i,handleClick:this.handleClick}));if(this.props.config.sortItems)(t=$.map(this.props.previewData,(function(e,t){return e.key=t,e}))).sort((function(e,t){return e.label.localeCompare(t.label)})),t.forEach(function(t,i){e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:t.label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:t.type,dataKey:t.key,key:t.key,handleClick:this.handleClick}))}.bind(this));else for(var i in this.props.previewData)this.props.previewData.hasOwnProperty(i)&&e.push(React.createElement(Cyberoam.DataItem,{config:this.props.config,viewLabel:this.props.previewData[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[i].type,dataKey:i,key:i,handleClick:this.handleClick}));return React.createElement("li",{className:"CNS-single-selector-data-list"},React.createElement("ul",null,e))}}),Cyberoam.OpenList=React.createClass({displayName:"OpenList",getInitialState:function(){var e="",t="",i=0;if(null!=this.props.config.category)for(var a in this.props.config.category)this.props.config.category.hasOwnProperty(a)&&(i++,e=a);return 1==i&&(t=e),!t&&this.props.config.defaultFilterType&&(t=this.props.config.defaultFilterType),this.props.config.categoryLength=i,{filteredCategory:t,categoryLength:i,searchCriteria:"",currentSelectedKey:""}},handleClick:function(e,t){this.setState({filteredCategory:t})},handleAddEditEntityClick:function(e,t,i){var a={};if(this.props.config.beforeEntityClick&&"function"==typeof this.props.config.beforeEntityClick){var o=ReactDOM.findDOMNode(this.refs.dataList);this.props.config.beforeEntityClick.call(this,o)}if("category"==i){var s=this.props.config.category[t].addURL;s=Cyberoam.getURL(s,"SingleSelector",this.props.config.id),s=Cyberoam.getURL(s,"objectType",t),a.URL=s,null!=this.props.config.category[t].addURLTitle?a.title=this.props.config.category[t].addURLTitle:a.title=Language.Add+" "+this.props.config.category[t].label,null!=this.props.config.category[t].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[t].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}else{1==this.props.config.categoryLength&&null==this.props.config.data[t].type?urlOpenCategoryType=this.state.filteredCategory:urlOpenCategoryType=this.props.config.data[t].type,null!=this.props.config.category[urlOpenCategoryType].editURLTitle?a.title=this.props.config.category[urlOpenCategoryType].editURLTitle:a.title=Language.Edit+" "+this.props.config.category[urlOpenCategoryType].label;var n=this.props.config.category[urlOpenCategoryType].editURL;n=Cyberoam.getURL(n,"SingleSelector",this.props.config.id),n=Cyberoam.getURL(n,"objectID",this.props.config.dataKey?this.props.config.data[t].id:t),a.URL=n,null!=this.props.config.category[urlOpenCategoryType].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[urlOpenCategoryType].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}
5019var r="";Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv?r=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv:this.props.config.popupDiv&&(r=this.props.config.popupDiv),""!=r?(a.popupDiv=r,Cyberoam.showWidgetPopup(a)):Cyberoam.showPopup(a),this.props.handleClick(e)},handleDataSelection:function(e,t){this.setState({currentSelectedKey:t}),this.props.handleDataSelection(e,t)},handleSearch:function(e){searchValue=e.target.value,currentObject=this,null!=currentObject.searchInterval&&clearTimeout(currentObject.searchInterval),currentObject.searchInterval=setTimeout((function(){currentObject.setState({searchCriteria:searchValue})}),500)},clearSearch:function(e){this.props.config.isSearchBox&&(ReactDOM.findDOMNode(this.refs.searchText).value=""),this.setState({searchCriteria:""})},componentDidMount:function(){this.props.config.isSearchBox&&ReactDOM.findDOMNode(this.refs.searchText).focus();var e=ReactDOM.findDOMNode(this.refs.dataList);if(e){var t=document.documentElement.clientHeight,i=e.offsetHeight,a=$(e).offset();e.offsetParent;this.props.config.postMount&&"function"==typeof this.props.config.postMount?this.props.config.postMount.call(this,e,this.constructor.displayName):$(window).scrollTop()+t<i+a.top+70&&$("html, body").animate({scrollTop:i+a.top+70-t})}},render:function(){var e=[];if(null==this.props.config.isSearchBox||1==this.props.config.isSearchBox){var t="";t=""!=this.state.searchCriteria?"fa fa-times":"fa fa-search",e.push(React.createElement("li",{className:"CNS-search-txt"},React.createElement("input",{type:"text",onKeyUp:this.handleSearch,ref:"searchText",className:"CNSSearchTxt"}),React.createElement("i",{className:t,onClick:this.clearSearch})))}if(null!=this.props.config.category)if(this.state.categoryLength>1){var i="";i=""==this.state.filteredCategory?Language.Show+" : "+Language.All:Language.ShowOnly+" : "+this.props.config.category[this.state.filteredCategory].label,e.push(React.createElement(Cyberoam.CategorySelctionLinkContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,filterLabel:i,config:this.props.config,handleClick:this.handleClick}))}else this.state.categoryLength<2&&null!=this.props.config.category[this.state.filteredCategory].addURL&&""!=this.props.config.category[this.state.filteredCategory].addURL&&e.push(React.createElement(Cyberoam.CategorySelctionLinkContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,config:this.props.config}));if(""==this.state.filteredCategory&&""==this.state.searchCriteria)e.push(React.createElement(Cyberoam.DataContainer,{handleDataSelection:this.handleDataSelection,handleAddEditEntityClick:this.handleAddEditEntityClick,config:this.props.config,previewData:this.props.config.data}));else if(""!=this.state.filteredCategory&&""==this.state.searchCriteria){var a={};for(var o in this.props.config.data)(1==this.state.categoryLength||this.props.config.data[o].type&&this.state.filteredCategory==this.props.config.data[o].type)&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""});e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}else if(""==this.state.filteredCategory&&""!=this.state.searchCriteria){a={};for(var o in this.props.config.data)if(this.props.config.data[o].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""}),void 0!==this.props.config.searchableItems){var s=this;this.props.config.searchableItems.forEach((function(e){if(s.props.config.data[o].hasOwnProperty(e)){var t=s.props.config.data[o][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(s.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:s.props.config.data[o].label,type:s.props.config.data[o].type,id:s.props.config.dataKey?s.props.config.data[o][s.props.config.dataKey]:""})}}))}e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}else{a={};for(var o in this.props.config.data)if((1==this.state.categoryLength||this.props.config.data[o].type&&this.state.filteredCategory==this.props.config.data[o].type)&&(this.props.config.data[o].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:this.props.config.data[o].label,type:this.props.config.data[o].type,id:this.props.config.dataKey?this.props.config.data[o][this.props.config.dataKey]:""}),void 0!==this.props.config.searchableItems)){s=this;
5019this.props.config.searchableItems.forEach((function(e){if(s.props.config.data[o].hasOwnProperty(e)){var t=s.props.config.data[o][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(s.state.searchCriteria.toLowerCase())>=0&&(a[o]={label:s.props.config.data[o].label,type:s.props.config.data[o].type,id:s.props.config.dataKey?s.props.config.data[o][s.props.config.dataKey]:""})}}))}e.push(React.createElement(Cyberoam.DataContainer,{handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a}))}const n=!1===this.props.config.dropDownOverlay?"CNS-single-selector-list position-relative":"CNS-single-selector-list";return React.createElement("ul",{className:n,ref:"dataList"},e)}}),Cyberoam.SingleSelector=React.createClass({displayName:"SingleSelector",mixins:[DropdownStateMixin],getInitialState:function(){var e="",t="",i=!1,a=this.props.config.defaultOption;if(null!=a)for(var o in a)null!=a[o].isSelected&&1==a[o].isSelected&&(e=o,t=null!=a[o].type?a[o].type:"");if((this.props.config.selectedItem&&this.props.config.selectedItem.length>0||"number"==typeof this.props.config.selectedItem)&&(e="object"==typeof this.props.config.selectedItem?this.props.config.selectedItem[0]:this.props.config.selectedItem,null!=this.props.config.data[e]&&null!=this.props.config.data[e].type&&(t=this.props.config.data[e].type)),this.props.config.isDisabled&&1==this.props.config.isDisabled&&(i=!0),""==t){var s=0,n="";if(null!=this.props.config.category)for(var o in this.props.config.category)this.props.config.category.hasOwnProperty(o)&&(n=o,s++);1==s&&(t=n)}return{selectedItem:e,selectedCategory:t,isDisabled:i}},addRecord:function(e){null!=e.type&&e.type;this.props.config.data[e.key]={label:e.label,type:e.type}},setRecord:function(e){var t="",i="";i="object"==typeof e?e[0]:e,null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[i]&&null!=this.props.config.defaultOption[i].type?t=null!=this.props.config.defaultOption[i].type?this.props.config.defaultOption[i].type:"":null!=this.props.config.data[i]&&null!=this.props.config.data[i].type&&(t=null!=this.props.config.data[i].type?this.props.config.data[i].type:""),this.setState({selectedItem:i,selectedCategory:t})},getSelectedLabels:function(){var e=[],t=this.props.config.defaultOption;return null!=t&&null!=t[this.state.selectedItem]?e.push(Cyberoam.getTranslatedMSG(this.props.config.defaultOption[this.state.selectedItem].label)):""!=this.state.selectedItem&&null!=this.props.config.data[this.state.selectedItem]&&e.push(Cyberoam.getTranslatedMSG(this.props.config.data[this.state.selectedItem].label)),e},getSelectedKeys:function(){var e=[];return""!=this.state.selectedItem&&e.push(this.state.selectedItem),e},getSelectedValuesByParam:function(e){var t=[],i=this.props.config.defaultOption;return null!=i&&null!=i[this.state.selectedItem]?t.push(i[this.state.selectedItem][e]):""!=this.state.selectedItem&&null!=this.props.config.data[this.state.selectedItem]&&t.push(this.props.config.data[this.state.selectedItem][e]),t},isDisabled:function(){return this.state.isDisabled},setDisabled:function(e){this.setState({isDisabled:e})},disabled:function(e){this.setState({isDisabled:e})},getSelectedCategory:function(){var e=this.props.config.category;if(null!=this.state.selectedCategory&&""!=this.state.selectedCategory){if(null!=e)return null!=e[this.state.selectedCategory]&&null!=e[this.state.selectedCategory].name?e[this.state.selectedCategory].name:this.state.selectedCategory}else{var t=0,i="";if(null!=e)for(var a in e)e.hasOwnProperty(a)&&(i=a,t++);if(1==t)return null!=e&&null!=e[i]&&null!=e[i].name?e[i].name:i}return""},handleClick:function(e){this.setDropdownState(!this.state.open)},handleKeyUp:function(e){0!=(e=new Cyberoam.Event(e)).getKeyCode()&&32!=e.getKeyCode()||(this.setDropdownState(!this.state.open),e.clearKeyCode())},handleDataSelection:function(e,t){var i="",a=this.props.config.defaultOption;i=null!=a&&null!=a[t]&&null!=a[t].type?this.props.config.defaultOption[t].type:null!=this.props.config.data[t]&&null!=this.props.config.data[t].type?this.props.config.data[t].type:"",this.props.config.afterOkButton?this.setState({selectedItem:t,selectedCategory:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItem:t,selectedCategory:i}),this.props.handleDataSelection&&"function"==typeof this.props.handleDataSelection&&this.props.handleDataSelection(t),this.setDropdownState(!this.state.open)},customOver:function(e,t){var i,a=e,o=this.props.config.objectTooltip.entity,s=t.target;i=setTimeout((function(){"None"!=a&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:a,entity:o},s)}),480),s.onmouseout=function(){clearTimeout(i),i=null}},onMouseOverShowTooltip:function(e,t,i){var a=e,o=t,s=this.props.config.objectTooltip.tooltipDataProvider(a,o);Cyberoam.showTooltip({data:s},i.target)},render:function(){if(this.state.open||this.props.config.open)return React.createElement("div",{className:"CNS-single-selector-div"},React.createElement(Cyberoam.OpenList,{config:this.props.config,handleDataSelection:this.handleDataSelection,handleClick:this.handleClick}));var e="",t="function"==typeof this.props.config.shouldOverrideDisabled&&this.props.config.shouldOverrideDisabled()?this.props.config.isDisabled:this.state.isDisabled;if(this.props.handleDataSelection&&"function"==typeof this.props.handleDataSelection&&this.props.config.selectedItem&&this.props.config.selectedItem.length>0?key=this.props.config.selectedItem[0]:key=this.state.selectedItem,"function"==typeof this.props.config.shouldOverrideSelectedItem&&this.props.config.shouldOverrideSelectedItem()&&(key=""),0==key.length)e=this.props.config.defaultLabel;else{var i=this.props.config.defaultOption;null!=i&&null!=i[key]?e=Cyberoam.getTranslatedMSG(i[key].label):null!=this.props.config.data[key]?e=Cyberoam.getTranslatedMSG(this.props.config.data[key].label):console.log("Item not in list")}var a={};return this.props.config.objectTooltip?this.props.config.objectTooltip.tooltipDataProvider?a.onMouseOver=this.onMouseOverShowTooltip.bind(this,key,e):a.onMouseOver=this.customOver.bind(this,key):a={title:e},t?React.createElement("div",{className:"CNS-single-selector-div disabled"},React.createElement("div",null,React.createElement("span",{title:e},e),React.createElement("i",{className:"fa fa-caret-down"}
5019))):React.createElement("div",{onClick:this.handleClick,className:"CNS-single-selector-div",onKeyPress:this.handleKeyUp,tabIndex:"0"},React.createElement("div",null,React.createElement("span",a,e),React.createElement("i",{className:"fa fa-caret-down"})))}});Cyberoam.MS_CategoryItem=React.createClass({displayName:"MS_CategoryItem",handleClick:function(e){null!=this.props.handleClick&&this.props.handleClick(e,this.props.categoryKey,this.props.operation)},render:function(){return React.createElement("div",{onClick:this.handleClick,title:Cyberoam.getTranslatedMSG(this.props.categoryLabel)},React.createElement("span",null,Cyberoam.getTranslatedMSG(this.props.categoryLabel)))}}),Cyberoam.MS_CategoryContainer=React.createClass({displayName:"MS_CategoryContainer",handleClick:function(e,t,i){this.props.handleClick(e,t,i)},render:function(){var e=[],t=[];for(var i in this.props.config.category)("create object"!=this.props.openFor||null!=this.props.config.category[i].addURL&&""!=this.props.config.category[i].addURL)&&t.push(React.createElement(Cyberoam.MS_CategoryItem,{categoryKey:i,key:i,categoryLabel:this.props.config.category[i].label,operation:this.props.openFor,handleClick:this.handleClick}));return t=Cyberoam.languageNeutralSort(t,"props.categoryLabel"),e.push(React.createElement("div",{key:"twoLenArrLast"},t)),React.createElement("div",{style:this.props.style,className:"CNS-multi-selector-category-list"},e)}}),Cyberoam.MS_CategorySelctionLink=React.createClass({displayName:"MS_CategorySelctionLink",mixins:[DropdownStateMixin],handleClick:function(e,t,i){void 0===t&&void 0===i?this.props.handleClick(e,e.target.value,this.props.openFor):("create object"==i&&this.props.handleClick(e,t,i),this.setDropdownState(!this.state.open))},render:function(){if("filter"!==this.props.openFor){if(this.state.open){var e={};return e=this.state.open?{display:""}:{display:"none"},React.createElement("div",{className:"select"},React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up"}),React.createElement(Cyberoam.MS_CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}e={};return e={display:"none"},React.createElement("div",null,React.createElement("span",{onClick:this.handleClick,title:this.props.viewLabel},this.props.viewLabel),React.createElement("i",{className:"fa fa-caret-up",style:e}),React.createElement(Cyberoam.MS_CategoryContainer,{style:e,config:this.props.config,openFor:this.props.openFor,handleClick:this.handleClick}))}var t=[];for(var i in t.push(React.createElement("option",{key:"alltypes",title:Language.AllTypes,value:"",operation:this.props.openFor},Language.AllTypes)),this.props.config.category)if(this.props.config.category.hasOwnProperty(i)){var a=this.props.config.category[i].label;t.push(React.createElement("option",{key:i,title:a,value:i,operation:this.props.openFor},a))}return t=Cyberoam.languageNeutralSort(t,"props.children","alltypes"),React.createElement("div",{className:"filter-elements"},React.createElement("select",{onChange:this.handleClick,defaultValue:this.props.config.defaultCategory},t))}}),Cyberoam.MS_CategorySelctionLinkContainer=React.createClass({displayName:"MS_CategorySelctionLinkContainer",handleClick:function(e,t,i){"filter"==i?this.props.handleClick(e,t):"create object"==i&&this.props.handleAddEditEntityClick(e,t,"category")},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.filteredCategory,"category")},render:function(){var e=[],t=this.props.config.category;if(null!=this.props.filterLabel?e.push(React.createElement("li",{key:"CategoryLinkContainerLi2"},React.createElement(Cyberoam.MS_CategorySelctionLink,{config:this.props.config,viewLabel:this.props.filterLabel,openFor:"filter",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi2"},React.createElement("div",null,React.createElement("span",null)))),null!=this.props.filterLabel&&""==this.props.filteredCategory){var i=!1;for(var a in t)if(null!=t[a].addURL&&""!=t[a].addURL){i=!0;break}i?e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement(Cyberoam.MS_CategorySelctionLink,{config:this.props.config,viewLabel:Language.Add,openFor:"create object",handleClick:this.handleClick}))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))))}else null==this.props.filterLabel||null!=this.props.config.category[this.props.filteredCategory].addURL&&""!=t[this.props.filteredCategory].addURL?e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",{onClick:this.handleAddEditEntityClick},Language.Add)))):e.push(React.createElement("li",{key:"CategoryLinkContainerLi1"},React.createElement("div",null,React.createElement("span",null))));return React.createElement("li",{className:"CNS-top-panel"},React.createElement("ul",null,e))}}),Cyberoam.MS_CheckBox=React.createClass({displayName:"MS_CheckBox",handleClick:function(e){},render:function(){var e="chk"+this.props.dataKey;return React.createElement("div",{className:"checkbox"},React.createElement("input",{type:"checkbox",id:e,checked:this.props.isChecked,onClick:this.handleClick}),React.createElement("label",null,React.createElement("span",{className:"fa-stack"},React.createElement("i",{className:"fa fa-square-o fa-2x"}),React.createElement("i",{className:"fa fa-check-square fa-2x chosen"}))))}}),Cyberoam.MS_DataItem=React.createClass({displayName:"MS_DataItem",handleClick:function(e){"
5019i"==e.target.tagName.toLowerCase()&&"fa fa-pencil"==e.target.className?(e.stopPropagation(),this.props.handleAddEditEntityClick(e,this.props.dataKey,"data")):("i"==e.target.tagName.toLowerCase()&&e.stopPropagation(),this.props.handleClick(e,this.props.dataKey))},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip,s=a.entity,o=e.target,n=this.props.viewLabel;t=setTimeout((function(){a.customTooltips&&a.customTooltips[i]?Cyberoam.showTooltip({data:a.customTooltips[i]},o):"Any"!=n&&"Any IPv4"!=n&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:s},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=this.props.categoryKey,a=this.props.viewLabel,s=this.props.config.objectTooltip.tooltipDataProvider(t,a,i);Cyberoam.showTooltip({data:s},e.target)},render:function(){var e=this.props.config.category,t=(this.props.dataKey,[]),i={key:"span"+this.props.dataKey,title:this.props.viewLabel};this.props.config.objectTooltip&&(delete i.title,this.props.config.objectTooltip.tooltipDataProvider?i.onMouseOver=this.onMouseOverShowTooltip:i.onMouseOver=this.customOver);var a=null!=this.props.currentSelecectedItems[this.props.dataKey];if(t.push(React.createElement(Cyberoam.MS_CheckBox,{key:"checkbox"+this.props.dataKey,dataKey:this.props.dataKey,isChecked:a})),this.props.config.displayImages){var s=this.props.config.itemImage?this.props.config.itemImage:this.props.config.typeImages[this.props.categoryKey];t.push(React.createElement("span",{key:"span_img"+this.props.dataKey,style:{width:"24px"}},React.createElement("img",{style:{height:"24px"},src:s}))),t.push(React.createElement("span",{key:"span"+this.props.dataKey,title:this.props.viewLabel,style:{marginLeft:"10px",width:"172px",paddingBottom:"7px"}},this.props.viewLabel))}else t.push(React.createElement("span",i,this.props.viewLabel));var o=this.props.categoryKey;if(1==this.props.config.categoryLength&&null==this.props.categoryKey)for(var n in this.props.config.category)this.props.config.category.hasOwnProperty(n)&&(o=n);return null==e||!e[o]||null==e[o].editURL||""==e[o].editURL||null!=this.props.isDefaultOption&&1==this.props.isDefaultOption||(null==this.props.currentSelecectedItems.Any?t.push(React.createElement("i",{key:"edit"+this.props.dataKey,className:"fa fa-pencil",onClick:this.handleClick})):t.push(React.createElement("i",{key:"edit"+this.props.dataKey,className:"fa fa-pencil"}))),null==this.props.currentSelecectedItems.Any||"Any"==this.props.dataKey||this.props.config.bypassSelectedAny?React.createElement("li",{onClick:this.handleClick},t):React.createElement("li",{className:"disabled"},t)}}),Cyberoam.MS_DataContainer=React.createClass({displayName:"MS_DataContainer",handleClick:function(e,t){this.props.handleDataSelection(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[];if(null!=this.props.config.defaultOption)for(var t in this.props.config.defaultOption)this.props.config.defaultOption.hasOwnProperty(t)&&e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.config.defaultOption[t].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.config.defaultOption[t].type,isDefaultOption:!0,dataKey:t,key:t,handleClick:this.handleClick,isSelectAllChecked:this.props.isSelectAllChecked,currentSelecectedItems:this.props.currentSelecectedItems}));if(this.props.config.sortItems){var i=[];Object.keys(this.props.previewData).forEach((function(e){i.push(e)})),this.props.config.sortData&&"function"==typeof this.props.config.sortData?i=this.props.config.sortData(i):i.sort(),$.each(i,jQuery.proxy((function(t,i){e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.previewData[i].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[i].type,dataKey:i,key:i,handleClick:this.handleClick,currentSelecectedItems:this.props.currentSelecectedItems}))}),this))}else for(var t in this.props.previewData)this.props.previewData.hasOwnProperty(t)&&e.push(React.createElement(Cyberoam.MS_DataItem,{config:this.props.config,viewLabel:this.props.previewData[t].label,handleAddEditEntityClick:this.handleAddEditEntityClick,categoryKey:this.props.previewData[t].type,dataKey:t,key:t,handleClick:this.handleClick,currentSelecectedItems:this.props.currentSelecectedItems}));return e=Cyberoam.languageNeutralSort(e,"props.viewLabel","Any"),React.createElement("li",{className:"CNS-multi-selector-data-list"},React.createElement("ul",null,e))}}),Cyberoam.MS_SelectAllDataItem=React.createClass({displayName:"MS_SelectAllDataItem",getInitialState:function(){return{isSelectAllChecked:!1}
5019},handleSelectAll:function(e){this.props.handleSelectAll(e,!this.state.isSelectAllChecked,this.props.previewData),this.setState({isSelectAllChecked:!this.state.isSelectAllChecked})},render:function(){return null==this.props.currentSelecectedItems.Any?React.createElement("li",{className:"select-all-option",key:"selectAllOption",onClick:this.handleSelectAll},React.createElement(Cyberoam.MS_CheckBox,{dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked}),React.createElement("span",null,Language.SelectAll)):React.createElement("li",{className:"select-all-option",key:"selectAllOption"},React.createElement(Cyberoam.MS_CheckBox,{dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked}),React.createElement("span",null,Language.SelectAll))}}),Cyberoam.MS_addItemList=React.createClass({displayName:"MS_addItemList",getInitialState:function(){var e="",t="",i=0;totalSelectedItem=0;var a={};if(null!=this.props.selectedItems.Any&&(a.Any={},totalSelectedItem++),null!=this.props.config.category)for(var s in this.props.config.category)this.props.config.category.hasOwnProperty(s)&&(i++,e=s);return 1==i&&(t=e),!t&&this.props.config.defaultCategory&&(t=this.props.config.defaultCategory),"function"==typeof this.props.config.getInitialFilteredCategory&&(t=this.props.config.getInitialFilteredCategory()),this.props.config.categoryLength=i,{filteredCategory:t,categoryLength:i,searchCriteria:"",currentSelectedKey:"",isSelectAllChecked:!1,currentSelecectedItems:a,totalSelectedItem:totalSelectedItem}},handleDataSelection:function(e,t){var i=this.state.currentSelecectedItems,a=this.state.totalSelectedItem;null==i[t]?(i[t]={},a++):(delete i[t],a--),this.setState({currentSelecectedItems:i,totalSelectedItem:a})},handleClick:function(e,t){this.setState({filteredCategory:t})},handleSearch:function(e){searchValue=e.target.value,currentObject=this,null!=currentObject.searchInterval&&clearTimeout(currentObject.searchInterval),currentObject.searchInterval=setTimeout((function(){currentObject.setState({searchCriteria:searchValue})}),500)},handleSelectAll:function(e,t,i){var a=this.state.currentSelecectedItems,s=this.state.totalSelectedItem;for(var o in i)null==a[o]&&t?(a[o]={},s++):null==a[o]||t||(delete a[o],s--);this.setState({isSelectAllChecked:!t,currentSelecectedItems:a,totalSelectedItem:s})},handleApplyClick:function(e){this.props.handleDataSelection(e,this.state.currentSelecectedItems),this.setState({currentSelecectedItems:{},totalSelectedItem:0})},clearSearch:function(e){this.props.config.isSearchBox&&(ReactDOM.findDOMNode(this.refs.searchText).value=""),this.setState({searchCriteria:""})},componentDidMount:function(){this.props.config.isSearchBox&&ReactDOM.findDOMNode(this.refs.searchText).focus();var e=ReactDOM.findDOMNode(this.refs.dataList);if(e){var t=document.documentElement.clientHeight,i=e.offsetHeight,a=$(e).offset();e.offsetParent;this.props.config.postMount&&"function"==typeof this.props.config.postMount?this.props.config.postMount.call(this,e,this.constructor.displayName):$(window).scrollTop()+t<i+a.top+70&&$("html, body").animate({scrollTop:i+a.top+70-t})}},componentDidUpdate:function(){var e=ReactDOM.findDOMNode(this.refs.dataList);e&&this.props.config.postUpdate&&"function"==typeof this.props.config.postUpdate&&this.props.config.postUpdate.call(this,e,this.constructor.displayName)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},render:function(){var e=[];if(null==this.props.config.isSearchBox||1==this.props.config.isSearchBox){var t="";t=""!=this.state.searchCriteria?"fa fa-times":"fa fa-search",e.push(React.createElement("li",{key:"searchBoxAsKey",className:"CNS-search-txt"},React.createElement("input",{type:"text",onKeyUp:this.handleSearch,ref:"searchText",className:"CNSSearchTxt"}),React.createElement("i",{className:t,onClick:this.clearSearch})))}if(null!=this.props.config.category)if(this.state.categoryLength>1){var i="";i=""==this.state.filteredCategory?Language.Show+" : "+Language.All:Language.ShowOnly+" : "+this.props.config.category[this.state.filteredCategory].label,e.push(React.createElement(Cyberoam.MS_CategorySelctionLinkContainer,{key:"MS_CategorySelctionLinkContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,filterLabel:i,config:this.props.config,handleClick:this.handleClick}))}else this.state.categoryLength<2&&null!=this.props.config.category[this.state.filteredCategory].addURL&&""!=this.props.config.category[this.state.filteredCategory].addURL&&e.push(React.createElement(Cyberoam.MS_CategorySelctionLinkContainer,{key:"MS_CategorySelctionLinkContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,filteredCategory:this.state.filteredCategory,config:this.props.config}));var a={};if(""==this.state.filteredCategory&&""==this.state.searchCriteria||this.props.config.bypassFilteredCategory&&""==this.state.searchCriteria)for(var s in this.props.config.data)null==this.props.selectedItems[s]&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type});else if(""!=this.state.filteredCategory&&""==this.state.searchCriteria)for(var s in this.props.config.data)null==this.props.selectedItems[s]&&(1==this.state.categoryLength||this.props.config.data[s].type&&this.state.filteredCategory==this.props.config.data[s].type)&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type});else if(""==this.state.filteredCategory&&""!=this.state.searchCriteria||this.props.config.bypassFilteredCategory&&""!=this.state.searchCriteria){for(var s in this.props.config.data)if(void 0===this.props.selectedItems[s]&&(this.props.config.data[s].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type}),void 0!==this.props.config.searchableItems)){var o=this;
5019this.props.config.searchableItems.forEach((function(e){if(o.props.config.data[s].hasOwnProperty(e)){var t=o.props.config.data[s][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(o.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:o.props.config.data[s].label,type:o.props.config.data[s].type})}}))}}else for(var s in this.props.config.data)if(null==this.props.selectedItems[s]&&(1==this.state.categoryLength||this.props.config.data[s].type&&this.state.filteredCategory==this.props.config.data[s].type)&&(this.props.config.data[s].label.toLowerCase().indexOf(this.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:this.props.config.data[s].label,type:this.props.config.data[s].type}),void 0!==this.props.config.searchableItems)){o=this;this.props.config.searchableItems.forEach((function(e){if(o.props.config.data[s].hasOwnProperty(e)){var t=o.props.config.data[s][e];"string"!=typeof t&&(t=""+t),t.toLowerCase().indexOf(o.state.searchCriteria.toLowerCase())>=0&&(a[s]={label:o.props.config.data[s].label,type:o.props.config.data[s].type})}}))}if(null!=this.props.config.isSelectAll&&1==this.props.config.isSelectAll&&e.push(React.createElement(Cyberoam.MS_SelectAllDataItem,{key:"selectAllOption",handleSelectAll:this.handleSelectAll,dataKey:"selectAllOption",isChecked:this.state.isSelectAllChecked,previewData:a,currentSelecectedItems:this.state.currentSelecectedItems})),e.push(React.createElement(Cyberoam.MS_DataContainer,{key:"MS_DataContainerAsKey",handleAddEditEntityClick:this.handleAddEditEntityClick,handleDataSelection:this.handleDataSelection,config:this.props.config,previewData:a,selectedItems:this.props.selectedItems,currentSelecectedItems:this.state.currentSelecectedItems})),0!=this.state.totalSelectedItem){var n="";n=null==this.state.currentSelecectedItems.Any?Language.ApplySelectedItem.replace("{number}",this.state.totalSelectedItem):this.props.config.defaultOption&&this.props.config.defaultOption.Any?Language.ApplyAnySelectedItem.replace("{any}",this.props.config.defaultOption.Any.label):Language.ApplyAnySelectedItemDefault,e.push(React.createElement("li",{key:"addSelectedItemsList",className:"add-selected-item",onClick:this.handleApplyClick},React.createElement("span",null,n)))}const r=!1===this.props.config.dropDownOverlay?"CNS-multi-selector-list position-relative":"CNS-multi-selector-list";return React.createElement("ul",{className:r,ref:"dataList"},e)}}),Cyberoam.MS_SelectedDataItem=React.createClass({displayName:"MS_SelectedDataItem",handleRemoveItem:function(e){this.props.handleRemoveItem(e,this.props.dataKey)},handleAddEditEntityClick:function(e){this.props.handleAddEditEntityClick(e,this.props.dataKey,"data")},customOver:function(e){var t,i=this.props.dataKey,a=this.props.config.objectTooltip,s=a.entity,o=e.target,n=this.props.previewLabel;t=setTimeout((function(){a.customTooltips&&a.customTooltips[i]?Cyberoam.showTooltip({data:a.customTooltips[i]},o):"Any"!=n&&"Any IPv4"!=n&&Cyberoam.showTooltipByMode({mode:Modes.TOOLTIP_REQUEST,id:i,entity:s},o)}),480),o.onmouseout=function(){clearTimeout(t),t=null}},onMouseOverShowTooltip:function(e){var t=this.props.dataKey,i=this.props.categoryKey,a=this.props.previewLabel,s=this.props.config.objectTooltip.tooltipDataProvider(t,a,i);Cyberoam.showTooltip({data:s},e.target)},render:function(){var e=this.props.config.category,t=this.props.categoryKey,i=[],a={key:this.props.dataKey+"span",title:this.props.previewLabel};if(this.props.config.objectTooltip&&(delete a.title,this.props.config.objectTooltip.tooltipDataProvider?a.onMouseOver=this.onMouseOverShowTooltip:a.onMouseOver=this.customOver),this.props.config.displayImages){var s=this.props.config.itemImage?this.props.config.itemImage:this.props.config.typeImages[this.props.categoryKey];s||!this.props.config.skipBlankImages?(i.push(React.createElement("span",{key:this.props.dataKey+"span_img",style:{width:"26px"}},React.createElement("img",{style:{height:"24px"},src:s}))),i.push(React.createElement("span",{key:this.props.dataKey+"span",className:"CNS-multi-selector-selected-list-text",style:{width:"210px"},title:this.props.previewLabel},this.props.previewLabel))):i.push(React.createElement("span",a,this.props.previewLabel))}else i.push(React.createElement("span",a,this.props.previewLabel));return this.props.isDisabled?(null!=e&&null!=e[t]&&null!=e[t].editURL&&""!=e[t].editURL?i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:"fa fa-pencil"})):i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:""})),i.push(React.createElement("i",{key:this.props.dataKey+"delete",className:"fa fa-minus-circle"}))):(null!=e&&null!=e[t]&&null!=e[t].editURL&&""!=e[t].editURL?i.push(React.createElement("i",{key:this.props.dataKey+"edit",onClick:this.handleAddEditEntityClick,className:"fa fa-pencil"})):i.push(React.createElement("i",{key:this.props.dataKey+"edit",className:""})),this.props.fixed||i.push(React.createElement("i",{key:this.props.dataKey+"delete",onClick:this.handleRemoveItem,className:"fa fa-minus-circle"}))),React.createElement("li",{key:this.props.dataKey},i)}}),Cyberoam.MS_SelectedListContainer=React.createClass({displayName:"MS_SelectedListContainer",handleRemoveItem:function(e,t){this.props.handleRemoveItem(e,t)},handleAddEditEntityClick:function(e,t,i){this.props.handleAddEditEntityClick(e,t,i)},componentDidMount:function(){var e=ReactDOM.findDOMNode(this);this.props.config.postMount&&"function"==typeof this.props.config.postMount&&this.props.config.postMount.call(this,e,this.constructor.displayName)},render:function(){var e=[],t=this.props.config.data,i=this.props.config.defaultOption,a="",s=this.props.config.category;if(null!=s){var o=0;for(var n in s)s.hasOwnProperty(n)&&(o++,n);1==o&&(a=n)}if(null!=this.props.selectedItems.Any&&!this.props.config.bypassSelectedAny){0;var r="Any",l=(p=i.Any).label;return a="",null!=p.type&&(a=p.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:r,key:r,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,onClick:this.handleAddEditEntityClick,config:this.props.config})),React.createElement("ul",{className:"CNS-multi-selector-selected-list"},e)}if(this.props.config.sortItems){var c=[];
5019Object.keys(this.props.selectedItems).forEach((function(e){c.push(e)})),this.props.config.sortData&&"function"==typeof this.props.config.sortData?c=this.props.config.sortData(c):c.sort(),$.each(c,$.proxy((function(s,o){0;var n=o,r={};if(null!=i&&null!=i[n])r=i[n];else{if(null==t[n])return!0;r=t[n]}var l=Cyberoam.getTranslatedMSG(r.label);null!=r.type&&(a=r.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:n,key:n,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,config:this.props.config,handleAddEditEntityClick:this.handleAddEditEntityClick,fixed:this.isSelectedItemFixed(n)}))}),this))}else for(var n in this.props.selectedItems)if(this.props.selectedItems.hasOwnProperty(n)){0;r=n;var p={};if(null!=i&&null!=i[r])p=i[r];else{if(null==t[r]){console.log("Item not in list");continue}p=t[r]}l=Cyberoam.getTranslatedMSG(p.label);null!=p.type&&(a=p.type),e.push(React.createElement(Cyberoam.MS_SelectedDataItem,{dataKey:r,key:r,categoryKey:a,previewLabel:l,isDisabled:this.props.isDisabled,handleRemoveItem:this.handleRemoveItem,config:this.props.config,handleAddEditEntityClick:this.handleAddEditEntityClick,fixed:this.isSelectedItemFixed(r)}))}return e=Cyberoam.languageNeutralSort(e,"props.previewLabel"),React.createElement("ul",{className:"CNS-multi-selector-selected-list"},e)},isSelectedItemFixed:function(e){return this.props.fixedSelectedItems.indexOf(e)>-1}}),Cyberoam.MS_OptionEnable=React.createClass({displayName:"MS_OptionEnable",render:function(){var e=!1;return"function"==typeof this.props.config.option.isDisabled&&(e=this.props.config.option.isDisabled()),React.DOM.div({key:"addOptionEnabled",className:"CNS-multi-selector-add-item chk-wrapper"+(e?" chk-wrapper-disabled":" chk-wrapper-enabled")},[React.DOM.input({type:"checkbox",checked:this.props.optionToggled,disabled:e||this.props.open,readOnly:!0}),React.DOM.label({onClick:e||this.props.open?null:function(){this.props.config.option.handleClicked&&"function"==typeof this.props.config.option.handleClicked&&this.props.config.option.handleClicked(!this.props.optionToggled),this.props.handleOptionToggle(this.props.optionToggled,!this.props.optionToggled)}.bind(this)},[React.DOM.span({className:"fa-stack"},[React.DOM.i({className:"fa fa-square-o fa-2x"}),React.DOM.i({className:"fa fa-check-square fa-2x chosen"})]),React.DOM.span(null,this.props.config.option.label)])])}}),Cyberoam.MultiSelector=React.createClass({displayName:"MultiSelector",mixins:[DropdownStateMixin],getInitialState:function(){var e={},t="",i={},a=[],s=!1,o=0,n="",r=!1;if(null!=this.props.config.category)for(var l in this.props.config.category)this.props.config.category.hasOwnProperty(l)&&(o++,n=l);if(1==o&&(t=n),this.props.config.categoryLength=o,null!=this.props.config.selectedItems&&this.props.config.selectedItems.length>0){e="object"==typeof this.props.config.selectedItems?this.props.config.selectedItems:new Array(this.props.config.selectedItems);for(l=0;l<e.length;l++)i[e[l]]={};if(this.props.config.fixedSelectedItems&&(a=this.props.config.fixedSelectedItems),1!=o&&null!=this.props.config.selectedCategory)if(null!=this.props.config.category[this.props.config.selectedCategory])t=this.props.config.selectedCategory;else for(var l in this.props.config.category)null!=this.props.config.category[l].name&&this.props.config.selectedCategory==this.props.config.category[l].name&&(t=l)}return this.props.config.isDisabled&&1==this.props.config.isDisabled&&(s=!0),this.props.config.option&&"function"==typeof this.props.config.option.getToggleState&&(r=this.props.config.option.getToggleState()),{selectedItems:i,selectedCategory:t,isDisabled:s,optionToggled:r,fixedSelectedItems:a}},openAddItemList:function(){this.setDropdownState(!this.state.open)},handleKeyUp:function(e){-1!=(e=new Cyberoam.Event(e)).getElement().className.indexOf("disabled")||this.state.open||0!=e.getKeyCode()&&32!=e.getKeyCode()||(this.setDropdownState(!this.state.open),e.clearKeyCode())},handleDataSelection:function(e,t){var i=this.state.selectedItems;
5019for(var a in this.props.config.bypassSelectedAny&&(delete t.Any,delete i.Any),null!=i.Any&&(i={}),t)i[a]={};null!=i.Any&&((i={}).Any={}),"function"==typeof this.props.config.beforeAfterOkButton&&this.props.config.beforeAfterOkButton(i.Any?"Any":Object.keys(i)),this.props.config.afterOkButton?this.setState({selectedItems:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItems:i}),this.setDropdownState(!this.state.open)},handleRemoveItem:function(e,t){var i=this.state.selectedItems;for(var a in"Any"==t&&(i={}),i)if(a==t){delete i[a];break}this.props.config.bypassSelectedAny&&delete i.Any,"function"==typeof this.props.config.beforeAfterOkButton&&this.props.config.beforeAfterOkButton(i.Any?"Any":Object.keys(i)),this.props.config.afterOkButton?this.setState({selectedItems:i},(function(){this.props.config.afterOkButton(this)})):this.setState({selectedItems:i})},isDisabled:function(){return this.state.isDisabled},setDisabled:function(e){this.setState({isDisabled:e})},addRecord:function(e){null!=e.type&&e.type;this.props.config.data[e.key]={label:e.label,type:e.type}},setRecord:function(e){var t="",i="",a={};i="object"==typeof e?e:new Array(e);for(var s=0;s<i.length;s++)a[i[s]]={};var o=i[0];null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[o]&&null!=this.props.config.defaultOption[o].type?t=null!=this.props.config.defaultOption[o].type?this.props.config.defaultOption[o].type:"":null!=this.props.config.data[o]&&null!=this.props.config.data[o].type&&(t=null!=this.props.config.data[o].type?this.props.config.data[o].type:""),1==this.props.config.categoryLength&&(t=this.state.selectedCategory),this.setState({selectedItems:a,selectedCategory:t})},getSelectedLabels:function(){var e=[];if(null!=this.state.selectedItems.Any)return"Any";for(var t in this.state.selectedItems)this.state.selectedItems.hasOwnProperty(t)&&(null!=this.props.config.defaultOption&&null!=this.props.config.defaultOption[t]?e.push(this.props.config.defaultOption[t].label):null!=this.props.config.data[t]&&e.push(this.props.config.data[t].label));return e},getSelectedKeys:function(){var e=[];if(null!=this.state.selectedItems.Any)return"Any";for(var t in this.state.selectedItems)this.state.selectedItems.hasOwnProperty(t)&&e.push(t);return e},getSelectedValuesByParam:function(e){var t=[];if(null!=this.state.selectedItems.Any)return"Any";for(var i in this.state.selectedItems)null!=this.props.config.data[i]&&t.push(this.props.config.data[i][e]);return t},getSelectedCategory:function(){var e=this.props.config.category;if(null!=this.state.selectedCategory&&""!=this.state.selectedCategory){if(null!=e)return null!=e[this.state.selectedCategory]&&null!=e[this.state.selectedCategory].name?e[this.state.selectedCategory].name:this.state.selectedCategory}else{var t=0,i="";if(null!=e)for(var a in e)e.hasOwnProperty(a)&&(i=a,t++);if(1==t)return null!=e&&null!=e[i]&&null!=e[i].name?e[i].name:i}return""},handleAddEditEntityClick:function(e,t,i){var a={};if(this.props.config.beforeEntityClick&&"function"==typeof this.props.config.beforeEntityClick){var s=ReactDOM.findDOMNode(this.refs.multiSelector);this.props.config.beforeEntityClick.call(this,s)}if("category"==i){var o=this.props.config.category[t].addURL;o=Cyberoam.getURL(o,"MultiSelector",this.props.config.id),o=Cyberoam.getURL(o,"objectType",t),a.URL=o,null!=this.props.config.category[t].addURLTitle?a.title=this.props.config.category[t].addURLTitle:a.title=Language.Add+" "+this.props.config.category[t].label,null!=this.props.config.category[t].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[t].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}else{1==this.props.config.categoryLength&&null==this.props.config.data[t].type?urlOpenCategoryType=this.state.selectedCategory:urlOpenCategoryType=this.props.config.data[t].type,null!=this.props.config.category[urlOpenCategoryType].editURLTitle?a.title=this.props.config.category[urlOpenCategoryType].editURLTitle:a.title=Language.Edit+" "+this.props.config.category[urlOpenCategoryType].label;var n=this.props.config.category[urlOpenCategoryType].editURL,r=t;this.props.config.formatObjectID&&"function"==typeof this.props.config.formatObjectID&&(r=this.props.config.formatObjectID(r)),n=Cyberoam.getURL(n,"MultiSelector",this.props.config.id),n=Cyberoam.getURL(n,"objectID",r),a.URL=n,null!=this.props.config.category[urlOpenCategoryType].popupHeight&&(a.height=this.props.config.category[t].popupHeight),null!=this.props.config.category[urlOpenCategoryType].popupWidth&&(a.width=this.props.config.category[t].popupWidth)}var l="";this.props.config.popupDiv?l=this.props.config.popupDiv:Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv&&(l=Cyberoam.pageObject[Cyberoam.pageLayer].popupDiv),""!=l?(a.popupDiv=l,Cyberoam.showWidgetPopup(a)):Cyberoam.showPopup(a),this.setDropdownState(!1)},handleOptionToggle:function(e,t){this.setState({isDisabled:e,optionToggled:t})},render:function(){var e=[];this.props.config.option&&this.props.config.option.label&&e.push(React.createElement(Cyberoam.MS_OptionEnable,{config:this.props.config,open:this.state.open,optionToggled:this.state.optionToggled,handleOptionToggle:this.handleOptionToggle})),e.push(React.createElement(Cyberoam.MS_SelectedListContainer,{config:this.props.config,selectedItems:this.state.selectedItems,fixedSelectedItems:this.state.fixedSelectedItems,key:"MS_SelectedListContainerAsKey",isDisabled:this.state.isDisabled,handleRemoveItem:this.handleRemoveItem,handleAddEditEntityClick:this.handleAddEditEntityClick}));var t="CNS-multi-selector-div";if(this.state.isDisabled&&(t+=" disabled"),this.state.open)e.push(React.createElement(Cyberoam.MS_addItemList,{key:"MS_addItemListAsKey",config:this.props.config,selectedItems:this.state.selectedItems,handleDataSelection:this.handleDataSelection,handleAddEditEntityClick:this.handleAddEditEntityClick}));else{var i=null!=this.props.config.selectorLabel?this.props.config.selectorLabel:Language.AddNewItem;this.state.isDisabled||"function"==typeof this.props.config.getDisabled&&this.props.config.getDisabled()?e.push(React.createElement("div",{key:"addITemDisabled",className:"CNS-multi-selector-add-item"},React.createElement("span",null,i))):e.push(React.createElement("div",{key:"addITemEnabled",className:"CNS-multi-selector-add-item",onClick:this.openAddItemList},React.createElement("span",null,i)))}return React.createElement("div",{className:t,ref:"multiSelector",tabIndex:"0",onKeyPress:this.handleKeyUp},e)}});Cyberoam.SearchList=React.createClass({displayName:"SearchList",handleSearch:function(e){this.props.handleSearch(e,ReactDOM.findDOMNode(this.refs.searchText))},addRecord:function(e){var t=ReactDOM.findDOMNode(this.refs.searchText);this.props.addRecord(e,t)},componentDidMount:function(){ReactDOM.findDOMNode(this.refs.searchText)},render:function(){var e={};return this.props.config.style&&this.props.config.style.width&&(e={width:this.props.config.style.width-65+"px"}),this.props.disabled?React.createElement("li",{className:"CNS-Multi-Input-TextBox"},React.createElement("ul",{className:"CNS-search-txt"},React.createElement("input",{type:"text",placeholder:Language.Search+" / "+Language.Add,onKeyUp:this.handleSearch,style:e,ref:"searchText"}),React.createElement("i",{className:"fa fa-plus disable"}))):React.createElement("li",{className:"CNS-Multi-Input-TextBox"},React.createElement("ul",{className:"CNS-search-txt"},React.createElement("input",{type:"text",placeholder:Language.Search+" / "+Language.Add,onKeyUp:this.handleSearch,style:e,ref:"searchText"}),React.createElement("i",{className:"fa fa-plus",onClick:this.addRecord})))}}),Cyberoam.InputListData=React.createClass({displayName:"InputListData",handleEdit:function(e){this.props.handleEdit(e,ReactDOM.findDOMNode(this.refs["labelSpan"+this.props.index]).innerHTML,this.props.index)},componentDidUpdate:function(){this.refs["editItemTextBox"+this.props.index]&&ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]).focus()},handleUpdate:function(e){var t=this.props.index,a=ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]);this.props.handleUpdate(e,t,a.value,a,this.props.label)},handleOnEnterUpdate:function(e){var t=this.props.index,a=ReactDOM.findDOMNode(this.refs["editItemTextBox"+this.props.index]);this.props.disabled||13!=e.keyCode||this.props.handleUpdate(e,t,a.value,a,this.props.label)},handleDelete:function(e){this.props.handleDelete(e,this.props.index)},handleCancel:function(){this.props.handleCancel()},render:function(){var e=[],t={};return this.props.config.style&&this.props.config.style.width&&(t={width:this.props.config.style.width-85+"px"}
5019),1==this.props.isEditOpen?(e.push(React.createElement("input",{type:"text",ref:"editItemTextBox"+this.props.index,style:t,defaultValue:this.props.label,onKeyUp:this.handleOnEnterUpdate,className:"CNSSearchTxt"})),e.push(React.createElement("i",{className:"fa fa-times",onClick:this.handleCancel})),e.push(React.createElement("i",{className:"fa fa-floppy-o",onClick:this.handleUpdate}))):(e.push(React.createElement("span",{ref:"labelSpan"+this.props.index,style:t,title:this.props.label},this.props.label)),this.props.disabled?(e.push(React.createElement("i",{className:"fa fa-minus-circle disable"})),null!=this.props.config.iseditable&&1!=this.props.config.iseditable||e.push(React.createElement("i",{className:"fa fa-pencil disable"}))):(e.push(React.createElement("i",{className:"fa fa-minus-circle",onClick:this.handleDelete})),null!=this.props.config.iseditable&&1!=this.props.config.iseditable||e.push(React.createElement("i",{className:"fa fa-pencil",onClick:this.handleEdit})))),React.createElement("li",null,e)}}),Cyberoam.InputList=React.createClass({displayName:"InputList",getInitialState:function(){return{index:"-1"}},handleEdit:function(e,t,a){this.setState({index:a})},handleCancel:function(){this.setState({index:"-1"})},handleUpdate:function(e,t,a,s,i){this.props.config.setValueBeforeEnter&&"function"==typeof this.props.config.setValueBeforeEnter&&(s.value=this.props.config.setValueBeforeEnter(s.value,this)),this.props.handleUpdate(e,t,a,s,i),this.setState({index:"-1"})},handleDelete:function(e,t){this.props.handleDelete(e,t)},render:function(){var e=[],t=this.props.records;for(var a in t)t.hasOwnProperty(a)&&e.push(React.createElement(Cyberoam.InputListData,{isEditOpen:a==this.state.index,handleCancel:this.handleCancel,handleEdit:this.handleEdit,config:this.props.config,disabled:this.props.disabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,index:a,label:t[a].label,key:t[a].key}));var s=this.props.config.max_height?{"max-height":this.props.config.max_height}:null;return React.createElement("li",{className:"CNS-Multi-Input-data-list"},React.createElement("ul",s,e))}}),Cyberoam.MainContainer=React.createClass({displayName:"MainContainer",getInitialState:function(){return{searchText:""}},handleSearch:function(e,t){this.setState({searchText:t.value}),this.props.disabled||13!=e.keyCode||(this.props.addRecord(e,t),this.setState({searchText:""}),t.value="")},handleDelete:function(e,t){this.props.handleDelete(e,t)},addRecord:function(e,t){this.props.addRecord(e,t),this.setState({searchText:""}),t.value=""},handleUpdate:function(e,t,a,s,i){this.props.handleUpdate(e,t,a,s,i),this.setState({searchText:""})},render:function(){for(var e=[],t={},a=0;a<this.props.data.length;a++)0==this.props.data[a].label.toLowerCase().indexOf(this.state.searchText.toLowerCase())&&(t[a]={key:this.props.data[a].key,label:this.props.data[a].label});e.push(React.createElement(Cyberoam.InputList,{disabled:this.props.disabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,config:this.props.config,records:t})),e.push(React.createElement(Cyberoam.SearchList,{disabled:this.props.disabled,addRecord:this.addRecord,handleSearch:this.handleSearch,config:this.props.config}));var s={};return this.props.config.style&&this.props.config.style.width&&(s={width:this.props.config.style.width+"px"}),React.createElement("ul",{className:"CNS-Multi-Input-list",style:s},e)}}),Cyberoam.MultiInputList=React.createClass({displayName:"MultiInputList",getInitialState:function(){return{data:this.props?.config?.data?Object.keys(this.props?.config?.data).map((e=>{const t=this.props.config.data[e].label||e;return{key:t,label:t}})):[],isDisabled:this.props.config.isDisabled}},disabled:function(e){this.setState({isDisabled:e})},isDisabled:function(){return this.state.isDisabled},getRecordLabel:function(){var e=[];for(var t in this.state.data)this.state.data.hasOwnProperty(t)&&e.push(this.state.data[t].label);return e},getRecordKey:function(){for(var e=[],t=0;t<this.state.data.length;t++)e.push(this.state.data[t].key);return e},getRecord:function(){for(var e={},t=0;t<this.state.data.length;t++)e[this.state.data[t].key]={key:this.state.data[t].key,label:this.state.data[t].label};return e},handleDelete:function(e,t){var a=!0;this.props.config.deleteValidation&&(a=this.props.config.deleteValidation(this.state.data[t].key,this)),a&&(this.props.config.deleteOperation?(a=this.props.config.deleteOperation(this,this.state.data[t].key,t,this))||this.setState({data:this.state.data}):(this.state.data.splice(t,1),this.setState({data:this.state.data})))},deleteNode:function(e){for(var t=0;t<this.state.data.length;t++)if(this.state.data[t].key==e.key)return this.state.data.splice(t,1),void this.setState({data:this.state.data})},deleteAll:function(){this.state.data.length=0,this.setState({data:this.state.data})},insertNode:function(e){this.state.isDisabled||(this.state.data[this.state.data.length]={key:e.key,label:e.label}),this.setState({data:Cyberoam.cleanup(this.state.data,"key")})},addRecord:function(e,t){this.props.config.setValueBeforeEnter&&"function"==typeof this.props.config.setValueBeforeEnter&&(t.value=this.props.config.setValueBeforeEnter(t.value,this)),this.props.config.beforeAdd&&(t.value=this.props.config.beforeAdd(t.value));var a=!0;this.props.config.addValidation&&(a=this.props.config.addValidation(t.value,this)),a&&(this.props.config.addOperation?(a=this.props.config.addOperation(t.value,this))||this.setState({data:Cyberoam.cleanup(this.state.data,"key")}):""!=t.value.trim()&&(this.state.data[this.state.data.length]={key:t.value,label:t.value},this.setState({data:Cyberoam.cleanup(this.state.data,"key")})))},setListBody:function(e){var t=[];for(var a in e)void 0===e[a].label&&(e[a].label=a),t.push({key:e[a].label,label:e[a].label});this.setState({data:t})},handleUpdate:function(e,t,a,s,i){this.props.config.beforeEdit&&(s.value=this.props.config.beforeEdit(s.value));var n=!0;
5019i!=s.value&&(this.props.config.editValidation?n=this.props.config.editValidation(s.value,this):this.props.config.addValidation&&(n=this.props.config.addValidation(s.value,this))),n&&""!=s.value.trim()&&""!=a.trim()&&(this.state.data[t]={key:s.value,label:s.value},this.setState({data:Cyberoam.cleanup(this.state.data,"key")})),this.props.config.editOperation&&this.props.config.editOperation(s.value,this)},render:function(){return React.createElement("div",null,React.createElement(Cyberoam.MainContainer,{data:this.state.data,config:this.props.config,disabled:this.state.isDisabled,handleUpdate:this.handleUpdate,handleDelete:this.handleDelete,addRecord:this.addRecord}))}}),Cyberoam.cleanup=function(e,t){var a=[],s={};for(var i in e)s[e[i][t]]=e[i];for(i in s)s.hasOwnProperty(i)&&a.push(s[i]);return a};var GlobalSearchComponent=React.createClass({displayName:"GlobalSearchComponent",results:null,mixins:[DropdownStateMixin],propTypes:{filter:React.PropTypes.string,maxLength:React.PropTypes.string,handleSearch:React.PropTypes.func.isRequired,onItemClick:React.PropTypes.func.isRequired},getInitialState:function(){return{filter:this.props.filter,cursor:-1}},componentWillReceiveProps:function(e){this.setState({filter:this.truncateFilter(e.filter)})},render:function(){var e=this,t=this.state.filter,s=this.state.cursor,a=[React.DOM.input({key:"global-search-bar-input",className:"global-search-bar-input",type:"text",placeholder:Cyberoam.getTranslatedMSG(Language.Search),value:this.state.filter,maxLength:this.props.maxLength,onChange:this.onChange,onKeyUp:this.onKeyUp,onKeyDown:this.onKeyDown,onFocus:this.onFocus})];if(t?a.push(React.DOM.span({key:"clear-icon",className:"fa fa-times",onClick:this.clearSearch})):a.push(React.DOM.span({key:"search-icon",className:"fa fa-search"})),this.state.open)if(this.results&&this.results.length){var i=[];this.results.forEach((function(a,r){i.push(React.createElement("li",{key:r,onClick:e.onItemClick.bind(this,a),className:s===r?"active-item":""},React.createElement(Highlight,{key:a.displayLabel+r,highlightText:t,text:a.displayLabel})))})),a.push(React.DOM.div({key:"global-search-items",className:"global-search-items",onClick:this.handleClick},React.DOM.ul({},i)))}else a.push(React.DOM.div({key:"global-search-items",className:"global-search-items"},React.DOM.div({className:"no-result"},Cyberoam.getTranslatedMSG(Language.NoRecordFound))));return React.DOM.div({key:"global-search-bar",className:"global-search-bar"},a)},truncateFilter:function(e){return this.props.maxLength?e?e.substring(0,this.props.maxLength).trim():"":e},onChange:function(e){this.setState({filter:e.target.value});var t=Cyberoam.trim(e.target.value);this.setState({cursor:-1}),t&&t.length>=2?(this.results=this.props.handleSearch(t),this.setDropdownState(!0)):this.setDropdownState(!1)},onKeyUp:function(e){27===e.keyCode&&this.clearSearch()},onKeyDown:function(e){var t=this.state.cursor;if((38===e.keyCode||40===e.keyCode)&&this.results&&this.results.length)return 38===e.keyCode&&t>0?t--:40===e.keyCode&&t<this.results.length-1&&t++,this.setState({cursor:t},this.scrollToActiveEl),!1;if(13===e.keyCode&&this.results&&this.results.length&&t>-1&&t<=this.results.length){var s=this.results[t];s&&(this.onItemClick(s),this.setDropdownState(!1),document.getElementsByClassName("global-search-bar-input")[0].blur())}},onFocus:function(){var e=Cyberoam.trim(this.state.filter);this.setState({cursor:-1}),e&&e.length>=2&&(this.results=this.props.handleSearch(this.state.filter),this.setDropdownState(!0))},scrollToActiveEl:function(){var e=document.querySelector(".global-search-items li.active-item"),t=$(".global-search-items").scrollTop();if(e){var s=e.offsetTop,a=0;s<t?a=s-t-15:s>t+232&&(a=s-(t+232)+15),$(".global-search-items").animate({scrollTop:t+a},100)}},handleClick:function(e){e.preventDefault(),this.setDropdownState(!this.state.open)},onItemClick:function(e){this.props.onItemClick(e),this.clearSearch()},clearSearch:function(){this.results=[],this.setState({filter:"",cursor:-1})}}),Highlight=React.createClass({displayName:"Highlight",propTypes:{key:React.PropTypes.string,highlightText:React.PropTypes.string,text:React.PropTypes.string},escapeRegExp:function(e){return Cyberoam.trim(e||"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},render:function(){var e=new RegExp("("+this.escapeRegExp(this.props.highlightText)+")","ig"),t=this.props.text.split(e),s=[];return this.props.highlightText?t.forEach((function(t,a){e.test(t)?s.push(React.DOM.span({className:"highlight",key:t+a},t)):s.push(React.DOM.span({key:t+a},t))})):s.push(React.DOM.span(null,this.props.text)),React.createElement("label",{key:"label-"+this.props.key},s)}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.