From a4a62be6987142763b1800873bb5ead1b6e9691f Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 09:39:07 -0700 Subject: UI tweaks, get JSXTransformer out. --- ui/JSXTransformer.min.js | 1820 ---------------------------------------------- ui/ZeroTierNetwork.jsx | 14 +- ui/ZeroTierNode.jsx | 49 +- ui/index.html | 7 +- ui/zerotier.css | 57 +- 5 files changed, 78 insertions(+), 1869 deletions(-) delete mode 100644 ui/JSXTransformer.min.js diff --git a/ui/JSXTransformer.min.js b/ui/JSXTransformer.min.js deleted file mode 100644 index 5a34e7f7..00000000 --- a/ui/JSXTransformer.min.js +++ /dev/null @@ -1,1820 +0,0 @@ - -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSXTransformer=f()}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;osourceLines.length){return'';} -var erroneousLine=sourceLines[e.lineNumber-1];var indentation=0;erroneousLine=erroneousLine.replace(/^\s+/,function(leadingSpaces){indentation=leadingSpaces.length;return'';});var LIMIT=30;var errorColumn=e.column-indentation;if(errorColumn>LIMIT){erroneousLine='... '+erroneousLine.slice(errorColumn-LIMIT);errorColumn=4+LIMIT;} -if(erroneousLine.length-errorColumn>LIMIT){erroneousLine=erroneousLine.slice(0,errorColumn+LIMIT)+' ...';} -var message='\n\n'+erroneousLine+'\n';message+=new Array(errorColumn-1).join(' ')+'^';return message;} -function transformCode(code,url,options){try{var transformed=transformReact(code,options);}catch(e){e.message+='\n at ';if(url){if('fileName'in e){e.fileName=url;} -e.message+=url+':'+e.lineNumber+':'+e.columnNumber;}else{e.message+=location.href;} -e.message+=createSourceCodeErrorMessage(code,e);throw e;} -if(!transformed.sourceMap){return transformed.code;} -var source;if(url==null){source='Inline JSX script';inlineScriptCount++;if(inlineScriptCount>1){source+=' ('+inlineScriptCount+')';}}else if(dummyAnchor){dummyAnchor.href=url;source=dummyAnchor.pathname.substr(1);} -return(transformed.code+'\n'+ -inlineSourceMap(transformed.sourceMap,code,source));} -function run(code,url,options){var scriptEl=document.createElement('script');scriptEl.text=transformCode(code,url,options);headEl.appendChild(scriptEl);} -function load(url,successCallback,errorCallback){var xhr;xhr=window.ActiveXObject?new window.ActiveXObject('Microsoft.XMLHTTP'):new XMLHttpRequest();xhr.open('GET',url,true);if('overrideMimeType'in xhr){xhr.overrideMimeType('text/plain');} -xhr.onreadystatechange=function(){if(xhr.readyState===4){if(xhr.status===0||xhr.status===200){successCallback(xhr.responseText);}else{errorCallback();throw new Error('Could not load '+url);}}};return xhr.send(null);} -function loadScripts(scripts){var result=[];var count=scripts.length;function check(){var script,i;for(i=0;ikMaxLength){throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x'+ -kMaxLength.toString(16)+' bytes')} -if(length<0)length=0 -else length>>>=0 -if(Buffer.TYPED_ARRAY_SUPPORT){self=Buffer._augment(new Uint8Array(length))}else{self.length=length -self._isBuffer=true} -var i -if(Buffer.TYPED_ARRAY_SUPPORT&&typeof subject.byteLength==='number'){self._set(subject)}else if(isArrayish(subject)){if(Buffer.isBuffer(subject)){for(i=0;i0&&length<=Buffer.poolSize)self.parent=rootParent -return self} -function SlowBuffer(subject,encoding){if(!(this instanceof SlowBuffer))return new SlowBuffer(subject,encoding) -var buf=new Buffer(subject,encoding) -delete buf.parent -return buf} -Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)} -Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('Arguments must be Buffers')} -if(a===b)return 0 -var x=a.length -var y=b.length -for(var i=0,len=Math.min(x,y);i>>1 -break -case'utf8':case'utf-8':ret=utf8ToBytes(str).length -break -case'base64':ret=base64ToBytes(str).length -break -default:ret=str.length} -return ret} -Buffer.prototype.length=undefined -Buffer.prototype.parent=undefined -Buffer.prototype.toString=function toString(encoding,start,end){var loweredCase=false -start=start>>>0 -end=end===undefined||end===Infinity?this.length:end>>>0 -if(!encoding)encoding='utf8' -if(start<0)start=0 -if(end>this.length)end=this.length -if(end<=start)return'' -while(true){switch(encoding){case'hex':return hexSlice(this,start,end) -case'utf8':case'utf-8':return utf8Slice(this,start,end) -case'ascii':return asciiSlice(this,start,end) -case'binary':return binarySlice(this,start,end) -case'base64':return base64Slice(this,start,end) -case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return utf16leSlice(this,start,end) -default:if(loweredCase)throw new TypeError('Unknown encoding: '+encoding) -encoding=(encoding+'').toLowerCase() -loweredCase=true}}} -Buffer.prototype.equals=function equals(b){if(!Buffer.isBuffer(b))throw new TypeError('Argument must be a Buffer') -if(this===b)return true -return Buffer.compare(this,b)===0} -Buffer.prototype.inspect=function inspect(){var str='' -var max=exports.INSPECT_MAX_BYTES -if(this.length>0){str=this.toString('hex',0,max).match(/.{2}/g).join(' ') -if(this.length>max)str+=' ... '} -return''} -Buffer.prototype.compare=function compare(b){if(!Buffer.isBuffer(b))throw new TypeError('Argument must be a Buffer') -if(this===b)return 0 -return Buffer.compare(this,b)} -Buffer.prototype.indexOf=function indexOf(val,byteOffset){if(byteOffset>0x7fffffff)byteOffset=0x7fffffff -else if(byteOffset<-0x80000000)byteOffset=-0x80000000 -byteOffset>>=0 -if(this.length===0)return-1 -if(byteOffset>=this.length)return-1 -if(byteOffset<0)byteOffset=Math.max(this.length+byteOffset,0) -if(typeof val==='string'){if(val.length===0)return-1 -return String.prototype.indexOf.call(this,val,byteOffset)} -if(Buffer.isBuffer(val)){return arrayIndexOf(this,val,byteOffset)} -if(typeof val==='number'){if(Buffer.TYPED_ARRAY_SUPPORT&&Uint8Array.prototype.indexOf==='function'){return Uint8Array.prototype.indexOf.call(this,val,byteOffset)} -return arrayIndexOf(this,[val],byteOffset)} -function arrayIndexOf(arr,val,byteOffset){var foundIndex=-1 -for(var i=0;byteOffset+iremaining){length=remaining}} -var strLen=string.length -if(strLen%2!==0)throw new Error('Invalid hex string') -if(length>strLen/2){length=strLen/2} -for(var i=0;ithis.length){throw new RangeError('attempt to write outside buffer bounds')} -var remaining=this.length-offset -if(!length){length=remaining}else{length=Number(length) -if(length>remaining){length=remaining}} -encoding=String(encoding||'utf8').toLowerCase() -var ret -switch(encoding){case'hex':ret=hexWrite(this,string,offset,length) -break -case'utf8':case'utf-8':ret=utf8Write(this,string,offset,length) -break -case'ascii':ret=asciiWrite(this,string,offset,length) -break -case'binary':ret=binaryWrite(this,string,offset,length) -break -case'base64':ret=base64Write(this,string,offset,length) -break -case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':ret=utf16leWrite(this,string,offset,length) -break -default:throw new TypeError('Unknown encoding: '+encoding)} -return ret} -Buffer.prototype.toJSON=function toJSON(){return{type:'Buffer',data:Array.prototype.slice.call(this._arr||this,0)}} -function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}} -function utf8Slice(buf,start,end){var res='' -var tmp='' -end=Math.min(buf.length,end) -for(var i=start;ilen)end=len -var out='' -for(var i=start;ilen){start=len} -if(end<0){end+=len -if(end<0)end=0}else if(end>len){end=len} -if(endlength)throw new RangeError('Trying to access beyond buffer length')} -Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0 -byteLength=byteLength>>>0 -if(!noAssert)checkOffset(offset,byteLength,this.length) -var val=this[offset] -var mul=1 -var i=0 -while(++i>>0 -byteLength=byteLength>>>0 -if(!noAssert){checkOffset(offset,byteLength,this.length)} -var val=this[offset+ --byteLength] -var mul=1 -while(byteLength>0&&(mul*=0x100)){val+=this[offset+ --byteLength]*mul} -return val} -Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length) -return this[offset]} -Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length) -return this[offset]|(this[offset+1]<<8)} -Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length) -return(this[offset]<<8)|this[offset+1]} -Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return((this[offset])|(this[offset+1]<<8)|(this[offset+2]<<16))+ -(this[offset+3]*0x1000000)} -Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return(this[offset]*0x1000000)+ -((this[offset+1]<<16)|(this[offset+2]<<8)|this[offset+3])} -Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0 -byteLength=byteLength>>>0 -if(!noAssert)checkOffset(offset,byteLength,this.length) -var val=this[offset] -var mul=1 -var i=0 -while(++i=mul)val-=Math.pow(2,8*byteLength) -return val} -Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0 -byteLength=byteLength>>>0 -if(!noAssert)checkOffset(offset,byteLength,this.length) -var i=byteLength -var mul=1 -var val=this[offset+ --i] -while(i>0&&(mul*=0x100)){val+=this[offset+ --i]*mul} -mul*=0x80 -if(val>=mul)val-=Math.pow(2,8*byteLength) -return val} -Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length) -if(!(this[offset]&0x80))return(this[offset]) -return((0xff-this[offset]+1)* -1)} -Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length) -var val=this[offset]|(this[offset+1]<<8) -return(val&0x8000)?val|0xFFFF0000:val} -Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length) -var val=this[offset+1]|(this[offset]<<8) -return(val&0x8000)?val|0xFFFF0000:val} -Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return(this[offset])|(this[offset+1]<<8)|(this[offset+2]<<16)|(this[offset+3]<<24)} -Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return(this[offset]<<24)|(this[offset+1]<<16)|(this[offset+2]<<8)|(this[offset+3])} -Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return ieee754.read(this,offset,true,23,4)} -Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length) -return ieee754.read(this,offset,false,23,4)} -Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length) -return ieee754.read(this,offset,true,52,8)} -Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length) -return ieee754.read(this,offset,false,52,8)} -function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('buffer must be a Buffer instance') -if(value>max||valuebuf.length)throw new RangeError('index out of range')} -Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value -offset=offset>>>0 -byteLength=byteLength>>>0 -if(!noAssert)checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),0) -var mul=1 -var i=0 -this[offset]=value&0xFF -while(++i>>0&0xFF} -return offset+byteLength} -Buffer.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value -offset=offset>>>0 -byteLength=byteLength>>>0 -if(!noAssert)checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength),0) -var i=byteLength-1 -var mul=1 -this[offset+i]=value&0xFF -while(--i>=0&&(mul*=0x100)){this[offset+i]=(value/mul)>>>0&0xFF} -return offset+byteLength} -Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,1,0xff,0) -if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value) -this[offset]=value -return offset+1} -function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=0xffff+value+1 -for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}} -Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,2,0xffff,0) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value -this[offset+1]=(value>>>8)}else{objectWriteUInt16(this,value,offset,true)} -return offset+2} -Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,2,0xffff,0) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=(value>>>8) -this[offset+1]=value}else{objectWriteUInt16(this,value,offset,false)} -return offset+2} -function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=0xffffffff+value+1 -for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8)&0xff}} -Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,4,0xffffffff,0) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=(value>>>24) -this[offset+2]=(value>>>16) -this[offset+1]=(value>>>8) -this[offset]=value}else{objectWriteUInt32(this,value,offset,true)} -return offset+4} -Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,4,0xffffffff,0) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=(value>>>24) -this[offset+1]=(value>>>16) -this[offset+2]=(value>>>8) -this[offset+3]=value}else{objectWriteUInt32(this,value,offset,false)} -return offset+4} -Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value -offset=offset>>>0 -if(!noAssert){checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength-1)-1,-Math.pow(2,8*byteLength-1))} -var i=0 -var mul=1 -var sub=value<0?1:0 -this[offset]=value&0xFF -while(++i>0)-sub&0xFF} -return offset+byteLength} -Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value -offset=offset>>>0 -if(!noAssert){checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength-1)-1,-Math.pow(2,8*byteLength-1))} -var i=byteLength-1 -var mul=1 -var sub=value<0?1:0 -this[offset+i]=value&0xFF -while(--i>=0&&(mul*=0x100)){this[offset+i]=((value/mul)>>0)-sub&0xFF} -return offset+byteLength} -Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,1,0x7f,-0x80) -if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value) -if(value<0)value=0xff+value+1 -this[offset]=value -return offset+1} -Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,2,0x7fff,-0x8000) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value -this[offset+1]=(value>>>8)}else{objectWriteUInt16(this,value,offset,true)} -return offset+2} -Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,2,0x7fff,-0x8000) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=(value>>>8) -this[offset+1]=value}else{objectWriteUInt16(this,value,offset,false)} -return offset+2} -Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,4,0x7fffffff,-0x80000000) -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value -this[offset+1]=(value>>>8) -this[offset+2]=(value>>>16) -this[offset+3]=(value>>>24)}else{objectWriteUInt32(this,value,offset,true)} -return offset+4} -Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value -offset=offset>>>0 -if(!noAssert)checkInt(this,value,offset,4,0x7fffffff,-0x80000000) -if(value<0)value=0xffffffff+value+1 -if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=(value>>>24) -this[offset+1]=(value>>>16) -this[offset+2]=(value>>>8) -this[offset+3]=value}else{objectWriteUInt32(this,value,offset,false)} -return offset+4} -function checkIEEE754(buf,value,offset,ext,max,min){if(value>max||valuebuf.length)throw new RangeError('index out of range') -if(offset<0)throw new RangeError('index out of range')} -function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e+38,-3.4028234663852886e+38)} -ieee754.write(buf,value,offset,littleEndian,23,4) -return offset+4} -Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)} -Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)} -function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157E+308,-1.7976931348623157E+308)} -ieee754.write(buf,value,offset,littleEndian,52,8) -return offset+8} -Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)} -Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)} -Buffer.prototype.copy=function copy(target,target_start,start,end){if(!start)start=0 -if(!end&&end!==0)end=this.length -if(target_start>=target.length)target_start=target.length -if(!target_start)target_start=0 -if(end>0&&end=this.length)throw new RangeError('sourceStart out of bounds') -if(end<0)throw new RangeError('sourceEnd out of bounds') -if(end>this.length)end=this.length -if(target.length-target_start=this.length)throw new RangeError('start out of bounds') -if(end<0||end>this.length)throw new RangeError('end out of bounds') -var i -if(typeof value==='number'){for(i=start;i0xD7FF&&codePoint<0xE000){if(leadSurrogate){if(codePoint<0xDC00){if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD) -leadSurrogate=codePoint -continue}else{codePoint=leadSurrogate-0xD800<<10|codePoint-0xDC00|0x10000 -leadSurrogate=null}}else{if(codePoint>0xDBFF){if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD) -continue}else if(i+1===length){if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD) -continue}else{leadSurrogate=codePoint -continue}}}else if(leadSurrogate){if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD) -leadSurrogate=null} -if(codePoint<0x80){if((units-=1)<0)break -bytes.push(codePoint)}else if(codePoint<0x800){if((units-=2)<0)break -bytes.push(codePoint>>0x6|0xC0,codePoint&0x3F|0x80)}else if(codePoint<0x10000){if((units-=3)<0)break -bytes.push(codePoint>>0xC|0xE0,codePoint>>0x6&0x3F|0x80,codePoint&0x3F|0x80)}else if(codePoint<0x200000){if((units-=4)<0)break -bytes.push(codePoint>>0x12|0xF0,codePoint>>0xC&0x3F|0x80,codePoint>>0x6&0x3F|0x80,codePoint&0x3F|0x80)}else{throw new Error('Invalid code point')}} -return bytes} -function asciiToBytes(str){var byteArray=[] -for(var i=0;i>8 -lo=c%256 -byteArray.push(lo) -byteArray.push(hi)} -return byteArray} -function base64ToBytes(str){return base64.toByteArray(base64clean(str))} -function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length)||(i>=src.length))break -dst[i+offset]=src[i]} -return i} -function decodeUtf8Char(str){try{return decodeURIComponent(str)}catch(err){return String.fromCharCode(0xFFFD)}}},{"base64-js":4,"ieee754":5,"is-array":6}],4:[function(_dereq_,module,exports){var lookup='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';;(function(exports){'use strict';var Arr=(typeof Uint8Array!=='undefined')?Uint8Array:Array -var PLUS='+'.charCodeAt(0) -var SLASH='/'.charCodeAt(0) -var NUMBER='0'.charCodeAt(0) -var LOWER='a'.charCodeAt(0) -var UPPER='A'.charCodeAt(0) -var PLUS_URL_SAFE='-'.charCodeAt(0) -var SLASH_URL_SAFE='_'.charCodeAt(0) -function decode(elt){var code=elt.charCodeAt(0) -if(code===PLUS||code===PLUS_URL_SAFE) -return 62 -if(code===SLASH||code===SLASH_URL_SAFE) -return 63 -if(code0){throw new Error('Invalid string. Length must be a multiple of 4')} -var len=b64.length -placeHolders='='===b64.charAt(len-2)?2:'='===b64.charAt(len-1)?1:0 -arr=new Arr(b64.length*3/4-placeHolders) -l=placeHolders>0?b64.length-4:b64.length -var L=0 -function push(v){arr[L++]=v} -for(i=0,j=0;i>16) -push((tmp&0xFF00)>>8) -push(tmp&0xFF)} -if(placeHolders===2){tmp=(decode(b64.charAt(i))<<2)|(decode(b64.charAt(i+1))>>4) -push(tmp&0xFF)}else if(placeHolders===1){tmp=(decode(b64.charAt(i))<<10)|(decode(b64.charAt(i+1))<<4)|(decode(b64.charAt(i+2))>>2) -push((tmp>>8)&0xFF) -push(tmp&0xFF)} -return arr} -function uint8ToBase64(uint8){var i,extraBytes=uint8.length%3,output="",temp,length -function encode(num){return lookup.charAt(num)} -function tripletToBase64(num){return encode(num>>18&0x3F)+encode(num>>12&0x3F)+encode(num>>6&0x3F)+encode(num&0x3F)} -for(i=0,length=uint8.length-extraBytes;i>2) -output+=encode((temp<<4)&0x3F) -output+='==' -break -case 2:temp=(uint8[uint8.length-2]<<8)+(uint8[uint8.length-1]) -output+=encode(temp>>10) -output+=encode((temp>>4)&0x3F) -output+=encode((temp<<2)&0x3F) -output+='=' -break} -return output} -exports.toByteArray=b64ToByteArray -exports.fromByteArray=uint8ToBase64}(typeof exports==='undefined'?(this.base64js={}):exports))},{}],5:[function(_dereq_,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<>1,nBits=-7,i=isLE?(nBytes-1):0,d=isLE?-1:1,s=buffer[offset+i];i+=d;e=s&((1<<(-nBits))-1);s>>=(-nBits);nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8);m=e&((1<<(-nBits))-1);e>>=(-nBits);nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8);if(e===0){e=1-eBias;}else if(e===eMax){return m?NaN:((s?-1:1)*Infinity);}else{m=m+Math.pow(2,mLen);e=e-eBias;} -return(s?-1:1)*m*Math.pow(2,e-mLen);};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<>1,rt=(mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0),i=isLE?0:(nBytes-1),d=isLE?1:-1,s=value<0||(value===0&&1/value<0)?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax;}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2;} -if(e+eBias>=1){value+=rt/c;}else{value+=rt*Math.pow(2,1-eBias);} -if(value*c>=2){e++;c/=2;} -if(e+eBias>=eMax){m=0;e=eMax;}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias;}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0;}} -for(;mLen>=8;buffer[offset+i]=m&0xff,i+=d,m/=256,mLen-=8);e=(e<0;buffer[offset+i]=e&0xff,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=s*128;};},{}],6:[function(_dereq_,module,exports){var isArray=Array.isArray;var str=Object.prototype.toString;module.exports=isArray||function(val){return!!val&&'[object Array]'==str.call(val);};},{}],7:[function(_dereq_,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==='.'){parts.splice(i,1);}else if(last==='..'){parts.splice(i,1);up++;}else if(up){parts.splice(i,1);up--;}} -if(allowAboveRoot){for(;up--;up){parts.unshift('..');}} -return parts;} -var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1);};exports.resolve=function(){var resolvedPath='',resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=(i>=0)?arguments[i]:process.cwd();if(typeof path!=='string'){throw new TypeError('Arguments to path.resolve must be strings');}else if(!path){continue;} -resolvedPath=path+'/'+resolvedPath;resolvedAbsolute=path.charAt(0)==='/';} -resolvedPath=normalizeArray(filter(resolvedPath.split('/'),function(p){return!!p;}),!resolvedAbsolute).join('/');return((resolvedAbsolute?'/':'')+resolvedPath)||'.';};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==='/';path=normalizeArray(filter(path.split('/'),function(p){return!!p;}),!isAbsolute).join('/');if(!path&&!isAbsolute){path='.';} -if(path&&trailingSlash){path+='/';} -return(isAbsolute?'/':'')+path;};exports.isAbsolute=function(path){return path.charAt(0)==='/';};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=='string'){throw new TypeError('Arguments to path.join must be strings');} -return p;}).join('/'));};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=='')break;} -if(start>end)return[];return arr.slice(start,end-start+1);} -var fromParts=trim(from.split('/'));var toParts=trim(to.split('/'));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i';TokenName[Token.Identifier]='Identifier';TokenName[Token.Keyword]='Keyword';TokenName[Token.NullLiteral]='Null';TokenName[Token.NumericLiteral]='Numeric';TokenName[Token.Punctuator]='Punctuator';TokenName[Token.StringLiteral]='String';TokenName[Token.JSXIdentifier]='JSXIdentifier';TokenName[Token.JSXText]='JSXText';TokenName[Token.RegularExpression]='RegularExpression';FnExprTokens=['(','{','[','in','typeof','instanceof','new','return','case','delete','throw','void','=','+=','-=','*=','/=','%=','<<=','>>=','>>>=','&=','|=','^=',',','+','-','*','/','%','++','--','<<','>>','>>>','&','|','^','!','~','&&','||','?',':','===','==','>=','<=','<','>','!=','!=='];Syntax={AnyTypeAnnotation:'AnyTypeAnnotation',ArrayExpression:'ArrayExpression',ArrayPattern:'ArrayPattern',ArrayTypeAnnotation:'ArrayTypeAnnotation',ArrowFunctionExpression:'ArrowFunctionExpression',AssignmentExpression:'AssignmentExpression',BinaryExpression:'BinaryExpression',BlockStatement:'BlockStatement',BooleanTypeAnnotation:'BooleanTypeAnnotation',BreakStatement:'BreakStatement',CallExpression:'CallExpression',CatchClause:'CatchClause',ClassBody:'ClassBody',ClassDeclaration:'ClassDeclaration',ClassExpression:'ClassExpression',ClassImplements:'ClassImplements',ClassProperty:'ClassProperty',ComprehensionBlock:'ComprehensionBlock',ComprehensionExpression:'ComprehensionExpression',ConditionalExpression:'ConditionalExpression',ContinueStatement:'ContinueStatement',DebuggerStatement:'DebuggerStatement',DeclareClass:'DeclareClass',DeclareFunction:'DeclareFunction',DeclareModule:'DeclareModule',DeclareVariable:'DeclareVariable',DoWhileStatement:'DoWhileStatement',EmptyStatement:'EmptyStatement',ExportDeclaration:'ExportDeclaration',ExportBatchSpecifier:'ExportBatchSpecifier',ExportSpecifier:'ExportSpecifier',ExpressionStatement:'ExpressionStatement',ForInStatement:'ForInStatement',ForOfStatement:'ForOfStatement',ForStatement:'ForStatement',FunctionDeclaration:'FunctionDeclaration',FunctionExpression:'FunctionExpression',FunctionTypeAnnotation:'FunctionTypeAnnotation',FunctionTypeParam:'FunctionTypeParam',GenericTypeAnnotation:'GenericTypeAnnotation',Identifier:'Identifier',IfStatement:'IfStatement',ImportDeclaration:'ImportDeclaration',ImportDefaultSpecifier:'ImportDefaultSpecifier',ImportNamespaceSpecifier:'ImportNamespaceSpecifier',ImportSpecifier:'ImportSpecifier',InterfaceDeclaration:'InterfaceDeclaration',InterfaceExtends:'InterfaceExtends',IntersectionTypeAnnotation:'IntersectionTypeAnnotation',LabeledStatement:'LabeledStatement',Literal:'Literal',LogicalExpression:'LogicalExpression',MemberExpression:'MemberExpression',MethodDefinition:'MethodDefinition',ModuleSpecifier:'ModuleSpecifier',NewExpression:'NewExpression',NullableTypeAnnotation:'NullableTypeAnnotation',NumberTypeAnnotation:'NumberTypeAnnotation',ObjectExpression:'ObjectExpression',ObjectPattern:'ObjectPattern',ObjectTypeAnnotation:'ObjectTypeAnnotation',ObjectTypeCallProperty:'ObjectTypeCallProperty',ObjectTypeIndexer:'ObjectTypeIndexer',ObjectTypeProperty:'ObjectTypeProperty',Program:'Program',Property:'Property',QualifiedTypeIdentifier:'QualifiedTypeIdentifier',ReturnStatement:'ReturnStatement',SequenceExpression:'SequenceExpression',SpreadElement:'SpreadElement',SpreadProperty:'SpreadProperty',StringLiteralTypeAnnotation:'StringLiteralTypeAnnotation',StringTypeAnnotation:'StringTypeAnnotation',SwitchCase:'SwitchCase',SwitchStatement:'SwitchStatement',TaggedTemplateExpression:'TaggedTemplateExpression',TemplateElement:'TemplateElement',TemplateLiteral:'TemplateLiteral',ThisExpression:'ThisExpression',ThrowStatement:'ThrowStatement',TupleTypeAnnotation:'TupleTypeAnnotation',TryStatement:'TryStatement',TypeAlias:'TypeAlias',TypeAnnotation:'TypeAnnotation',TypeCastExpression:'TypeCastExpression',TypeofTypeAnnotation:'TypeofTypeAnnotation',TypeParameterDeclaration:'TypeParameterDeclaration',TypeParameterInstantiation:'TypeParameterInstantiation',UnaryExpression:'UnaryExpression',UnionTypeAnnotation:'UnionTypeAnnotation',UpdateExpression:'UpdateExpression',VariableDeclaration:'VariableDeclaration',VariableDeclarator:'VariableDeclarator',VoidTypeAnnotation:'VoidTypeAnnotation',WhileStatement:'WhileStatement',WithStatement:'WithStatement',JSXIdentifier:'JSXIdentifier',JSXNamespacedName:'JSXNamespacedName',JSXMemberExpression:'JSXMemberExpression',JSXEmptyExpression:'JSXEmptyExpression',JSXExpressionContainer:'JSXExpressionContainer',JSXElement:'JSXElement',JSXClosingElement:'JSXClosingElement',JSXOpeningElement:'JSXOpeningElement',JSXAttribute:'JSXAttribute',JSXSpreadAttribute:'JSXSpreadAttribute',JSXText:'JSXText',YieldExpression:'YieldExpression',AwaitExpression:'AwaitExpression'};PropertyKind={Data:1,Get:2,Set:4};ClassPropertyType={'static':'static',prototype:'prototype'};Messages={UnexpectedToken:'Unexpected token %0',UnexpectedNumber:'Unexpected number',UnexpectedString:'Unexpected string',UnexpectedIdentifier:'Unexpected identifier',UnexpectedReserved:'Unexpected reserved word',UnexpectedTemplate:'Unexpected quasi %0',UnexpectedEOS:'Unexpected end of input',NewlineAfterThrow:'Illegal newline after throw',InvalidRegExp:'Invalid regular expression',UnterminatedRegExp:'Invalid regular expression: missing /',InvalidLHSInAssignment:'Invalid left-hand side in assignment',InvalidLHSInFormalsList:'Invalid left-hand side in formals list',InvalidLHSInForIn:'Invalid left-hand side in for-in',MultipleDefaultsInSwitch:'More than one default clause in switch statement',NoCatchOrFinally:'Missing catch or finally after try',UnknownLabel:'Undefined label \'%0\'',Redeclaration:'%0 \'%1\' has already been declared',IllegalContinue:'Illegal continue statement',IllegalBreak:'Illegal break statement',IllegalDuplicateClassProperty:'Illegal duplicate property in class definition',IllegalClassConstructorProperty:'Illegal constructor property in class definition',IllegalReturn:'Illegal return statement',IllegalSpread:'Illegal spread element',StrictModeWith:'Strict mode code may not include a with statement',StrictCatchVariable:'Catch variable may not be eval or arguments in strict mode',StrictVarName:'Variable name may not be eval or arguments in strict mode',StrictParamName:'Parameter name eval or arguments is not allowed in strict mode',StrictParamDupe:'Strict mode function may not have duplicate parameter names',ParameterAfterRestParameter:'Rest parameter must be final parameter of an argument list',DefaultRestParameter:'Rest parameter can not have a default value',ElementAfterSpreadElement:'Spread must be the final element of an element list',PropertyAfterSpreadProperty:'A rest property must be the final property of an object literal',ObjectPatternAsRestParameter:'Invalid rest parameter',ObjectPatternAsSpread:'Invalid spread argument',StrictFunctionName:'Function name may not be eval or arguments in strict mode',StrictOctalLiteral:'Octal literals are not allowed in strict mode.',StrictDelete:'Delete of an unqualified identifier in strict mode.',StrictDuplicateProperty:'Duplicate data property in object literal not allowed in strict mode',AccessorDataProperty:'Object literal may not have data and accessor property with the same name',AccessorGetSet:'Object literal may not have multiple get/set accessors with the same name',StrictLHSAssignment:'Assignment to eval or arguments is not allowed in strict mode',StrictLHSPostfix:'Postfix increment/decrement may not have eval or arguments operand in strict mode',StrictLHSPrefix:'Prefix increment/decrement may not have eval or arguments operand in strict mode',StrictReservedWord:'Use of future reserved word in strict mode',MissingFromClause:'Missing from clause',NoAsAfterImportNamespace:'Missing as after import *',InvalidModuleSpecifier:'Invalid module specifier',IllegalImportDeclaration:'Illegal import declaration',IllegalExportDeclaration:'Illegal export declaration',NoUninitializedConst:'Const must be initialized',ComprehensionRequiresBlock:'Comprehension must have at least one block',ComprehensionError:'Comprehension Error',EachNotAllowed:'Each is not supported',InvalidJSXAttributeValue:'JSX value should be either an expression or a quoted JSX text',ExpectedJSXClosingTag:'Expected corresponding JSX closing tag for %0',AdjacentJSXElements:'Adjacent JSX elements must be wrapped in an enclosing tag',ConfusedAboutFunctionType:'Unexpected token =>. It looks like '+'you are trying to write a function type, but you ended up '+'writing a grouped type followed by an =>, which is a syntax '+'error. Remember, function type parameters are named so function '+'types look like (name1: type1, name2: type2) => returnType. You '+'probably wrote (type1) => returnType'};Regex={NonAsciiIdentifierStart:new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]'),NonAsciiIdentifierPart:new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]'),LeadingZeros:new RegExp('^0+(?!$)')};function assert(condition,message){if(!condition){throw new Error('ASSERT: '+message);}} -function StringMap(){this.$data={};} -StringMap.prototype.get=function(key){key='$'+key;return this.$data[key];};StringMap.prototype.set=function(key,value){key='$'+key;this.$data[key]=value;return this;};StringMap.prototype.has=function(key){key='$'+key;return Object.prototype.hasOwnProperty.call(this.$data,key);};StringMap.prototype["delete"]=function(key){key='$'+key;return delete this.$data[key];};function isDecimalDigit(ch){return(ch>=48&&ch<=57);} -function isHexDigit(ch){return'0123456789abcdefABCDEF'.indexOf(ch)>=0;} -function isOctalDigit(ch){return'01234567'.indexOf(ch)>=0;} -function isWhiteSpace(ch){return(ch===32)||(ch===9)||(ch===0xB)||(ch===0xC)||(ch===0xA0)||(ch>=0x1680&&'\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFF'.indexOf(String.fromCharCode(ch))>0);} -function isLineTerminator(ch){return(ch===10)||(ch===13)||(ch===0x2028)||(ch===0x2029);} -function isIdentifierStart(ch){return(ch===36)||(ch===95)||(ch>=65&&ch<=90)||(ch>=97&&ch<=122)||(ch===92)||((ch>=0x80)&&Regex.NonAsciiIdentifierStart.test(String.fromCharCode(ch)));} -function isIdentifierPart(ch){return(ch===36)||(ch===95)||(ch>=65&&ch<=90)||(ch>=97&&ch<=122)||(ch>=48&&ch<=57)||(ch===92)||((ch>=0x80)&&Regex.NonAsciiIdentifierPart.test(String.fromCharCode(ch)));} -function isFutureReservedWord(id){switch(id){case'class':case'enum':case'export':case'extends':case'import':case'super':return true;default:return false;}} -function isStrictModeReservedWord(id){switch(id){case'implements':case'interface':case'package':case'private':case'protected':case'public':case'static':case'yield':case'let':return true;default:return false;}} -function isRestrictedWord(id){return id==='eval'||id==='arguments';} -function isKeyword(id){if(strict&&isStrictModeReservedWord(id)){return true;} -switch(id.length){case 2:return(id==='if')||(id==='in')||(id==='do');case 3:return(id==='var')||(id==='for')||(id==='new')||(id==='try')||(id==='let');case 4:return(id==='this')||(id==='else')||(id==='case')||(id==='void')||(id==='with')||(id==='enum');case 5:return(id==='while')||(id==='break')||(id==='catch')||(id==='throw')||(id==='const')||(id==='class')||(id==='super');case 6:return(id==='return')||(id==='typeof')||(id==='delete')||(id==='switch')||(id==='export')||(id==='import');case 7:return(id==='default')||(id==='finally')||(id==='extends');case 8:return(id==='function')||(id==='continue')||(id==='debugger');case 10:return(id==='instanceof');default:return false;}} -function addComment(type,value,start,end,loc){var comment;assert(typeof start==='number','Comment must have valid position');if(state.lastCommentStart>=start){return;} -state.lastCommentStart=start;comment={type:type,value:value};if(extra.range){comment.range=[start,end];} -if(extra.loc){comment.loc=loc;} -extra.comments.push(comment);if(extra.attachComment){extra.leadingComments.push(comment);extra.trailingComments.push(comment);}} -function skipSingleLineComment(){var start,loc,ch,comment;start=index-2;loc={start:{line:lineNumber,column:index-lineStart-2}};while(index=length){throwError({},Messages.UnexpectedToken,'ILLEGAL');}}else if(ch===42){if(source.charCodeAt(index+1)===47){++index;++index;if(extra.comments){comment=source.slice(start+2,index-2);loc.end={line:lineNumber,column:index-lineStart};addComment('Block',comment,start,index,loc);} -return;} -++index;}else{++index;}} -throwError({},Messages.UnexpectedToken,'ILLEGAL');} -function skipComment(){var ch;while(index0x10FFFF||ch!=='}'){throwError({},Messages.UnexpectedToken,'ILLEGAL');} -if(code<=0xFFFF){return String.fromCharCode(code);} -cu1=((code-0x10000)>>10)+0xD800;cu2=((code-0x10000)&1023)+0xDC00;return String.fromCharCode(cu1,cu2);} -function getEscapedIdentifier(){var ch,id;ch=source.charCodeAt(index++);id=String.fromCharCode(ch);if(ch===92){if(source.charCodeAt(index)!==117){throwError({},Messages.UnexpectedToken,'ILLEGAL');} -++index;ch=scanHexEscape('u');if(!ch||ch==='\\'||!isIdentifierStart(ch.charCodeAt(0))){throwError({},Messages.UnexpectedToken,'ILLEGAL');} -id=ch;} -while(index'&&ch2==='>'&&ch3==='>'){if(ch4==='='){index+=4;return{type:Token.Punctuator,value:'>>>=',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};}} -if(ch1==='>'&&ch2==='>'&&ch3==='>'&&!state.inType){index+=3;return{type:Token.Punctuator,value:'>>>',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1==='<'&&ch2==='<'&&ch3==='='){index+=3;return{type:Token.Punctuator,value:'<<=',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1==='>'&&ch2==='>'&&ch3==='='){index+=3;return{type:Token.Punctuator,value:'>>=',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1==='.'&&ch2==='.'&&ch3==='.'){index+=3;return{type:Token.Punctuator,value:'...',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1===ch2&&('+-<>&|'.indexOf(ch1)>=0)&&!state.inType){index+=2;return{type:Token.Punctuator,value:ch1+ch2,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1==='='&&ch2==='>'){index+=2;return{type:Token.Punctuator,value:'=>',lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if('<>=!+-*%&|^/'.indexOf(ch1)>=0){++index;return{type:Token.Punctuator,value:ch1,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -if(ch1==='.'){++index;return{type:Token.Punctuator,value:ch1,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]};} -throwError({},Messages.UnexpectedToken,'ILLEGAL');} -function scanHexLiteral(start){var number='';while(index=0&&index=0&&index=0){tmp=tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g,function($0,$1){if(parseInt($1,16)<=0x10FFFF){return'x';} -throwError({},Messages.InvalidRegExp);}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,'x');} -try{value=new RegExp(tmp);}catch(e){throwError({},Messages.InvalidRegExp);} -try{return new RegExp(pattern,flags);}catch(exception){return null;}} -function scanRegExpBody(){var ch,str,classMarker,terminated,body;ch=source[index];assert(ch==='/','Regular expression literal must start with a slash');str=source[index++];classMarker=false;terminated=false;while(index=0){return scanPunctuator();} -return scanRegExp();} -return scanRegExp();} -if(prevToken.type==='Keyword'&&prevToken.value!=='this'){return scanRegExp();} -return scanPunctuator();} -function advance(){var ch;if(!state.inJSXChild){skipComment();} -if(index>=length){return{type:Token.EOF,lineNumber:lineNumber,lineStart:lineStart,range:[index,index]};} -if(state.inJSXChild){return advanceJSXChild();} -ch=source.charCodeAt(index);if(ch===40||ch===41||ch===58){return scanPunctuator();} -if(ch===39||ch===34){if(state.inJSXTag){return scanJSXStringLiteral();} -return scanStringLiteral();} -if(state.inJSXTag&&isJSXIdentifierStart(ch)){return scanJSXIdentifier();} -if(ch===96){return scanTemplate();} -if(isIdentifierStart(ch)){return scanIdentifier();} -if(ch===46){if(isDecimalDigit(source.charCodeAt(index+1))){return scanNumericLiteral();} -return scanPunctuator();} -if(isDecimalDigit(ch)){return scanNumericLiteral();} -if(extra.tokenize&&ch===47){return advanceSlash();} -return scanPunctuator();} -function lex(){var token;token=lookahead;index=token.range[1];lineNumber=token.lineNumber;lineStart=token.lineStart;lookahead=advance();index=token.range[1];lineNumber=token.lineNumber;lineStart=token.lineStart;return token;} -function peek(){var pos,line,start;pos=index;line=lineNumber;start=lineStart;lookahead=advance();index=pos;lineNumber=line;lineStart=start;} -function lookahead2(){var adv,pos,line,start,result;adv=(typeof extra.advance==='function')?extra.advance:advance;pos=index;line=lineNumber;start=lineStart;if(lookahead===null){lookahead=adv();} -index=lookahead.range[1];lineNumber=lookahead.lineNumber;lineStart=lookahead.lineStart;result=adv();index=pos;lineNumber=line;lineStart=start;return result;} -function rewind(token){index=token.range[0];lineNumber=token.lineNumber;lineStart=token.lineStart;lookahead=token;} -function markerCreate(){if(!extra.loc&&!extra.range){return undefined;} -skipComment();return{offset:index,line:lineNumber,col:index-lineStart};} -function markerCreatePreserveWhitespace(){if(!extra.loc&&!extra.range){return undefined;} -return{offset:index,line:lineNumber,col:index-lineStart};} -function processComment(node){var lastChild,trailingComments,bottomRight=extra.bottomRightStack,last=bottomRight[bottomRight.length-1];if(node.type===Syntax.Program){if(node.body.length>0){return;}} -if(extra.trailingComments.length>0){if(extra.trailingComments[0].range[0]>=node.range[1]){trailingComments=extra.trailingComments;extra.trailingComments=[];}else{extra.trailingComments.length=0;}}else{if(last&&last.trailingComments&&last.trailingComments[0].range[0]>=node.range[1]){trailingComments=last.trailingComments;delete last.trailingComments;}} -if(last){while(last&&last.range[0]>=node.range[0]){lastChild=last;last=bottomRight.pop();}} -if(lastChild){if(lastChild.leadingComments&&lastChild.leadingComments[lastChild.leadingComments.length-1].range[1]<=node.range[0]){node.leadingComments=lastChild.leadingComments;delete lastChild.leadingComments;}}else if(extra.leadingComments.length>0&&extra.leadingComments[extra.leadingComments.length-1].range[1]<=node.range[0]){node.leadingComments=extra.leadingComments;extra.leadingComments=[];} -if(trailingComments){node.trailingComments=trailingComments;} -bottomRight.push(node);} -function markerApply(marker,node){if(extra.range){node.range=[marker.offset,index];} -if(extra.loc){node.loc={start:{line:marker.line,column:marker.col},end:{line:lineNumber,column:index-lineStart}};node=delegate.postProcess(node);} -if(extra.attachComment){processComment(node);} -return node;} -SyntaxTreeDelegate={name:'SyntaxTree',postProcess:function(node){return node;},createArrayExpression:function(elements){return{type:Syntax.ArrayExpression,elements:elements};},createAssignmentExpression:function(operator,left,right){return{type:Syntax.AssignmentExpression,operator:operator,left:left,right:right};},createBinaryExpression:function(operator,left,right){var type=(operator==='||'||operator==='&&')?Syntax.LogicalExpression:Syntax.BinaryExpression;return{type:type,operator:operator,left:left,right:right};},createBlockStatement:function(body){return{type:Syntax.BlockStatement,body:body};},createBreakStatement:function(label){return{type:Syntax.BreakStatement,label:label};},createCallExpression:function(callee,args){return{type:Syntax.CallExpression,callee:callee,'arguments':args};},createCatchClause:function(param,body){return{type:Syntax.CatchClause,param:param,body:body};},createConditionalExpression:function(test,consequent,alternate){return{type:Syntax.ConditionalExpression,test:test,consequent:consequent,alternate:alternate};},createContinueStatement:function(label){return{type:Syntax.ContinueStatement,label:label};},createDebuggerStatement:function(){return{type:Syntax.DebuggerStatement};},createDoWhileStatement:function(body,test){return{type:Syntax.DoWhileStatement,body:body,test:test};},createEmptyStatement:function(){return{type:Syntax.EmptyStatement};},createExpressionStatement:function(expression){return{type:Syntax.ExpressionStatement,expression:expression};},createForStatement:function(init,test,update,body){return{type:Syntax.ForStatement,init:init,test:test,update:update,body:body};},createForInStatement:function(left,right,body){return{type:Syntax.ForInStatement,left:left,right:right,body:body,each:false};},createForOfStatement:function(left,right,body){return{type:Syntax.ForOfStatement,left:left,right:right,body:body};},createFunctionDeclaration:function(id,params,defaults,body,rest,generator,expression,isAsync,returnType,typeParameters){var funDecl={type:Syntax.FunctionDeclaration,id:id,params:params,defaults:defaults,body:body,rest:rest,generator:generator,expression:expression,returnType:returnType,typeParameters:typeParameters};if(isAsync){funDecl.async=true;} -return funDecl;},createFunctionExpression:function(id,params,defaults,body,rest,generator,expression,isAsync,returnType,typeParameters){var funExpr={type:Syntax.FunctionExpression,id:id,params:params,defaults:defaults,body:body,rest:rest,generator:generator,expression:expression,returnType:returnType,typeParameters:typeParameters};if(isAsync){funExpr.async=true;} -return funExpr;},createIdentifier:function(name){return{type:Syntax.Identifier,name:name,typeAnnotation:undefined,optional:undefined};},createTypeAnnotation:function(typeAnnotation){return{type:Syntax.TypeAnnotation,typeAnnotation:typeAnnotation};},createTypeCast:function(expression,typeAnnotation){return{type:Syntax.TypeCastExpression,expression:expression,typeAnnotation:typeAnnotation};},createFunctionTypeAnnotation:function(params,returnType,rest,typeParameters){return{type:Syntax.FunctionTypeAnnotation,params:params,returnType:returnType,rest:rest,typeParameters:typeParameters};},createFunctionTypeParam:function(name,typeAnnotation,optional){return{type:Syntax.FunctionTypeParam,name:name,typeAnnotation:typeAnnotation,optional:optional};},createNullableTypeAnnotation:function(typeAnnotation){return{type:Syntax.NullableTypeAnnotation,typeAnnotation:typeAnnotation};},createArrayTypeAnnotation:function(elementType){return{type:Syntax.ArrayTypeAnnotation,elementType:elementType};},createGenericTypeAnnotation:function(id,typeParameters){return{type:Syntax.GenericTypeAnnotation,id:id,typeParameters:typeParameters};},createQualifiedTypeIdentifier:function(qualification,id){return{type:Syntax.QualifiedTypeIdentifier,qualification:qualification,id:id};},createTypeParameterDeclaration:function(params){return{type:Syntax.TypeParameterDeclaration,params:params};},createTypeParameterInstantiation:function(params){return{type:Syntax.TypeParameterInstantiation,params:params};},createAnyTypeAnnotation:function(){return{type:Syntax.AnyTypeAnnotation};},createBooleanTypeAnnotation:function(){return{type:Syntax.BooleanTypeAnnotation};},createNumberTypeAnnotation:function(){return{type:Syntax.NumberTypeAnnotation};},createStringTypeAnnotation:function(){return{type:Syntax.StringTypeAnnotation};},createStringLiteralTypeAnnotation:function(token){return{type:Syntax.StringLiteralTypeAnnotation,value:token.value,raw:source.slice(token.range[0],token.range[1])};},createVoidTypeAnnotation:function(){return{type:Syntax.VoidTypeAnnotation};},createTypeofTypeAnnotation:function(argument){return{type:Syntax.TypeofTypeAnnotation,argument:argument};},createTupleTypeAnnotation:function(types){return{type:Syntax.TupleTypeAnnotation,types:types};},createObjectTypeAnnotation:function(properties,indexers,callProperties){return{type:Syntax.ObjectTypeAnnotation,properties:properties,indexers:indexers,callProperties:callProperties};},createObjectTypeIndexer:function(id,key,value,isStatic){return{type:Syntax.ObjectTypeIndexer,id:id,key:key,value:value,"static":isStatic};},createObjectTypeCallProperty:function(value,isStatic){return{type:Syntax.ObjectTypeCallProperty,value:value,"static":isStatic};},createObjectTypeProperty:function(key,value,optional,isStatic){return{type:Syntax.ObjectTypeProperty,key:key,value:value,optional:optional,"static":isStatic};},createUnionTypeAnnotation:function(types){return{type:Syntax.UnionTypeAnnotation,types:types};},createIntersectionTypeAnnotation:function(types){return{type:Syntax.IntersectionTypeAnnotation,types:types};},createTypeAlias:function(id,typeParameters,right){return{type:Syntax.TypeAlias,id:id,typeParameters:typeParameters,right:right};},createInterface:function(id,typeParameters,body,extended){return{type:Syntax.InterfaceDeclaration,id:id,typeParameters:typeParameters,body:body,"extends":extended};},createInterfaceExtends:function(id,typeParameters){return{type:Syntax.InterfaceExtends,id:id,typeParameters:typeParameters};},createDeclareFunction:function(id){return{type:Syntax.DeclareFunction,id:id};},createDeclareVariable:function(id){return{type:Syntax.DeclareVariable,id:id};},createDeclareModule:function(id,body){return{type:Syntax.DeclareModule,id:id,body:body};},createJSXAttribute:function(name,value){return{type:Syntax.JSXAttribute,name:name,value:value||null};},createJSXSpreadAttribute:function(argument){return{type:Syntax.JSXSpreadAttribute,argument:argument};},createJSXIdentifier:function(name){return{type:Syntax.JSXIdentifier,name:name};},createJSXNamespacedName:function(namespace,name){return{type:Syntax.JSXNamespacedName,namespace:namespace,name:name};},createJSXMemberExpression:function(object,property){return{type:Syntax.JSXMemberExpression,object:object,property:property};},createJSXElement:function(openingElement,closingElement,children){return{type:Syntax.JSXElement,openingElement:openingElement,closingElement:closingElement,children:children};},createJSXEmptyExpression:function(){return{type:Syntax.JSXEmptyExpression};},createJSXExpressionContainer:function(expression){return{type:Syntax.JSXExpressionContainer,expression:expression};},createJSXOpeningElement:function(name,attributes,selfClosing){return{type:Syntax.JSXOpeningElement,name:name,selfClosing:selfClosing,attributes:attributes};},createJSXClosingElement:function(name){return{type:Syntax.JSXClosingElement,name:name};},createIfStatement:function(test,consequent,alternate){return{type:Syntax.IfStatement,test:test,consequent:consequent,alternate:alternate};},createLabeledStatement:function(label,body){return{type:Syntax.LabeledStatement,label:label,body:body};},createLiteral:function(token){var object={type:Syntax.Literal,value:token.value,raw:source.slice(token.range[0],token.range[1])};if(token.regex){object.regex=token.regex;} -return object;},createMemberExpression:function(accessor,object,property){return{type:Syntax.MemberExpression,computed:accessor==='[',object:object,property:property};},createNewExpression:function(callee,args){return{type:Syntax.NewExpression,callee:callee,'arguments':args};},createObjectExpression:function(properties){return{type:Syntax.ObjectExpression,properties:properties};},createPostfixExpression:function(operator,argument){return{type:Syntax.UpdateExpression,operator:operator,argument:argument,prefix:false};},createProgram:function(body){return{type:Syntax.Program,body:body};},createProperty:function(kind,key,value,method,shorthand,computed){return{type:Syntax.Property,key:key,value:value,kind:kind,method:method,shorthand:shorthand,computed:computed};},createReturnStatement:function(argument){return{type:Syntax.ReturnStatement,argument:argument};},createSequenceExpression:function(expressions){return{type:Syntax.SequenceExpression,expressions:expressions};},createSwitchCase:function(test,consequent){return{type:Syntax.SwitchCase,test:test,consequent:consequent};},createSwitchStatement:function(discriminant,cases){return{type:Syntax.SwitchStatement,discriminant:discriminant,cases:cases};},createThisExpression:function(){return{type:Syntax.ThisExpression};},createThrowStatement:function(argument){return{type:Syntax.ThrowStatement,argument:argument};},createTryStatement:function(block,guardedHandlers,handlers,finalizer){return{type:Syntax.TryStatement,block:block,guardedHandlers:guardedHandlers,handlers:handlers,finalizer:finalizer};},createUnaryExpression:function(operator,argument){if(operator==='++'||operator==='--'){return{type:Syntax.UpdateExpression,operator:operator,argument:argument,prefix:true};} -return{type:Syntax.UnaryExpression,operator:operator,argument:argument,prefix:true};},createVariableDeclaration:function(declarations,kind){return{type:Syntax.VariableDeclaration,declarations:declarations,kind:kind};},createVariableDeclarator:function(id,init){return{type:Syntax.VariableDeclarator,id:id,init:init};},createWhileStatement:function(test,body){return{type:Syntax.WhileStatement,test:test,body:body};},createWithStatement:function(object,body){return{type:Syntax.WithStatement,object:object,body:body};},createTemplateElement:function(value,tail){return{type:Syntax.TemplateElement,value:value,tail:tail};},createTemplateLiteral:function(quasis,expressions){return{type:Syntax.TemplateLiteral,quasis:quasis,expressions:expressions};},createSpreadElement:function(argument){return{type:Syntax.SpreadElement,argument:argument};},createSpreadProperty:function(argument){return{type:Syntax.SpreadProperty,argument:argument};},createTaggedTemplateExpression:function(tag,quasi){return{type:Syntax.TaggedTemplateExpression,tag:tag,quasi:quasi};},createArrowFunctionExpression:function(params,defaults,body,rest,expression,isAsync){var arrowExpr={type:Syntax.ArrowFunctionExpression,id:null,params:params,defaults:defaults,body:body,rest:rest,generator:false,expression:expression};if(isAsync){arrowExpr.async=true;} -return arrowExpr;},createMethodDefinition:function(propertyType,kind,key,value,computed){return{type:Syntax.MethodDefinition,key:key,value:value,kind:kind,'static':propertyType===ClassPropertyType["static"],computed:computed};},createClassProperty:function(key,typeAnnotation,computed,isStatic){return{type:Syntax.ClassProperty,key:key,typeAnnotation:typeAnnotation,computed:computed,"static":isStatic};},createClassBody:function(body){return{type:Syntax.ClassBody,body:body};},createClassImplements:function(id,typeParameters){return{type:Syntax.ClassImplements,id:id,typeParameters:typeParameters};},createClassExpression:function(id,superClass,body,typeParameters,superTypeParameters,implemented){return{type:Syntax.ClassExpression,id:id,superClass:superClass,body:body,typeParameters:typeParameters,superTypeParameters:superTypeParameters,"implements":implemented};},createClassDeclaration:function(id,superClass,body,typeParameters,superTypeParameters,implemented){return{type:Syntax.ClassDeclaration,id:id,superClass:superClass,body:body,typeParameters:typeParameters,superTypeParameters:superTypeParameters,"implements":implemented};},createModuleSpecifier:function(token){return{type:Syntax.ModuleSpecifier,value:token.value,raw:source.slice(token.range[0],token.range[1])};},createExportSpecifier:function(id,name){return{type:Syntax.ExportSpecifier,id:id,name:name};},createExportBatchSpecifier:function(){return{type:Syntax.ExportBatchSpecifier};},createImportDefaultSpecifier:function(id){return{type:Syntax.ImportDefaultSpecifier,id:id};},createImportNamespaceSpecifier:function(id){return{type:Syntax.ImportNamespaceSpecifier,id:id};},createExportDeclaration:function(isDefault,declaration,specifiers,src){return{type:Syntax.ExportDeclaration,'default':!!isDefault,declaration:declaration,specifiers:specifiers,source:src};},createImportSpecifier:function(id,name){return{type:Syntax.ImportSpecifier,id:id,name:name};},createImportDeclaration:function(specifiers,src,isType){return{type:Syntax.ImportDeclaration,specifiers:specifiers,source:src,isType:isType};},createYieldExpression:function(argument,dlg){return{type:Syntax.YieldExpression,argument:argument,delegate:dlg};},createAwaitExpression:function(argument){return{type:Syntax.AwaitExpression,argument:argument};},createComprehensionExpression:function(filter,blocks,body){return{type:Syntax.ComprehensionExpression,filter:filter,blocks:blocks,body:body};}};function peekLineTerminator(){var pos,line,start,found;pos=index;line=lineNumber;start=lineStart;skipComment();found=lineNumber!==line;index=pos;lineNumber=line;lineStart=start;return found;} -function throwError(token,messageFormat){var error,args=Array.prototype.slice.call(arguments,2),msg=messageFormat.replace(/%(\d)/g,function(whole,idx){assert(idx>='||op==='>>>='||op==='&='||op==='^='||op==='|=';} -function matchYield(){return state.yieldAllowed&&matchKeyword('yield',!strict);} -function matchAsync(){var backtrackToken=lookahead,matches=false;if(matchContextualKeyword('async')){lex();matches=!peekLineTerminator();rewind(backtrackToken);} -return matches;} -function matchAwait(){return state.awaitAllowed&&matchContextualKeyword('await');} -function consumeSemicolon(){var line,oldIndex=index,oldLineNumber=lineNumber,oldLineStart=lineStart,oldLookahead=lookahead;if(source.charCodeAt(index)===59){lex();return;} -line=lineNumber;skipComment();if(lineNumber!==line){index=oldIndex;lineNumber=oldLineNumber;lineStart=oldLineStart;lookahead=oldLookahead;return;} -if(match(';')){lex();return;} -if(lookahead.type!==Token.EOF&&!match('}')){throwUnexpected(lookahead);}} -function isLeftHandSide(expr){return expr.type===Syntax.Identifier||expr.type===Syntax.MemberExpression;} -function isAssignableLeftHandSide(expr){return isLeftHandSide(expr)||expr.type===Syntax.ObjectPattern||expr.type===Syntax.ArrayPattern;} -function parseArrayInitialiser(){var elements=[],blocks=[],filter=null,tmp,possiblecomprehension=true,marker=markerCreate();expect('[');while(!match(']')){if(lookahead.value==='for'&&lookahead.type===Token.Keyword){if(!possiblecomprehension){throwError({},Messages.ComprehensionError);} -matchKeyword('for');tmp=parseForStatement({ignoreBody:true});tmp.of=tmp.type===Syntax.ForOfStatement;tmp.type=Syntax.ComprehensionBlock;if(tmp.left.kind){throwError({},Messages.ComprehensionError);} -blocks.push(tmp);}else if(lookahead.value==='if'&&lookahead.type===Token.Keyword){if(!possiblecomprehension){throwError({},Messages.ComprehensionError);} -expectKeyword('if');expect('(');filter=parseExpression();expect(')');}else if(lookahead.value===','&&lookahead.type===Token.Punctuator){possiblecomprehension=false;lex();elements.push(null);}else{tmp=parseSpreadOrAssignmentExpression();elements.push(tmp);if(tmp&&tmp.type===Syntax.SpreadElement){if(!match(']')){throwError({},Messages.ElementAfterSpreadElement);}}else if(!(match(']')||matchKeyword('for')||matchKeyword('if'))){expect(',');possiblecomprehension=false;}}} -expect(']');if(filter&&!blocks.length){throwError({},Messages.ComprehensionRequiresBlock);} -if(blocks.length){if(elements.length!==1){throwError({},Messages.ComprehensionError);} -return markerApply(marker,delegate.createComprehensionExpression(filter,blocks,elements[0]));} -return markerApply(marker,delegate.createArrayExpression(elements));} -function parsePropertyFunction(options){var previousStrict,previousYieldAllowed,previousAwaitAllowed,params,defaults,body,marker=markerCreate();previousStrict=strict;previousYieldAllowed=state.yieldAllowed;state.yieldAllowed=options.generator;previousAwaitAllowed=state.awaitAllowed;state.awaitAllowed=options.async;params=options.params||[];defaults=options.defaults||[];body=parseConciseBody();if(options.name&&strict&&isRestrictedWord(params[0].name)){throwErrorTolerant(options.name,Messages.StrictParamName);} -strict=previousStrict;state.yieldAllowed=previousYieldAllowed;state.awaitAllowed=previousAwaitAllowed;return markerApply(marker,delegate.createFunctionExpression(null,params,defaults,body,options.rest||null,options.generator,body.type!==Syntax.BlockStatement,options.async,options.returnType,options.typeParameters));} -function parsePropertyMethodFunction(options){var previousStrict,tmp,method;previousStrict=strict;strict=true;tmp=parseParams();if(tmp.stricted){throwErrorTolerant(tmp.stricted,tmp.message);} -method=parsePropertyFunction({params:tmp.params,defaults:tmp.defaults,rest:tmp.rest,generator:options.generator,async:options.async,returnType:tmp.returnType,typeParameters:options.typeParameters});strict=previousStrict;return method;} -function parseObjectPropertyKey(){var marker=markerCreate(),token=lex(),propertyKey,result;if(token.type===Token.StringLiteral||token.type===Token.NumericLiteral){if(strict&&token.octal){throwErrorTolerant(token,Messages.StrictOctalLiteral);} -return markerApply(marker,delegate.createLiteral(token));} -if(token.type===Token.Punctuator&&token.value==='['){marker=markerCreate();propertyKey=parseAssignmentExpression();result=markerApply(marker,propertyKey);expect(']');return result;} -return markerApply(marker,delegate.createIdentifier(token.value));} -function parseObjectProperty(){var token,key,id,param,computed,marker=markerCreate(),returnType,typeParameters;token=lookahead;computed=(token.value==='['&&token.type===Token.Punctuator);if(token.type===Token.Identifier||computed||matchAsync()){id=parseObjectPropertyKey();if(match(':')){lex();return markerApply(marker,delegate.createProperty('init',id,parseAssignmentExpression(),false,false,computed));} -if(match('(')||match('<')){if(match('<')){typeParameters=parseTypeParameterDeclaration();} -return markerApply(marker,delegate.createProperty('init',id,parsePropertyMethodFunction({generator:false,async:false,typeParameters:typeParameters}),true,false,computed));} -if(token.value==='get'){computed=(lookahead.value==='[');key=parseObjectPropertyKey();expect('(');expect(')');if(match(':')){returnType=parseTypeAnnotation();} -return markerApply(marker,delegate.createProperty('get',key,parsePropertyFunction({generator:false,async:false,returnType:returnType}),false,false,computed));} -if(token.value==='set'){computed=(lookahead.value==='[');key=parseObjectPropertyKey();expect('(');token=lookahead;param=[parseTypeAnnotatableIdentifier()];expect(')');if(match(':')){returnType=parseTypeAnnotation();} -return markerApply(marker,delegate.createProperty('set',key,parsePropertyFunction({params:param,generator:false,async:false,name:token,returnType:returnType}),false,false,computed));} -if(token.value==='async'){computed=(lookahead.value==='[');key=parseObjectPropertyKey();if(match('<')){typeParameters=parseTypeParameterDeclaration();} -return markerApply(marker,delegate.createProperty('init',key,parsePropertyMethodFunction({generator:false,async:true,typeParameters:typeParameters}),true,false,computed));} -if(computed){throwUnexpected(lookahead);} -return markerApply(marker,delegate.createProperty('init',id,id,false,true,false));} -if(token.type===Token.EOF||token.type===Token.Punctuator){if(!match('*')){throwUnexpected(token);} -lex();computed=(lookahead.type===Token.Punctuator&&lookahead.value==='[');id=parseObjectPropertyKey();if(match('<')){typeParameters=parseTypeParameterDeclaration();} -if(!match('(')){throwUnexpected(lex());} -return markerApply(marker,delegate.createProperty('init',id,parsePropertyMethodFunction({generator:true,typeParameters:typeParameters}),true,false,computed));} -key=parseObjectPropertyKey();if(match(':')){lex();return markerApply(marker,delegate.createProperty('init',key,parseAssignmentExpression(),false,false,false));} -if(match('(')||match('<')){if(match('<')){typeParameters=parseTypeParameterDeclaration();} -return markerApply(marker,delegate.createProperty('init',key,parsePropertyMethodFunction({generator:false,typeParameters:typeParameters}),true,false,false));} -throwUnexpected(lex());} -function parseObjectSpreadProperty(){var marker=markerCreate();expect('...');return markerApply(marker,delegate.createSpreadProperty(parseAssignmentExpression()));} -function getFieldName(key){var toString=String;if(key.type===Syntax.Identifier){return key.name;} -return toString(key.value);} -function parseObjectInitialiser(){var properties=[],property,name,kind,storedKind,map=new StringMap(),marker=markerCreate(),toString=String;expect('{');while(!match('}')){if(match('...')){property=parseObjectSpreadProperty();}else{property=parseObjectProperty();if(property.key.type===Syntax.Identifier){name=property.key.name;}else{name=toString(property.key.value);} -kind=(property.kind==='init')?PropertyKind.Data:(property.kind==='get')?PropertyKind.Get:PropertyKind.Set;if(map.has(name)){storedKind=map.get(name);if(storedKind===PropertyKind.Data){if(strict&&kind===PropertyKind.Data){throwErrorTolerant({},Messages.StrictDuplicateProperty);}else if(kind!==PropertyKind.Data){throwErrorTolerant({},Messages.AccessorDataProperty);}}else{if(kind===PropertyKind.Data){throwErrorTolerant({},Messages.AccessorDataProperty);}else if(storedKind&kind){throwErrorTolerant({},Messages.AccessorGetSet);}} -map.set(name,storedKind|kind);}else{map.set(name,kind);}} -properties.push(property);if(!match('}')){expect(',');}} -expect('}');return markerApply(marker,delegate.createObjectExpression(properties));} -function parseTemplateElement(option){var marker=markerCreate(),token=scanTemplateElement(option);if(strict&&token.octal){throwError(token,Messages.StrictOctalLiteral);} -return markerApply(marker,delegate.createTemplateElement({raw:token.value.raw,cooked:token.value.cooked},token.tail));} -function parseTemplateLiteral(){var quasi,quasis,expressions,marker=markerCreate();quasi=parseTemplateElement({head:true});quasis=[quasi];expressions=[];while(!quasi.tail){expressions.push(parseExpression());quasi=parseTemplateElement({head:false});quasis.push(quasi);} -return markerApply(marker,delegate.createTemplateLiteral(quasis,expressions));} -function parseGroupExpression(){var expr,marker,typeAnnotation;expect('(');++state.parenthesizedCount;marker=markerCreate();expr=parseExpression();if(match(':')){typeAnnotation=parseTypeAnnotation();expr=markerApply(marker,delegate.createTypeCast(expr,typeAnnotation));} -expect(')');return expr;} -function matchAsyncFuncExprOrDecl(){var token;if(matchAsync()){token=lookahead2();if(token.type===Token.Keyword&&token.value==='function'){return true;}} -return false;} -function parsePrimaryExpression(){var marker,type,token,expr;type=lookahead.type;if(type===Token.Identifier){marker=markerCreate();return markerApply(marker,delegate.createIdentifier(lex().value));} -if(type===Token.StringLiteral||type===Token.NumericLiteral){if(strict&&lookahead.octal){throwErrorTolerant(lookahead,Messages.StrictOctalLiteral);} -marker=markerCreate();return markerApply(marker,delegate.createLiteral(lex()));} -if(type===Token.Keyword){if(matchKeyword('this')){marker=markerCreate();lex();return markerApply(marker,delegate.createThisExpression());} -if(matchKeyword('function')){return parseFunctionExpression();} -if(matchKeyword('class')){return parseClassExpression();} -if(matchKeyword('super')){marker=markerCreate();lex();return markerApply(marker,delegate.createIdentifier('super'));}} -if(type===Token.BooleanLiteral){marker=markerCreate();token=lex();token.value=(token.value==='true');return markerApply(marker,delegate.createLiteral(token));} -if(type===Token.NullLiteral){marker=markerCreate();token=lex();token.value=null;return markerApply(marker,delegate.createLiteral(token));} -if(match('[')){return parseArrayInitialiser();} -if(match('{')){return parseObjectInitialiser();} -if(match('(')){return parseGroupExpression();} -if(match('/')||match('/=')){marker=markerCreate();expr=delegate.createLiteral(scanRegExp());peek();return markerApply(marker,expr);} -if(type===Token.Template){return parseTemplateLiteral();} -if(match('<')){return parseJSXElement();} -throwUnexpected(lex());} -function parseArguments(){var args=[],arg;expect('(');if(!match(')')){while(index':case'<=':case'>=':case'instanceof':prec=7;break;case'in':prec=allowIn?7:0;break;case'<<':case'>>':case'>>>':prec=8;break;case'+':case'-':prec=9;break;case'*':case'/':case'%':prec=11;break;default:break;} -return prec;} -function parseBinaryExpression(){var expr,token,prec,previousAllowIn,stack,right,operator,left,i,marker,markers;previousAllowIn=state.allowIn;state.allowIn=true;marker=markerCreate();left=parseUnaryExpression();token=lookahead;prec=binaryPrecedence(token,previousAllowIn);if(prec===0){return left;} -token.prec=prec;lex();markers=[marker,markerCreate()];right=parseUnaryExpression();stack=[left,token,right];while((prec=binaryPrecedence(lookahead,previousAllowIn))>0){while((stack.length>2)&&(prec<=stack[stack.length-2].prec)){right=stack.pop();operator=stack.pop().value;left=stack.pop();expr=delegate.createBinaryExpression(operator,left,right);markers.pop();marker=markers.pop();markerApply(marker,expr);stack.push(expr);markers.push(marker);} -token=lex();token.prec=prec;stack.push(token);markers.push(markerCreate());expr=parseUnaryExpression();stack.push(expr);} -state.allowIn=previousAllowIn;i=stack.length-1;expr=stack[i];markers.pop();while(i>1){expr=delegate.createBinaryExpression(stack[i-1].value,stack[i-2],expr);i-=2;marker=markers.pop();markerApply(marker,expr);} -return expr;} -function parseConditionalExpression(){var expr,previousAllowIn,consequent,alternate,marker=markerCreate();expr=parseBinaryExpression();if(match('?')){lex();previousAllowIn=state.allowIn;state.allowIn=true;consequent=parseAssignmentExpression();state.allowIn=previousAllowIn;expect(':');alternate=parseAssignmentExpression();expr=markerApply(marker,delegate.createConditionalExpression(expr,consequent,alternate));} -return expr;} -function reinterpretAsAssignmentBindingPattern(expr){var i,len,property,element;if(expr.type===Syntax.ObjectExpression){expr.type=Syntax.ObjectPattern;for(i=0,len=expr.properties.length;i');previousStrict=strict;previousYieldAllowed=state.yieldAllowed;state.yieldAllowed=false;previousAwaitAllowed=state.awaitAllowed;state.awaitAllowed=!!options.async;body=parseConciseBody();if(strict&&options.firstRestricted){throwError(options.firstRestricted,options.message);} -if(strict&&options.stricted){throwErrorTolerant(options.stricted,options.message);} -strict=previousStrict;state.yieldAllowed=previousYieldAllowed;state.awaitAllowed=previousAwaitAllowed;return markerApply(marker,delegate.createArrowFunctionExpression(options.params,options.defaults,body,options.rest,body.type!==Syntax.BlockStatement,!!options.async));} -function parseAssignmentExpression(){var marker,expr,token,params,oldParenthesizedCount,startsWithParen=false,backtrackToken=lookahead,possiblyAsync=false;if(matchYield()){return parseYieldExpression();} -if(matchAwait()){return parseAwaitExpression();} -oldParenthesizedCount=state.parenthesizedCount;marker=markerCreate();if(matchAsyncFuncExprOrDecl()){return parseFunctionExpression();} -if(matchAsync()){possiblyAsync=true;lex();} -if(match('(')){token=lookahead2();if((token.type===Token.Punctuator&&token.value===')')||token.value==='...'){params=parseParams();if(!match('=>')){throwUnexpected(lex());} -params.async=possiblyAsync;return parseArrowFunctionExpression(params,marker);} -startsWithParen=true;} -token=lookahead;if(possiblyAsync&&!match('(')&&token.type!==Token.Identifier){possiblyAsync=false;rewind(backtrackToken);} -expr=parseConditionalExpression();if(match('=>')&&(state.parenthesizedCount===oldParenthesizedCount||state.parenthesizedCount===(oldParenthesizedCount+1))){if(expr.type===Syntax.Identifier){params=reinterpretAsCoverFormalsList([expr]);}else if(expr.type===Syntax.AssignmentExpression||expr.type===Syntax.ArrayExpression||expr.type===Syntax.ObjectExpression){if(!startsWithParen){throwUnexpected(lex());} -params=reinterpretAsCoverFormalsList([expr]);}else if(expr.type===Syntax.SequenceExpression){params=reinterpretAsCoverFormalsList(expr.expressions);} -if(params){params.async=possiblyAsync;return parseArrowFunctionExpression(params,marker);}} -if(possiblyAsync){possiblyAsync=false;rewind(backtrackToken);expr=parseConditionalExpression();} -if(matchAssign()){if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){throwErrorTolerant(token,Messages.StrictLHSAssignment);} -if(match('=')&&(expr.type===Syntax.ObjectExpression||expr.type===Syntax.ArrayExpression)){reinterpretAsAssignmentBindingPattern(expr);}else if(!isLeftHandSide(expr)){throwError({},Messages.InvalidLHSInAssignment);} -expr=markerApply(marker,delegate.createAssignmentExpression(lex().value,expr,parseAssignmentExpression()));} -return expr;} -function parseExpression(){var marker,expr,expressions,sequence,spreadFound;marker=markerCreate();expr=parseAssignmentExpression();expressions=[expr];if(match(',')){while(index'){throwError({},Messages.IllegalSpread);} -return sequence||expr;} -function parseStatementList(){var list=[],statement;while(index')){paramTypes.push(parseTypeAnnotatableIdentifier());if(!match('>')){expect(',');}} -expect('>');return markerApply(marker,delegate.createTypeParameterDeclaration(paramTypes));} -function parseTypeParameterInstantiation(){var marker=markerCreate(),oldInType=state.inType,paramTypes=[];state.inType=true;expect('<');while(!match('>')){paramTypes.push(parseType());if(!match('>')){expect(',');}} -expect('>');state.inType=oldInType;return markerApply(marker,delegate.createTypeParameterInstantiation(paramTypes));} -function parseObjectTypeIndexer(marker,isStatic){var id,key,value;expect('[');id=parseObjectPropertyKey();expect(':');key=parseType();expect(']');expect(':');value=parseType();return markerApply(marker,delegate.createObjectTypeIndexer(id,key,value,isStatic));} -function parseObjectTypeMethodish(marker){var params=[],rest=null,returnType,typeParameters=null;if(match('<')){typeParameters=parseTypeParameterDeclaration();} -expect('(');while(lookahead.type===Token.Identifier){params.push(parseFunctionTypeParam());if(!match(')')){expect(',');}} -if(match('...')){lex();rest=parseFunctionTypeParam();} -expect(')');expect(':');returnType=parseType();return markerApply(marker,delegate.createFunctionTypeAnnotation(params,returnType,rest,typeParameters));} -function parseObjectTypeMethod(marker,isStatic,key){var optional=false,value;value=parseObjectTypeMethodish(marker);return markerApply(marker,delegate.createObjectTypeProperty(key,value,optional,isStatic));} -function parseObjectTypeCallProperty(marker,isStatic){var valueMarker=markerCreate();return markerApply(marker,delegate.createObjectTypeCallProperty(parseObjectTypeMethodish(valueMarker),isStatic));} -function parseObjectType(allowStatic){var callProperties=[],indexers=[],marker,optional=false,properties=[],propertyKey,propertyTypeAnnotation,token,isStatic,matchStatic;expect('{');while(!match('}')){marker=markerCreate();matchStatic=strict?matchKeyword('static'):matchContextualKeyword('static');if(allowStatic&&matchStatic){token=lex();isStatic=true;} -if(match('[')){indexers.push(parseObjectTypeIndexer(marker,isStatic));}else if(match('(')||match('<')){callProperties.push(parseObjectTypeCallProperty(marker,allowStatic));}else{if(isStatic&&match(':')){propertyKey=markerApply(marker,delegate.createIdentifier(token));throwErrorTolerant(token,Messages.StrictReservedWord);}else{propertyKey=parseObjectPropertyKey();} -if(match('<')||match('(')){properties.push(parseObjectTypeMethod(marker,isStatic,propertyKey));}else{if(match('?')){lex();optional=true;} -expect(':');propertyTypeAnnotation=parseType();properties.push(markerApply(marker,delegate.createObjectTypeProperty(propertyKey,propertyTypeAnnotation,optional,isStatic)));}} -if(match(';')){lex();}else if(!match('}')){throwUnexpected(lookahead);}} -expect('}');return delegate.createObjectTypeAnnotation(properties,indexers,callProperties);} -function parseGenericType(){var marker=markerCreate(),typeParameters=null,typeIdentifier;typeIdentifier=parseVariableIdentifier();while(match('.')){expect('.');typeIdentifier=markerApply(marker,delegate.createQualifiedTypeIdentifier(typeIdentifier,parseVariableIdentifier()));} -if(match('<')){typeParameters=parseTypeParameterInstantiation();} -return markerApply(marker,delegate.createGenericTypeAnnotation(typeIdentifier,typeParameters));} -function parseVoidType(){var marker=markerCreate();expectKeyword('void');return markerApply(marker,delegate.createVoidTypeAnnotation());} -function parseTypeofType(){var argument,marker=markerCreate();expectKeyword('typeof');argument=parsePrimaryType();return markerApply(marker,delegate.createTypeofTypeAnnotation(argument));} -function parseTupleType(){var marker=markerCreate(),types=[];expect('[');while(index');returnType=parseType();return markerApply(marker,delegate.createFunctionTypeAnnotation(params,returnType,rest,typeParameters));case'(':lex();if(!match(')')&&!match('...')){if(lookahead.type===Token.Identifier){token=lookahead2();isGroupedType=token.value!=='?'&&token.value!==':';}else{isGroupedType=true;}} -if(isGroupedType){type=parseType();expect(')');if(match('=>')){throwError({},Messages.ConfusedAboutFunctionType);} -return type;} -tmp=parseFunctionTypeParams();params=tmp.params;rest=tmp.rest;expect(')');expect('=>');returnType=parseType();return markerApply(marker,delegate.createFunctionTypeAnnotation(params,returnType,rest,null));} -break;case Token.Keyword:switch(lookahead.value){case'void':return markerApply(marker,parseVoidType());case'typeof':return markerApply(marker,parseTypeofType());} -break;case Token.StringLiteral:token=lex();if(token.octal){throwError(token,Messages.StrictOctalLiteral);} -return markerApply(marker,delegate.createStringLiteralTypeAnnotation(token));} -throwUnexpected(lookahead);} -function parsePostfixType(){var marker=markerCreate(),t=parsePrimaryType();if(match('[')){expect('[');expect(']');return markerApply(marker,delegate.createArrayTypeAnnotation(t));} -return t;} -function parsePrefixType(){var marker=markerCreate();if(match('?')){lex();return markerApply(marker,delegate.createNullableTypeAnnotation(parsePrefixType()));} -return parsePostfixType();} -function parseIntersectionType(){var marker=markerCreate(),type,types;type=parsePrefixType();types=[type];while(match('&')){lex();types.push(parsePrefixType());} -return types.length===1?type:markerApply(marker,delegate.createIntersectionTypeAnnotation(types));} -function parseUnionType(){var marker=markerCreate(),type,types;type=parseIntersectionType();types=[type];while(match('|')){lex();types.push(parseIntersectionType());} -return types.length===1?type:markerApply(marker,delegate.createUnionTypeAnnotation(types));} -function parseType(){var oldInType=state.inType,type;state.inType=true;type=parseUnionType();state.inType=oldInType;return type;} -function parseTypeAnnotation(){var marker=markerCreate(),type;expect(':');type=parseType();return markerApply(marker,delegate.createTypeAnnotation(type));} -function parseVariableIdentifier(){var marker=markerCreate(),token=lex();if(token.type!==Token.Identifier){throwUnexpected(token);} -return markerApply(marker,delegate.createIdentifier(token.value));} -function parseTypeAnnotatableIdentifier(requireTypeAnnotation,canBeOptionalParam){var marker=markerCreate(),ident=parseVariableIdentifier(),isOptionalParam=false;if(canBeOptionalParam&&match('?')){expect('?');isOptionalParam=true;} -if(requireTypeAnnotation||match(':')){ident.typeAnnotation=parseTypeAnnotation();ident=markerApply(marker,ident);} -if(isOptionalParam){ident.optional=true;ident=markerApply(marker,ident);} -return ident;} -function parseVariableDeclaration(kind){var id,marker=markerCreate(),init=null,typeAnnotationMarker=markerCreate();if(match('{')){id=parseObjectInitialiser();reinterpretAsAssignmentBindingPattern(id);if(match(':')){id.typeAnnotation=parseTypeAnnotation();markerApply(typeAnnotationMarker,id);}}else if(match('[')){id=parseArrayInitialiser();reinterpretAsAssignmentBindingPattern(id);if(match(':')){id.typeAnnotation=parseTypeAnnotation();markerApply(typeAnnotationMarker,id);}}else{id=state.allowKeyword?parseNonComputedProperty():parseTypeAnnotatableIdentifier();if(strict&&isRestrictedWord(id.name)){throwErrorTolerant({},Messages.StrictVarName);}} -if(kind==='const'){if(!match('=')){throwError({},Messages.NoUninitializedConst);} -expect('=');init=parseAssignmentExpression();}else if(match('=')){lex();init=parseAssignmentExpression();} -return markerApply(marker,delegate.createVariableDeclarator(id,init));} -function parseVariableDeclarationList(kind){var list=[];do{list.push(parseVariableDeclaration(kind));if(!match(',')){break;} -lex();}while(index',nbsp:'\u00A0',iexcl:'\u00A1',cent:'\u00A2',pound:'\u00A3',curren:'\u00A4',yen:'\u00A5',brvbar:'\u00A6',sect:'\u00A7',uml:'\u00A8',copy:'\u00A9',ordf:'\u00AA',laquo:'\u00AB',not:'\u00AC',shy:'\u00AD',reg:'\u00AE',macr:'\u00AF',deg:'\u00B0',plusmn:'\u00B1',sup2:'\u00B2',sup3:'\u00B3',acute:'\u00B4',micro:'\u00B5',para:'\u00B6',middot:'\u00B7',cedil:'\u00B8',sup1:'\u00B9',ordm:'\u00BA',raquo:'\u00BB',frac14:'\u00BC',frac12:'\u00BD',frac34:'\u00BE',iquest:'\u00BF',Agrave:'\u00C0',Aacute:'\u00C1',Acirc:'\u00C2',Atilde:'\u00C3',Auml:'\u00C4',Aring:'\u00C5',AElig:'\u00C6',Ccedil:'\u00C7',Egrave:'\u00C8',Eacute:'\u00C9',Ecirc:'\u00CA',Euml:'\u00CB',Igrave:'\u00CC',Iacute:'\u00CD',Icirc:'\u00CE',Iuml:'\u00CF',ETH:'\u00D0',Ntilde:'\u00D1',Ograve:'\u00D2',Oacute:'\u00D3',Ocirc:'\u00D4',Otilde:'\u00D5',Ouml:'\u00D6',times:'\u00D7',Oslash:'\u00D8',Ugrave:'\u00D9',Uacute:'\u00DA',Ucirc:'\u00DB',Uuml:'\u00DC',Yacute:'\u00DD',THORN:'\u00DE',szlig:'\u00DF',agrave:'\u00E0',aacute:'\u00E1',acirc:'\u00E2',atilde:'\u00E3',auml:'\u00E4',aring:'\u00E5',aelig:'\u00E6',ccedil:'\u00E7',egrave:'\u00E8',eacute:'\u00E9',ecirc:'\u00EA',euml:'\u00EB',igrave:'\u00EC',iacute:'\u00ED',icirc:'\u00EE',iuml:'\u00EF',eth:'\u00F0',ntilde:'\u00F1',ograve:'\u00F2',oacute:'\u00F3',ocirc:'\u00F4',otilde:'\u00F5',ouml:'\u00F6',divide:'\u00F7',oslash:'\u00F8',ugrave:'\u00F9',uacute:'\u00FA',ucirc:'\u00FB',uuml:'\u00FC',yacute:'\u00FD',thorn:'\u00FE',yuml:'\u00FF',OElig:'\u0152',oelig:'\u0153',Scaron:'\u0160',scaron:'\u0161',Yuml:'\u0178',fnof:'\u0192',circ:'\u02C6',tilde:'\u02DC',Alpha:'\u0391',Beta:'\u0392',Gamma:'\u0393',Delta:'\u0394',Epsilon:'\u0395',Zeta:'\u0396',Eta:'\u0397',Theta:'\u0398',Iota:'\u0399',Kappa:'\u039A',Lambda:'\u039B',Mu:'\u039C',Nu:'\u039D',Xi:'\u039E',Omicron:'\u039F',Pi:'\u03A0',Rho:'\u03A1',Sigma:'\u03A3',Tau:'\u03A4',Upsilon:'\u03A5',Phi:'\u03A6',Chi:'\u03A7',Psi:'\u03A8',Omega:'\u03A9',alpha:'\u03B1',beta:'\u03B2',gamma:'\u03B3',delta:'\u03B4',epsilon:'\u03B5',zeta:'\u03B6',eta:'\u03B7',theta:'\u03B8',iota:'\u03B9',kappa:'\u03BA',lambda:'\u03BB',mu:'\u03BC',nu:'\u03BD',xi:'\u03BE',omicron:'\u03BF',pi:'\u03C0',rho:'\u03C1',sigmaf:'\u03C2',sigma:'\u03C3',tau:'\u03C4',upsilon:'\u03C5',phi:'\u03C6',chi:'\u03C7',psi:'\u03C8',omega:'\u03C9',thetasym:'\u03D1',upsih:'\u03D2',piv:'\u03D6',ensp:'\u2002',emsp:'\u2003',thinsp:'\u2009',zwnj:'\u200C',zwj:'\u200D',lrm:'\u200E',rlm:'\u200F',ndash:'\u2013',mdash:'\u2014',lsquo:'\u2018',rsquo:'\u2019',sbquo:'\u201A',ldquo:'\u201C',rdquo:'\u201D',bdquo:'\u201E',dagger:'\u2020',Dagger:'\u2021',bull:'\u2022',hellip:'\u2026',permil:'\u2030',prime:'\u2032',Prime:'\u2033',lsaquo:'\u2039',rsaquo:'\u203A',oline:'\u203E',frasl:'\u2044',euro:'\u20AC',image:'\u2111',weierp:'\u2118',real:'\u211C',trade:'\u2122',alefsym:'\u2135',larr:'\u2190',uarr:'\u2191',rarr:'\u2192',darr:'\u2193',harr:'\u2194',crarr:'\u21B5',lArr:'\u21D0',uArr:'\u21D1',rArr:'\u21D2',dArr:'\u21D3',hArr:'\u21D4',forall:'\u2200',part:'\u2202',exist:'\u2203',empty:'\u2205',nabla:'\u2207',isin:'\u2208',notin:'\u2209',ni:'\u220B',prod:'\u220F',sum:'\u2211',minus:'\u2212',lowast:'\u2217',radic:'\u221A',prop:'\u221D',infin:'\u221E',ang:'\u2220',and:'\u2227',or:'\u2228',cap:'\u2229',cup:'\u222A','int':'\u222B',there4:'\u2234',sim:'\u223C',cong:'\u2245',asymp:'\u2248',ne:'\u2260',equiv:'\u2261',le:'\u2264',ge:'\u2265',sub:'\u2282',sup:'\u2283',nsub:'\u2284',sube:'\u2286',supe:'\u2287',oplus:'\u2295',otimes:'\u2297',perp:'\u22A5',sdot:'\u22C5',lceil:'\u2308',rceil:'\u2309',lfloor:'\u230A',rfloor:'\u230B',lang:'\u2329',rang:'\u232A',loz:'\u25CA',spades:'\u2660',clubs:'\u2663',hearts:'\u2665',diams:'\u2666'};function getQualifiedJSXName(object){if(object.type===Syntax.JSXIdentifier){return object.name;} -if(object.type===Syntax.JSXNamespacedName){return object.namespace.name+':'+object.name.name;} -if(object.type===Syntax.JSXMemberExpression){return(getQualifiedJSXName(object.object)+'.'+ -getQualifiedJSXName(object.property));} -throwUnexpected(object);} -function isJSXIdentifierStart(ch){return(ch!==92)&&isIdentifierStart(ch);} -function isJSXIdentifierPart(ch){return(ch!==92)&&(ch===45||isIdentifierPart(ch));} -function scanJSXIdentifier(){var ch,start,value='';start=index;while(index','{','}']);} -return scanPunctuator();} -function parseJSXIdentifier(){var token,marker=markerCreate();if(lookahead.type!==Token.JSXIdentifier){throwUnexpected(lookahead);} -token=lex();return markerApply(marker,delegate.createJSXIdentifier(token.value));} -function parseJSXNamespacedName(){var namespace,name,marker=markerCreate();namespace=parseJSXIdentifier();expect(':');name=parseJSXIdentifier();return markerApply(marker,delegate.createJSXNamespacedName(namespace,name));} -function parseJSXMemberExpression(){var marker=markerCreate(),expr=parseJSXIdentifier();while(match('.')){lex();expr=markerApply(marker,delegate.createJSXMemberExpression(expr,parseJSXIdentifier()));} -return expr;} -function parseJSXElementName(){if(lookahead2().value===':'){return parseJSXNamespacedName();} -if(lookahead2().value==='.'){return parseJSXMemberExpression();} -return parseJSXIdentifier();} -function parseJSXAttributeName(){if(lookahead2().value===':'){return parseJSXNamespacedName();} -return parseJSXIdentifier();} -function parseJSXAttributeValue(){var value,marker;if(match('{')){value=parseJSXExpressionContainer();if(value.expression.type===Syntax.JSXEmptyExpression){throwError(value,'JSX attributes must only be assigned a non-empty '+'expression');}}else if(match('<')){value=parseJSXElement();}else if(lookahead.type===Token.JSXText){marker=markerCreate();value=markerApply(marker,delegate.createLiteral(lex()));}else{throwError({},Messages.InvalidJSXAttributeValue);} -return value;} -function parseJSXEmptyExpression(){var marker=markerCreatePreserveWhitespace();while(source.charAt(index)!=='}'){index++;} -return markerApply(marker,delegate.createJSXEmptyExpression());} -function parseJSXExpressionContainer(){var expression,origInJSXChild,origInJSXTag,marker=markerCreate();origInJSXChild=state.inJSXChild;origInJSXTag=state.inJSXTag;state.inJSXChild=false;state.inJSXTag=false;expect('{');if(match('}')){expression=parseJSXEmptyExpression();}else{expression=parseExpression();} -state.inJSXChild=origInJSXChild;state.inJSXTag=origInJSXTag;expect('}');return markerApply(marker,delegate.createJSXExpressionContainer(expression));} -function parseJSXSpreadAttribute(){var expression,origInJSXChild,origInJSXTag,marker=markerCreate();origInJSXChild=state.inJSXChild;origInJSXTag=state.inJSXTag;state.inJSXChild=false;state.inJSXTag=false;expect('{');expect('...');expression=parseAssignmentExpression();state.inJSXChild=origInJSXChild;state.inJSXTag=origInJSXTag;expect('}');return markerApply(marker,delegate.createJSXSpreadAttribute(expression));} -function parseJSXAttribute(){var name,marker;if(match('{')){return parseJSXSpreadAttribute();} -marker=markerCreate();name=parseJSXAttributeName();if(match('=')){lex();return markerApply(marker,delegate.createJSXAttribute(name,parseJSXAttributeValue()));} -return markerApply(marker,delegate.createJSXAttribute(name));} -function parseJSXChild(){var token,marker;if(match('{')){token=parseJSXExpressionContainer();}else if(lookahead.type===Token.JSXText){marker=markerCreatePreserveWhitespace();token=markerApply(marker,delegate.createLiteral(lex()));}else if(match('<')){token=parseJSXElement();}else{throwUnexpected(lookahead);} -return token;} -function parseJSXClosingElement(){var name,origInJSXChild,origInJSXTag,marker=markerCreate();origInJSXChild=state.inJSXChild;origInJSXTag=state.inJSXTag;state.inJSXChild=false;state.inJSXTag=true;expect('<');expect('/');name=parseJSXElementName();state.inJSXChild=origInJSXChild;state.inJSXTag=origInJSXTag;expect('>');return markerApply(marker,delegate.createJSXClosingElement(name));} -function parseJSXOpeningElement(){var name,attributes=[],selfClosing=false,origInJSXChild,origInJSXTag,marker=markerCreate();origInJSXChild=state.inJSXChild;origInJSXTag=state.inJSXTag;state.inJSXChild=false;state.inJSXTag=true;expect('<');name=parseJSXElementName();while(index'){attributes.push(parseJSXAttribute());} -state.inJSXTag=origInJSXTag;if(lookahead.value==='/'){expect('/');state.inJSXChild=origInJSXChild;expect('>');selfClosing=true;}else{state.inJSXChild=true;expect('>');} -return markerApply(marker,delegate.createJSXOpeningElement(name,attributes,selfClosing));} -function parseJSXElement(){var openingElement,closingElement=null,children=[],origInJSXChild,origInJSXTag,marker=markerCreate();origInJSXChild=state.inJSXChild;origInJSXTag=state.inJSXTag;openingElement=parseJSXOpeningElement();if(!openingElement.selfClosing){while(index0){token=extra.tokens[extra.tokens.length-1];if(token.range[0]===pos&&token.type==='Punctuator'){if(token.value==='/'||token.value==='/='){extra.tokens.pop();}}} -extra.tokens.push({type:'RegularExpression',value:regex.literal,regex:regex.regex,range:[pos,index],loc:loc});} -return regex;} -function filterTokenLocation(){var i,entry,token,tokens=[];for(i=0;i0)?1:0;lineStart=0;length=source.length;lookahead=null;state={allowKeyword:true,allowIn:true,labelSet:new StringMap(),inFunctionBody:false,inIteration:false,inSwitch:false,lastCommentStart:-1};extra={};options=options||{};options.tokens=true;extra.tokens=[];extra.tokenize=true;extra.openParenToken=-1;extra.openCurlyToken=-1;extra.range=(typeof options.range==='boolean')&&options.range;extra.loc=(typeof options.loc==='boolean')&&options.loc;if(typeof options.comment==='boolean'&&options.comment){extra.comments=[];} -if(typeof options.tolerant==='boolean'&&options.tolerant){extra.errors=[];} -patch();try{peek();if(lookahead.type===Token.EOF){return extra.tokens;} -token=lex();while(lookahead.type!==Token.EOF){try{token=lex();}catch(lexError){token=lookahead;if(extra.errors){extra.errors.push(lexError);break;}else{throw lexError;}}} -filterTokenLocation();tokens=extra.tokens;if(typeof extra.comments!=='undefined'){tokens.comments=extra.comments;} -if(typeof extra.errors!=='undefined'){tokens.errors=extra.errors;}}catch(e){throw e;}finally{unpatch();extra={};} -return tokens;} -function parse(code,options){var program,toString;toString=String;if(typeof code!=='string'&&!(code instanceof String)){code=toString(code);} -delegate=SyntaxTreeDelegate;source=code;index=0;lineNumber=(source.length>0)?1:0;lineStart=0;length=source.length;lookahead=null;state={allowKeyword:false,allowIn:true,labelSet:new StringMap(),parenthesizedCount:0,inFunctionBody:false,inIteration:false,inSwitch:false,inJSXChild:false,inJSXTag:false,inType:false,lastCommentStart:-1,yieldAllowed:false,awaitAllowed:false};extra={};if(typeof options!=='undefined'){extra.range=(typeof options.range==='boolean')&&options.range;extra.loc=(typeof options.loc==='boolean')&&options.loc;extra.attachComment=(typeof options.attachComment==='boolean')&&options.attachComment;if(extra.loc&&options.source!==null&&options.source!==undefined){delegate=extend(delegate,{'postProcess':function(node){node.loc.source=toString(options.source);return node;}});} -extra.sourceType=options.sourceType;if(typeof options.tokens==='boolean'&&options.tokens){extra.tokens=[];} -if(typeof options.comment==='boolean'&&options.comment){extra.comments=[];} -if(typeof options.tolerant==='boolean'&&options.tolerant){extra.errors=[];} -if(extra.attachComment){extra.range=true;extra.comments=[];extra.bottomRightStack=[];extra.trailingComments=[];extra.leadingComments=[];}} -patch();try{program=parseProgram();if(typeof extra.comments!=='undefined'){program.comments=extra.comments;} -if(typeof extra.tokens!=='undefined'){filterTokenLocation();program.tokens=extra.tokens;} -if(typeof extra.errors!=='undefined'){program.errors=extra.errors;}}catch(e){throw e;}finally{unpatch();extra={};} -return program;} -exports.version='13001.1001.0-dev-harmony-fb';exports.tokenize=tokenize;exports.parse=parse;exports.Syntax=(function(){var name,types={};if(typeof Object.create==='function'){types=Object.create(null);} -for(name in Syntax){if(Syntax.hasOwnProperty(name)){types[name]=Syntax[name];}} -if(typeof Object.freeze==='function'){Object.freeze(types);} -return types;}());}));},{}],10:[function(_dereq_,module,exports){var Base62=(function(my){my.chars=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] -my.encode=function(i){if(i===0){return'0'} -var s='' -while(i>0){s=this.chars[i%62]+s -i=Math.floor(i/62)} -return s};my.decode=function(a,b,c,d){for(b=c=(a===(/\W|_|^$/.test(a+="")||a))-1;d=a.charCodeAt(c++);) -b=b*62+d-[,48,29,87][d>>5];return b};return my;}({}));module.exports=Base62},{}],11:[function(_dereq_,module,exports){exports.SourceMapGenerator=_dereq_('./source-map/source-map-generator').SourceMapGenerator;exports.SourceMapConsumer=_dereq_('./source-map/source-map-consumer').SourceMapConsumer;exports.SourceNode=_dereq_('./source-map/source-node').SourceNode;},{"./source-map/source-map-consumer":16,"./source-map/source-map-generator":17,"./source-map/source-node":18}],12:[function(_dereq_,module,exports){if(typeof define!=='function'){var define=_dereq_('amdefine')(module,_dereq_);} -define(function(_dereq_,exports,module){var util=_dereq_('./util');function ArraySet(){this._array=[];this._set={};} -ArraySet.fromArray=function ArraySet_fromArray(aArray,aAllowDuplicates){var set=new ArraySet();for(var i=0,len=aArray.length;i=0&&aIdx>1;return isNegative?-shifted:shifted;} -exports.encode=function base64VLQ_encode(aValue){var encoded="";var digit;var vlq=toVLQSigned(aValue);do{digit=vlq&VLQ_BASE_MASK;vlq>>>=VLQ_BASE_SHIFT;if(vlq>0){digit|=VLQ_CONTINUATION_BIT;} -encoded+=base64.encode(digit);}while(vlq>0);return encoded;};exports.decode=function base64VLQ_decode(aStr){var i=0;var strLen=aStr.length;var result=0;var shift=0;var continuation,digit;do{if(i>=strLen){throw new Error("Expected more digits in base 64 VLQ value.");} -digit=base64.decode(aStr.charAt(i++));continuation=!!(digit&VLQ_CONTINUATION_BIT);digit&=VLQ_BASE_MASK;result=result+(digit<0){if(aHigh-mid>1){return recursiveSearch(mid,aHigh,aNeedle,aHaystack,aCompare);} -return aHaystack[mid];} -else{if(mid-aLow>1){return recursiveSearch(aLow,mid,aNeedle,aHaystack,aCompare);} -return aLow<0?null:aHaystack[aLow];}} -exports.search=function search(aNeedle,aHaystack,aCompare){return aHaystack.length>0?recursiveSearch(-1,aHaystack.length,aNeedle,aHaystack,aCompare):null;};});},{"amdefine":20}],16:[function(_dereq_,module,exports){if(typeof define!=='function'){var define=_dereq_('amdefine')(module,_dereq_);} -define(function(_dereq_,exports,module){var util=_dereq_('./util');var binarySearch=_dereq_('./binary-search');var ArraySet=_dereq_('./array-set').ArraySet;var base64VLQ=_dereq_('./base64-vlq');function SourceMapConsumer(aSourceMap){var sourceMap=aSourceMap;if(typeof aSourceMap==='string'){sourceMap=JSON.parse(aSourceMap.replace(/^\)\]\}'/,''));} -var version=util.getArg(sourceMap,'version');var sources=util.getArg(sourceMap,'sources');var names=util.getArg(sourceMap,'names',[]);var sourceRoot=util.getArg(sourceMap,'sourceRoot',null);var sourcesContent=util.getArg(sourceMap,'sourcesContent',null);var mappings=util.getArg(sourceMap,'mappings');var file=util.getArg(sourceMap,'file',null);if(version!=this._version){throw new Error('Unsupported version: '+version);} -this._names=ArraySet.fromArray(names,true);this._sources=ArraySet.fromArray(sources,true);this.sourceRoot=sourceRoot;this.sourcesContent=sourcesContent;this._mappings=mappings;this.file=file;} -SourceMapConsumer.fromSourceMap=function SourceMapConsumer_fromSourceMap(aSourceMap){var smc=Object.create(SourceMapConsumer.prototype);smc._names=ArraySet.fromArray(aSourceMap._names.toArray(),true);smc._sources=ArraySet.fromArray(aSourceMap._sources.toArray(),true);smc.sourceRoot=aSourceMap._sourceRoot;smc.sourcesContent=aSourceMap._generateSourcesContent(smc._sources.toArray(),smc.sourceRoot);smc.file=aSourceMap._file;smc.__generatedMappings=aSourceMap._mappings.slice().sort(util.compareByGeneratedPositions);smc.__originalMappings=aSourceMap._mappings.slice().sort(util.compareByOriginalPositions);return smc;};SourceMapConsumer.prototype._version=3;Object.defineProperty(SourceMapConsumer.prototype,'sources',{get:function(){return this._sources.toArray().map(function(s){return this.sourceRoot?util.join(this.sourceRoot,s):s;},this);}});SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,'_generatedMappings',{get:function(){if(!this.__generatedMappings){this.__generatedMappings=[];this.__originalMappings=[];this._parseMappings(this._mappings,this.sourceRoot);} -return this.__generatedMappings;}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,'_originalMappings',{get:function(){if(!this.__originalMappings){this.__generatedMappings=[];this.__originalMappings=[];this._parseMappings(this._mappings,this.sourceRoot);} -return this.__originalMappings;}});SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(aStr,aSourceRoot){var generatedLine=1;var previousGeneratedColumn=0;var previousOriginalLine=0;var previousOriginalColumn=0;var previousSource=0;var previousName=0;var mappingSeparator=/^[,;]/;var str=aStr;var mapping;var temp;while(str.length>0){if(str.charAt(0)===';'){generatedLine++;str=str.slice(1);previousGeneratedColumn=0;} -else if(str.charAt(0)===','){str=str.slice(1);} -else{mapping={};mapping.generatedLine=generatedLine;temp=base64VLQ.decode(str);mapping.generatedColumn=previousGeneratedColumn+temp.value;previousGeneratedColumn=mapping.generatedColumn;str=temp.rest;if(str.length>0&&!mappingSeparator.test(str.charAt(0))){temp=base64VLQ.decode(str);mapping.source=this._sources.at(previousSource+temp.value);previousSource+=temp.value;str=temp.rest;if(str.length===0||mappingSeparator.test(str.charAt(0))){throw new Error('Found a source, but no line and column');} -temp=base64VLQ.decode(str);mapping.originalLine=previousOriginalLine+temp.value;previousOriginalLine=mapping.originalLine;mapping.originalLine+=1;str=temp.rest;if(str.length===0||mappingSeparator.test(str.charAt(0))){throw new Error('Found a source and line, but no column');} -temp=base64VLQ.decode(str);mapping.originalColumn=previousOriginalColumn+temp.value;previousOriginalColumn=mapping.originalColumn;str=temp.rest;if(str.length>0&&!mappingSeparator.test(str.charAt(0))){temp=base64VLQ.decode(str);mapping.name=this._names.at(previousName+temp.value);previousName+=temp.value;str=temp.rest;}} -this.__generatedMappings.push(mapping);if(typeof mapping.originalLine==='number'){this.__originalMappings.push(mapping);}}} -this.__originalMappings.sort(util.compareByOriginalPositions);};SourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(aNeedle,aMappings,aLineName,aColumnName,aComparator){if(aNeedle[aLineName]<=0){throw new TypeError('Line must be greater than or equal to 1, got ' -+aNeedle[aLineName]);} -if(aNeedle[aColumnName]<0){throw new TypeError('Column must be greater than or equal to 0, got ' -+aNeedle[aColumnName]);} -return binarySearch.search(aNeedle,aMappings,aComparator);};SourceMapConsumer.prototype.originalPositionFor=function SourceMapConsumer_originalPositionFor(aArgs){var needle={generatedLine:util.getArg(aArgs,'line'),generatedColumn:util.getArg(aArgs,'column')};var mapping=this._findMapping(needle,this._generatedMappings,"generatedLine","generatedColumn",util.compareByGeneratedPositions);if(mapping){var source=util.getArg(mapping,'source',null);if(source&&this.sourceRoot){source=util.join(this.sourceRoot,source);} -return{source:source,line:util.getArg(mapping,'originalLine',null),column:util.getArg(mapping,'originalColumn',null),name:util.getArg(mapping,'name',null)};} -return{source:null,line:null,column:null,name:null};};SourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(aSource){if(!this.sourcesContent){return null;} -if(this.sourceRoot){aSource=util.relative(this.sourceRoot,aSource);} -if(this._sources.has(aSource)){return this.sourcesContent[this._sources.indexOf(aSource)];} -var url;if(this.sourceRoot&&(url=util.urlParse(this.sourceRoot))){var fileUriAbsPath=aSource.replace(/^file:\/\//,"");if(url.scheme=="file"&&this._sources.has(fileUriAbsPath)){return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]} -if((!url.path||url.path=="/")&&this._sources.has("/"+aSource)){return this.sourcesContent[this._sources.indexOf("/"+aSource)];}} -throw new Error('"'+aSource+'" is not in the SourceMap.');};SourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(aArgs){var needle={source:util.getArg(aArgs,'source'),originalLine:util.getArg(aArgs,'line'),originalColumn:util.getArg(aArgs,'column')};if(this.sourceRoot){needle.source=util.relative(this.sourceRoot,needle.source);} -var mapping=this._findMapping(needle,this._originalMappings,"originalLine","originalColumn",util.compareByOriginalPositions);if(mapping){return{line:util.getArg(mapping,'generatedLine',null),column:util.getArg(mapping,'generatedColumn',null)};} -return{line:null,column:null};};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(aCallback,aContext,aOrder){var context=aContext||null;var order=aOrder||SourceMapConsumer.GENERATED_ORDER;var mappings;switch(order){case SourceMapConsumer.GENERATED_ORDER:mappings=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:mappings=this._originalMappings;break;default:throw new Error("Unknown order of iteration.");} -var sourceRoot=this.sourceRoot;mappings.map(function(mapping){var source=mapping.source;if(source&&sourceRoot){source=util.join(sourceRoot,source);} -return{source:source,generatedLine:mapping.generatedLine,generatedColumn:mapping.generatedColumn,originalLine:mapping.originalLine,originalColumn:mapping.originalColumn,name:mapping.name};}).forEach(aCallback,context);};exports.SourceMapConsumer=SourceMapConsumer;});},{"./array-set":12,"./base64-vlq":13,"./binary-search":15,"./util":19,"amdefine":20}],17:[function(_dereq_,module,exports){if(typeof define!=='function'){var define=_dereq_('amdefine')(module,_dereq_);} -define(function(_dereq_,exports,module){var base64VLQ=_dereq_('./base64-vlq');var util=_dereq_('./util');var ArraySet=_dereq_('./array-set').ArraySet;function SourceMapGenerator(aArgs){this._file=util.getArg(aArgs,'file');this._sourceRoot=util.getArg(aArgs,'sourceRoot',null);this._sources=new ArraySet();this._names=new ArraySet();this._mappings=[];this._sourcesContents=null;} -SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(aSourceMapConsumer){var sourceRoot=aSourceMapConsumer.sourceRoot;var generator=new SourceMapGenerator({file:aSourceMapConsumer.file,sourceRoot:sourceRoot});aSourceMapConsumer.eachMapping(function(mapping){var newMapping={generated:{line:mapping.generatedLine,column:mapping.generatedColumn}};if(mapping.source){newMapping.source=mapping.source;if(sourceRoot){newMapping.source=util.relative(sourceRoot,newMapping.source);} -newMapping.original={line:mapping.originalLine,column:mapping.originalColumn};if(mapping.name){newMapping.name=mapping.name;}} -generator.addMapping(newMapping);});aSourceMapConsumer.sources.forEach(function(sourceFile){var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content){generator.setSourceContent(sourceFile,content);}});return generator;};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(aArgs){var generated=util.getArg(aArgs,'generated');var original=util.getArg(aArgs,'original',null);var source=util.getArg(aArgs,'source',null);var name=util.getArg(aArgs,'name',null);this._validateMapping(generated,original,source,name);if(source&&!this._sources.has(source)){this._sources.add(source);} -if(name&&!this._names.has(name)){this._names.add(name);} -this._mappings.push({generatedLine:generated.line,generatedColumn:generated.column,originalLine:original!=null&&original.line,originalColumn:original!=null&&original.column,source:source,name:name});};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(aSourceFile,aSourceContent){var source=aSourceFile;if(this._sourceRoot){source=util.relative(this._sourceRoot,source);} -if(aSourceContent!==null){if(!this._sourcesContents){this._sourcesContents={};} -this._sourcesContents[util.toSetString(source)]=aSourceContent;}else{delete this._sourcesContents[util.toSetString(source)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null;}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(aSourceMapConsumer,aSourceFile){if(!aSourceFile){aSourceFile=aSourceMapConsumer.file;} -var sourceRoot=this._sourceRoot;if(sourceRoot){aSourceFile=util.relative(sourceRoot,aSourceFile);} -var newSources=new ArraySet();var newNames=new ArraySet();this._mappings.forEach(function(mapping){if(mapping.source===aSourceFile&&mapping.originalLine){var original=aSourceMapConsumer.originalPositionFor({line:mapping.originalLine,column:mapping.originalColumn});if(original.source!==null){if(sourceRoot){mapping.source=util.relative(sourceRoot,original.source);}else{mapping.source=original.source;} -mapping.originalLine=original.line;mapping.originalColumn=original.column;if(original.name!==null&&mapping.name!==null){mapping.name=original.name;}}} -var source=mapping.source;if(source&&!newSources.has(source)){newSources.add(source);} -var name=mapping.name;if(name&&!newNames.has(name)){newNames.add(name);}},this);this._sources=newSources;this._names=newNames;aSourceMapConsumer.sources.forEach(function(sourceFile){var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content){if(sourceRoot){sourceFile=util.relative(sourceRoot,sourceFile);} -this.setSourceContent(sourceFile,content);}},this);};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(aGenerated,aOriginal,aSource,aName){if(aGenerated&&'line'in aGenerated&&'column'in aGenerated&&aGenerated.line>0&&aGenerated.column>=0&&!aOriginal&&!aSource&&!aName){return;} -else if(aGenerated&&'line'in aGenerated&&'column'in aGenerated&&aOriginal&&'line'in aOriginal&&'column'in aOriginal&&aGenerated.line>0&&aGenerated.column>=0&&aOriginal.line>0&&aOriginal.column>=0&&aSource){return;} -else{throw new Error('Invalid mapping: '+JSON.stringify({generated:aGenerated,source:aSource,orginal:aOriginal,name:aName}));}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var previousGeneratedColumn=0;var previousGeneratedLine=1;var previousOriginalColumn=0;var previousOriginalLine=0;var previousName=0;var previousSource=0;var result='';var mapping;this._mappings.sort(util.compareByGeneratedPositions);for(var i=0,len=this._mappings.length;i0){if(!util.compareByGeneratedPositions(mapping,this._mappings[i-1])){continue;} -result+=',';}} -result+=base64VLQ.encode(mapping.generatedColumn --previousGeneratedColumn);previousGeneratedColumn=mapping.generatedColumn;if(mapping.source){result+=base64VLQ.encode(this._sources.indexOf(mapping.source) --previousSource);previousSource=this._sources.indexOf(mapping.source);result+=base64VLQ.encode(mapping.originalLine-1 --previousOriginalLine);previousOriginalLine=mapping.originalLine-1;result+=base64VLQ.encode(mapping.originalColumn --previousOriginalColumn);previousOriginalColumn=mapping.originalColumn;if(mapping.name){result+=base64VLQ.encode(this._names.indexOf(mapping.name) --previousName);previousName=this._names.indexOf(mapping.name);}}} -return result;};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(aSources,aSourceRoot){return aSources.map(function(source){if(!this._sourcesContents){return null;} -if(aSourceRoot){source=util.relative(aSourceRoot,source);} -var key=util.toSetString(source);return Object.prototype.hasOwnProperty.call(this._sourcesContents,key)?this._sourcesContents[key]:null;},this);};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var map={version:this._version,file:this._file,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._sourceRoot){map.sourceRoot=this._sourceRoot;} -if(this._sourcesContents){map.sourcesContent=this._generateSourcesContent(map.sources,map.sourceRoot);} -return map;};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this);};exports.SourceMapGenerator=SourceMapGenerator;});},{"./array-set":12,"./base64-vlq":13,"./util":19,"amdefine":20}],18:[function(_dereq_,module,exports){if(typeof define!=='function'){var define=_dereq_('amdefine')(module,_dereq_);} -define(function(_dereq_,exports,module){var SourceMapGenerator=_dereq_('./source-map-generator').SourceMapGenerator;var util=_dereq_('./util');function SourceNode(aLine,aColumn,aSource,aChunks,aName){this.children=[];this.sourceContents={};this.line=aLine===undefined?null:aLine;this.column=aColumn===undefined?null:aColumn;this.source=aSource===undefined?null:aSource;this.name=aName===undefined?null:aName;if(aChunks!=null)this.add(aChunks);} -SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(aGeneratedCode,aSourceMapConsumer){var node=new SourceNode();var remainingLines=aGeneratedCode.split('\n');var lastGeneratedLine=1,lastGeneratedColumn=0;var lastMapping=null;aSourceMapConsumer.eachMapping(function(mapping){if(lastMapping===null){while(lastGeneratedLine=0;i--){this.prepend(aChunk[i]);}} -else if(aChunk instanceof SourceNode||typeof aChunk==="string"){this.children.unshift(aChunk);} -else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+aChunk);} -return this;};SourceNode.prototype.walk=function SourceNode_walk(aFn){var chunk;for(var i=0,len=this.children.length;i0){newChildren=[];for(i=0;is2)-(s10){ary.splice(i-1,2);i-=2;}}}} -function normalize(name,baseName){var baseParts;if(name&&name.charAt(0)==='.'){if(baseName){baseParts=baseName.split('/');baseParts=baseParts.slice(0,baseParts.length-1);baseParts=baseParts.concat(name.split('/'));trimDots(baseParts);name=baseParts.join('/');}} -return name;} -function makeNormalize(relName){return function(name){return normalize(name,relName);};} -function makeLoad(id){function load(value){loaderCache[id]=value;} -load.fromText=function(id,text){throw new Error('amdefine does not implement load.fromText');};return load;} -makeRequire=function(systemRequire,exports,module,relId){function amdRequire(deps,callback){if(typeof deps==='string'){return stringRequire(systemRequire,exports,module,deps,relId);}else{deps=deps.map(function(depName){return stringRequire(systemRequire,exports,module,depName,relId);});process.nextTick(function(){callback.apply(null,deps);});}} -amdRequire.toUrl=function(filePath){if(filePath.indexOf('.')===0){return normalize(filePath,path.dirname(module.filename));}else{return filePath;}};return amdRequire;};requireFn=requireFn||function req(){return module.require.apply(module,arguments);};function runFactory(id,deps,factory){var r,e,m,result;if(id){e=loaderCache[id]={};m={id:id,uri:__filename,exports:e};r=makeRequire(requireFn,e,m,id);}else{if(alreadyCalled){throw new Error('amdefine with no module ID cannot be called more than once per file.');} -alreadyCalled=true;e=module.exports;m=module;r=makeRequire(requireFn,e,m,module.id);} -if(deps){deps=deps.map(function(depName){return r(depName);});} -if(typeof factory==='function'){result=factory.apply(m.exports,deps);}else{result=factory;} -if(result!==undefined){m.exports=result;if(id){loaderCache[id]=m.exports;}}} -stringRequire=function(systemRequire,exports,module,id,relId){var index=id.indexOf('!'),originalId=id,prefix,plugin;if(index===-1){id=normalize(id,relId);if(id==='require'){return makeRequire(systemRequire,exports,module,relId);}else if(id==='exports'){return exports;}else if(id==='module'){return module;}else if(loaderCache.hasOwnProperty(id)){return loaderCache[id];}else if(defineCache[id]){runFactory.apply(null,defineCache[id]);return loaderCache[id];}else{if(systemRequire){return systemRequire(originalId);}else{throw new Error('No module with ID: '+id);}}}else{prefix=id.substring(0,index);id=id.substring(index+1,id.length);plugin=stringRequire(systemRequire,exports,module,prefix,relId);if(plugin.normalize){id=plugin.normalize(id,makeNormalize(relId));}else{id=normalize(id,relId);} -if(loaderCache[id]){return loaderCache[id];}else{plugin.load(id,makeRequire(systemRequire,exports,module,relId),makeLoad(id),{});return loaderCache[id];}}};function define(id,deps,factory){if(Array.isArray(id)){factory=deps;deps=id;id=undefined;}else if(typeof id!=='string'){factory=id;id=deps=undefined;} -if(deps&&!Array.isArray(deps)){factory=deps;deps=undefined;} -if(!deps){deps=['require','exports','module'];} -if(id){defineCache[id]=[id,deps,factory];}else{runFactory(id,deps,factory);}} -define.require=function(id){if(loaderCache[id]){return loaderCache[id];} -if(defineCache[id]){runFactory.apply(null,defineCache[id]);return loaderCache[id];}};define.amd={};return define;} -module.exports=amdefine;}).call(this,_dereq_('_process'),"/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/amdefine.js")},{"_process":8,"path":7}],21:[function(_dereq_,module,exports){var docblockRe=/^\s*(\/\*\*(.|\r?\n)*?\*\/)/;var ltrimRe=/^\s*/;function extract(contents){var match=contents.match(docblockRe);if(match){return match[0].replace(ltrimRe,'')||'';} -return'';} -var commentStartRe=/^\/\*\*?/;var commentEndRe=/\*+\/$/;var wsRe=/[\t ]+/g;var stringStartRe=/(\r?\n|^) *\*/g;var multilineRe=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *([^@\r\n\s][^@\r\n]+?) *\r?\n/g;var propertyRe=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g;function parse(docblock){docblock=docblock.replace(commentStartRe,'').replace(commentEndRe,'').replace(wsRe,' ').replace(stringStartRe,'$1');var prev='';while(prev!=docblock){prev=docblock;docblock=docblock.replace(multilineRe,"\n$1 $2\n");} -docblock=docblock.trim();var result=[];var match;while(match=propertyRe.exec(docblock)){result.push([match[1],match[2]]);} -return result;} -function parseAsObject(docblock){var pairs=parse(docblock);var result={};for(var i=0;i0&&node.body[0].type===Syntax.ExpressionStatement&&node.body[0].expression.type===Syntax.Literal&&node.body[0].expression.value==='use strict';} -if(node.type===Syntax.Program){startIndex=state.g.buffer.length;state=utils.updateState(state,{scopeIsStrict:scopeIsStrict});}else{startIndex=state.g.buffer.length+1;state=utils.updateState(state,{localScope:{parentNode:parentNode,parentScope:state.localScope,identifiers:{},tempVarIndex:0,tempVars:[]},scopeIsStrict:scopeIsStrict});declareIdentInScope('arguments',initScopeMetadata(node),state);if(parentNode.params.length>0){var param;var metadata=initScopeMetadata(parentNode,path.slice(1),path[0]);for(var i=0;i1){state.g.sourceLine++;state.g.bufferLine++;state.g.sourceColumn=0;state.g.bufferColumn=0;} -state.g.sourceColumn+=sourceLines[sourceLines.length-1].length;state.g.bufferColumn+=transformedLines[transformedLines.length-1].length;} -state.g.buffer+=contentTransformer?contentTransformer(transformed):transformed;state.g.position=end;} -function getNodeSourceText(node,state){return state.g.source.substring(node.range[0],node.range[1]);} -function _replaceNonWhite(value){return value.replace(nonWhiteRegexp,' ');} -function _stripNonWhite(value){return value.replace(nonWhiteRegexp,'');} -function getNextSyntacticCharOffset(char,state){var pendingSource=state.g.source.substring(state.g.position);var pendingSourceLines=pendingSource.split('\n');var charOffset=0;var line;var withinBlockComment=false;var withinString=false;lineLoop:while((line=pendingSourceLines.shift())!==undefined){var lineEndPos=charOffset+line.length;charLoop:for(;charOffset1){state.g.sourceLine+=sourceLines.length-1;state.g.sourceColumn=0;} -state.g.sourceColumn+=sourceLines[sourceLines.length-1].length;} -state.g.position=end;} -function append(str,state){if(state.g.sourceMap&&str){state.g.sourceMap.addMapping({generated:{line:state.g.bufferLine,column:state.g.bufferColumn},original:{line:state.g.sourceLine,column:state.g.sourceColumn},source:state.g.sourceMapFilename});var transformedLines=str.split('\n');if(transformedLines.length>1){state.g.bufferLine+=transformedLines.length-1;state.g.bufferColumn=0;} -state.g.bufferColumn+=transformedLines[transformedLines.length-1].length;} -state.g.buffer+=str;} -function updateIndent(str,state){var indentBy=state.indentBy;if(indentBy<0){for(var i=0;i<-indentBy;i++){str=str.replace(leadingIndentRegexp,'$1');}}else{for(var i=0;i0&&state.g.source[start]!='\n'){if(!state.g.source[start].match(/[ \t]/)){end=start;} -start--;} -return state.g.source.substring(start+1,end);} -function getDocblock(state){if(!state.g.docblock){var docblock=_dereq_('./docblock');state.g.docblock=docblock.parseAsObject(docblock.extract(state.g.source));} -return state.g.docblock;} -function identWithinLexicalScope(identName,state,stopBeforeNode){var currScope=state.localScope;while(currScope){if(currScope.identifiers[identName]!==undefined){return true;} -if(stopBeforeNode&&currScope.parentNode===stopBeforeNode){break;} -currScope=currScope.parentScope;} -return false;} -function identInLocalScope(identName,state){return state.localScope.identifiers[identName]!==undefined;} -function initScopeMetadata(boundaryNode,path,node){return{boundaryNode:boundaryNode,bindingPath:path,bindingNode:node};} -function declareIdentInLocalScope(identName,metaData,state){state.localScope.identifiers[identName]={boundaryNode:metaData.boundaryNode,path:metaData.bindingPath,node:metaData.bindingNode,state:Object.create(state)};} -function getLexicalBindingMetadata(identName,state){var currScope=state.localScope;while(currScope){if(currScope.identifiers[identName]!==undefined){return currScope.identifiers[identName];} -currScope=currScope.parentScope;}} -function getLocalBindingMetadata(identName,state){return state.localScope.identifiers[identName];} -function analyzeAndTraverse(analyzer,traverser,node,path,state){if(node.type){if(analyzer(node,path,state)===false){return;} -path.unshift(node);} -getOrderedChildren(node).forEach(function(child){traverser(child,path,state);});node.type&&path.shift();} -function getOrderedChildren(node){var queue=[];for(var key in node){if(node.hasOwnProperty(key)){enqueueNodeWithStartIndex(queue,node[key]);}} -queue.sort(function(a,b){return a[1]-b[1];});return queue.map(function(pair){return pair[0];});} -function enqueueNodeWithStartIndex(queue,node){if(typeof node!=='object'||node===null){return;} -if(node.range){queue.push([node,node.range[0]]);}else if(Array.isArray(node)){for(var ii=0;ii0&&node.arguments[node.arguments.length-1].type===Syntax.SpreadElement);};exports.visitorList=[visitCallSpread];},{"../src/utils":23,"esprima-fb":9}],26:[function(_dereq_,module,exports){'use strict';var base62=_dereq_('base62');var Syntax=_dereq_('esprima-fb').Syntax;var utils=_dereq_('../src/utils');var reservedWordsHelper=_dereq_('./reserved-words-helper');var declareIdentInLocalScope=utils.declareIdentInLocalScope;var initScopeMetadata=utils.initScopeMetadata;var SUPER_PROTO_IDENT_PREFIX='____SuperProtoOf';var _anonClassUUIDCounter=0;var _mungedSymbolMaps={};function resetSymbols(){_anonClassUUIDCounter=0;_mungedSymbolMaps={};} -function _generateAnonymousClassName(state){var mungeNamespace=state.mungeNamespace||'';return'____Class'+mungeNamespace+base62.encode(_anonClassUUIDCounter++);} -function _getMungedName(identName,state){var mungeNamespace=state.mungeNamespace;var shouldMinify=state.g.opts.minify;if(shouldMinify){if(!_mungedSymbolMaps[mungeNamespace]){_mungedSymbolMaps[mungeNamespace]={symbolMap:{},identUUIDCounter:0};} -var symbolMap=_mungedSymbolMaps[mungeNamespace].symbolMap;if(!symbolMap[identName]){symbolMap[identName]=base62.encode(_mungedSymbolMaps[mungeNamespace].identUUIDCounter++);} -identName=symbolMap[identName];} -return'$'+mungeNamespace+identName;} -function _getSuperClassInfo(node,state){var ret={name:null,expression:null};if(node.superClass){if(node.superClass.type===Syntax.Identifier){ret.name=node.superClass.name;}else{ret.name=_generateAnonymousClassName(state);ret.expression=state.g.source.substring(node.superClass.range[0],node.superClass.range[1]);}} -return ret;} -function _isConstructorMethod(classElement){return classElement.type===Syntax.MethodDefinition&&classElement.key.type===Syntax.Identifier&&classElement.key.name==='constructor';} -function _shouldMungeIdentifier(node,state){return(!!state.methodFuncNode&&!utils.getDocblock(state).hasOwnProperty('preventMunge')&&/^_(?!_)/.test(node.name));} -function visitClassMethod(traverse,node,path,state){if(!state.g.opts.es5&&(node.kind==='get'||node.kind==='set')){throw new Error('This transform does not support '+node.kind+'ter methods for ES6 '+'classes. (line: '+node.loc.start.line+', col: '+ -node.loc.start.column+')');} -state=utils.updateState(state,{methodNode:node});utils.catchup(node.range[0],state);path.unshift(node);traverse(node.value,path,state);path.shift();return false;} -visitClassMethod.test=function(node,path,state){return node.type===Syntax.MethodDefinition;};function visitClassFunctionExpression(traverse,node,path,state){var methodNode=path[0];var isGetter=methodNode.kind==='get';var isSetter=methodNode.kind==='set';state=utils.updateState(state,{methodFuncNode:node});if(methodNode.key.name==='constructor'){utils.append('function '+state.className,state);}else{var methodAccessorComputed=false;var methodAccessor;var prototypeOrStatic=methodNode["static"]?'':'.prototype';var objectAccessor=state.className+prototypeOrStatic;if(methodNode.key.type===Syntax.Identifier){methodAccessor=methodNode.key.name;if(_shouldMungeIdentifier(methodNode.key,state)){methodAccessor=_getMungedName(methodAccessor,state);} -if(isGetter||isSetter){methodAccessor=JSON.stringify(methodAccessor);}else if(reservedWordsHelper.isReservedWord(methodAccessor)){methodAccessorComputed=true;methodAccessor=JSON.stringify(methodAccessor);}}else if(methodNode.key.type===Syntax.Literal){methodAccessor=JSON.stringify(methodNode.key.value);methodAccessorComputed=true;} -if(isSetter||isGetter){utils.append('Object.defineProperty('+ -objectAccessor+','+ -methodAccessor+','+'{configurable:true,'+ -methodNode.kind+':function',state);}else{if(state.g.opts.es3){if(methodAccessorComputed){methodAccessor='['+methodAccessor+']';}else{methodAccessor='.'+methodAccessor;} -utils.append(objectAccessor+ -methodAccessor+'=function'+(node.generator?'*':''),state);}else{if(!methodAccessorComputed){methodAccessor=JSON.stringify(methodAccessor);} -utils.append('Object.defineProperty('+ -objectAccessor+','+ -methodAccessor+','+'{writable:true,configurable:true,'+'value:function'+(node.generator?'*':''),state);}}} -utils.move(methodNode.key.range[1],state);utils.append('(',state);var params=node.params;if(params.length>0){utils.catchupNewlines(params[0].range[0],state);for(var i=0;i0){utils.append(',',state);utils.catchupWhiteSpace(node.arguments[0].range[0],state);traverse(node.arguments,path,state);} -utils.catchupWhiteSpace(node.range[1],state);utils.append(')',state);return false;} -visitSuperCallExpression.test=function(node,path,state){if(state.superClass&&node.type===Syntax.CallExpression){var callee=node.callee;if(callee.type===Syntax.Identifier&&callee.name==='super'||callee.type==Syntax.MemberExpression&&callee.object.name==='super'){return true;}} -return false;};function visitSuperMemberExpression(traverse,node,path,state){var superClassName=state.superClass.name;utils.append(SUPER_PROTO_IDENT_PREFIX+superClassName,state);utils.move(node.object.range[1],state);} -visitSuperMemberExpression.test=function(node,path,state){return state.superClass&&node.type===Syntax.MemberExpression&&node.object.type===Syntax.Identifier&&node.object.name==='super';};exports.resetSymbols=resetSymbols;exports.visitorList=[visitClassDeclaration,visitClassExpression,visitClassFunctionExpression,visitClassMethod,visitClassMethodParam,visitPrivateIdentifier,visitSuperCallExpression,visitSuperMemberExpression];},{"../src/utils":23,"./reserved-words-helper":34,"base62":10,"esprima-fb":9}],27:[function(_dereq_,module,exports){var Syntax=_dereq_('esprima-fb').Syntax;var utils=_dereq_('../src/utils');var reservedWordsHelper=_dereq_('./reserved-words-helper');var restParamVisitors=_dereq_('./es6-rest-param-visitors');var restPropertyHelpers=_dereq_('./es7-rest-property-helpers');function visitStructuredVariable(traverse,node,path,state){utils.append(utils.getTempVar(state.localScope.tempVarIndex)+'=',state);utils.catchupWhiteSpace(node.init.range[0],state);traverse(node.init,path,state);utils.catchup(node.init.range[1],state);utils.append(','+getDestructuredComponents(node.id,state),state);state.localScope.tempVarIndex++;return false;} -visitStructuredVariable.test=function(node,path,state){return node.type===Syntax.VariableDeclarator&&isStructuredPattern(node.id);};function isStructuredPattern(node){return node.type===Syntax.ObjectPattern||node.type===Syntax.ArrayPattern;} -function getDestructuredComponents(node,state){var tmpIndex=state.localScope.tempVarIndex;var components=[];var patternItems=getPatternItems(node);for(var idx=0;idx0&&!templateElement.tail){utils.append(' + ',state);}} -utils.move(templateElement.range[1],state);if(!templateElement.tail){var substitution=node.expressions[ii];if(substitution.type===Syntax.Identifier||substitution.type===Syntax.MemberExpression||substitution.type===Syntax.CallExpression){utils.catchup(substitution.range[1],state);}else{utils.append('(',state);traverse(substitution,path,state);utils.catchup(substitution.range[1],state);utils.append(')',state);} -if(templateElements[ii+1].value.cooked!==''){utils.append(' + ',state);}}} -utils.move(node.range[1],state);utils.append(')',state);return false;} -visitTemplateLiteral.test=function(node,path,state){return node.type===Syntax.TemplateLiteral;};function visitTaggedTemplateExpression(traverse,node,path,state){var template=node.quasi;var numQuasis=template.quasis.length;utils.move(node.tag.range[0],state);traverse(node.tag,path,state);utils.catchup(node.tag.range[1],state);utils.append('(function() { var siteObj = [',state);for(var ii=0;ii1){for(ii=0;ii0){var lastRenderableIndex;childrenToRender.forEach(function(child,index){if(child.type!==Syntax.JSXExpressionContainer||child.expression.type!==Syntax.JSXEmptyExpression){lastRenderableIndex=index;}});if(lastRenderableIndex!==undefined){utils.append(', ',state);} -childrenToRender.forEach(function(child,index){utils.catchup(child.range[0],state,trimLeft);var isLast=index>=lastRenderableIndex;if(child.type===Syntax.Literal){renderJSXLiteral(child,isLast,state);}else if(child.type===Syntax.JSXExpressionContainer){renderJSXExpressionContainer(traverse,child,isLast,path,state);}else{traverse(child,path,state);if(!isLast){utils.append(', ',state);}} -utils.catchup(child.range[1],state,trimLeft);});} -if(openingElement.selfClosing){utils.catchup(openingElement.range[1]-2,state,trimLeft);utils.move(openingElement.range[1],state);}else{utils.catchup(object.closingElement.range[0],state,trimLeft);utils.move(object.closingElement.range[1],state);} -utils.append(')',state);return false;} -visitReactTag.test=function(object,path,state){return object.type===Syntax.JSXElement;};exports.visitorList=[visitReactTag];},{"./jsx":37,"jstransform":22,"jstransform/src/utils":23}],39:[function(_dereq_,module,exports){'use strict';var Syntax=_dereq_('jstransform').Syntax;var utils=_dereq_('jstransform/src/utils');function addDisplayName(displayName,object,state){if(object&&object.type===Syntax.CallExpression&&object.callee.type===Syntax.MemberExpression&&object.callee.object.type===Syntax.Identifier&&object.callee.object.name==='React'&&object.callee.property.type===Syntax.Identifier&&object.callee.property.name==='createClass'&&object.arguments.length===1&&object.arguments[0].type===Syntax.ObjectExpression){var properties=object.arguments[0].properties;var safe=properties.every(function(property){var value=property.key.type===Syntax.Identifier?property.key.name:property.key.value;return value!=='displayName';});if(safe){utils.catchup(object.arguments[0].range[0]+1,state);utils.append('displayName: "'+displayName+'",',state);}}} -function visitReactDisplayName(traverse,object,path,state){var left,right;if(object.type===Syntax.AssignmentExpression){left=object.left;right=object.right;}else if(object.type===Syntax.Property){left=object.key;right=object.value;}else if(object.type===Syntax.VariableDeclarator){left=object.id;right=object.init;} -if(left&&left.type===Syntax.MemberExpression){left=left.property;} -if(left&&left.type===Syntax.Identifier){addDisplayName(left.name,right,state);}} -visitReactDisplayName.test=function(object,path,state){return(object.type===Syntax.AssignmentExpression||object.type===Syntax.Property||object.type===Syntax.VariableDeclarator);};exports.visitorList=[visitReactDisplayName];},{"jstransform":22,"jstransform/src/utils":23}],40:[function(_dereq_,module,exports){'use strict';var es6ArrowFunctions=_dereq_('jstransform/visitors/es6-arrow-function-visitors');var es6Classes=_dereq_('jstransform/visitors/es6-class-visitors');var es6Destructuring=_dereq_('jstransform/visitors/es6-destructuring-visitors');var es6ObjectConciseMethod=_dereq_('jstransform/visitors/es6-object-concise-method-visitors');var es6ObjectShortNotation=_dereq_('jstransform/visitors/es6-object-short-notation-visitors');var es6RestParameters=_dereq_('jstransform/visitors/es6-rest-param-visitors');var es6Templates=_dereq_('jstransform/visitors/es6-template-visitors');var es6CallSpread=_dereq_('jstransform/visitors/es6-call-spread-visitors');var es7SpreadProperty=_dereq_('jstransform/visitors/es7-spread-property-visitors');var react=_dereq_('./transforms/react');var reactDisplayName=_dereq_('./transforms/reactDisplayName');var reservedWords=_dereq_('jstransform/visitors/reserved-words-visitors');var transformVisitors={'es6-arrow-functions':es6ArrowFunctions.visitorList,'es6-classes':es6Classes.visitorList,'es6-destructuring':es6Destructuring.visitorList,'es6-object-concise-method':es6ObjectConciseMethod.visitorList,'es6-object-short-notation':es6ObjectShortNotation.visitorList,'es6-rest-params':es6RestParameters.visitorList,'es6-templates':es6Templates.visitorList,'es6-call-spread':es6CallSpread.visitorList,'es7-spread-property':es7SpreadProperty.visitorList,'react':react.visitorList.concat(reactDisplayName.visitorList),'reserved-words':reservedWords.visitorList};var transformSets={'harmony':['es6-arrow-functions','es6-object-concise-method','es6-object-short-notation','es6-classes','es6-rest-params','es6-templates','es6-destructuring','es6-call-spread','es7-spread-property'],'es3':['reserved-words'],'react':['react']};var transformRunOrder=['reserved-words','es6-arrow-functions','es6-object-concise-method','es6-object-short-notation','es6-classes','es6-rest-params','es6-templates','es6-destructuring','es6-call-spread','es7-spread-property','react'];function getAllVisitors(excludes){var ret=[];for(var i=0,il=transformRunOrder.length;i - { - (this.state.deleted) ? ( -
 
- ) : (null) - }
- {this.props.nwid} + {this.props.nwid}  {this.props.name}
diff --git a/ui/ZeroTierNode.jsx b/ui/ZeroTierNode.jsx index 361abb1f..30817b41 100644 --- a/ui/ZeroTierNode.jsx +++ b/ui/ZeroTierNode.jsx @@ -56,6 +56,7 @@ var ZeroTierNode = React.createClass({ cache: false, type: 'GET', success: function(data) { + this.alertedToFailure = false; if (data) { var status = JSON.parse(data); this.setState(status); @@ -65,7 +66,11 @@ var ZeroTierNode = React.createClass({ this.updatePeers(); }.bind(this), error: function() { - this.setState({online: false}); + this.setState(this.getInitialState()); + if (!this.alertedToFailure) { + this.alertedToFailure = true; + alert('Authorization token invalid or ZeroTier One service not running.'); + } }.bind(this) }); }, @@ -77,13 +82,20 @@ var ZeroTierNode = React.createClass({ cache: false, type: 'POST', success: function(data) { + this.networkToJoin = ''; + if (this.networkInputElement) + this.networkInputElement.value = ''; + this.updateNetworks(); }.bind(this), error: function() { }.bind(this) }); + } else { + alert('To join a network, enter its 16-digit network ID.'); } }, handleNetworkIdEntry: function(event) { + this.networkInputElement = event.target; var nid = event.target.value; if (nid) { nid = nid.toLowerCase(); @@ -100,6 +112,15 @@ var ZeroTierNode = React.createClass({ } }, + handleNetworkDelete: function(nwid) { + var networks = []; + for(var i=0;i
   +
⏁ 
@@ -124,7 +149,8 @@ var ZeroTierNode = React.createClass({
Address
Version
Latency
-
Direct Paths
+
Data Paths
+
Last Frame
Role
{ @@ -137,26 +163,22 @@ var ZeroTierNode = React.createClass({
{ (peer['paths'].length === 0) ? ( -
(none)
+
) : (
{ peer['paths'].map(function(path) { - if ((path.active)||(path.fixed)) { - return ( -
{path.address} {this.ago(path.lastSend)} {this.ago(path.lastReceive)}{path.preferred ? ' *' : ''}
- ); - } else { - return ( -
{path.address} {this.ago(path.lastSend)} {this.ago(path.lastReceive)}
- ); - } + var cn = ((path.active)||(path.fixed)) ? (path.preferred ? 'peerPathPreferred' : 'peerPathActive') : 'peerPathInactive'; + return ( +
{path.address}  {this.ago(path.lastSend)}/{this.ago(path.lastReceive)}
+ ); }.bind(this)) }
) }
+
{this.ago(peer['lastUnicastFrame'])}
{peer['role']}
); @@ -168,6 +190,7 @@ var ZeroTierNode = React.createClass({ { this.state._networks.map(function(network) { network['authToken'] = this.props.authToken; + network['onNetworkDeleted'] = this.handleNetworkDelete; return React.createElement('div',{className: 'network'},React.createElement(ZeroTierNetwork,network)); }.bind(this)) } @@ -181,7 +204,7 @@ var ZeroTierNode = React.createClass({ {this.state.address}  {this.state.online ? 'ONLINE' : 'OFFLINE'}  {this.state.version}
-
+
diff --git a/ui/index.html b/ui/index.html index eee4414a..fde06f93 100644 --- a/ui/index.html +++ b/ui/index.html @@ -12,12 +12,11 @@ - - - + + - +
diff --git a/ui/zerotier.css b/ui/zerotier.css index 52f16718..b8ca3967 100644 --- a/ui/zerotier.css +++ b/ui/zerotier.css @@ -36,6 +36,14 @@ html,body { padding: 0; margin: 0; } +.zeroTierNode > .top > .logo { + display: inline-block; + padding: 0.1em 0 0 0; + margin: 0; + font-size: 12pt; + font-weight: bold; + float: right; +} .zeroTierNode > .top button { display: inline-block; padding: 0.25rem 0.75rem 0.25rem 0.75rem; @@ -70,7 +78,7 @@ html,body { margin: 0; overflow-x: hidden; overflow-y: scroll; - background: #eeeeee; + background: #dddddd; } .zeroTierNode > .middle > .middleScroll > .networks { display: block; @@ -81,17 +89,17 @@ html,body { border-collapse: collapse; } .zeroTierNode > .middle > .middleScroll > .networks > .network { - padding: 0.5rem; - margin: 0.25rem; + padding: 0.25rem; + margin: 0.25rem 0 0 0.25rem; float: left; display: inline-block; + min-width: 30%; border: 1px solid #234447; background: #ffffff; } .zeroTierNode > .middle > .middleScroll > .peers { display: table; width: 100%; - padding: 0; margin: 0; border-collapse: collapse; } @@ -100,20 +108,35 @@ html,body { display: table-row; background: #ffffff; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPath { +.zeroTierNode > .middle > .middleScroll > .peers > .peer:nth-child(odd) { + background: #f3f3f3; +} +.zeroTierNode > .middle > .middleScroll > .peers > .peer:nth-child(even) { +} +.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathActive { + font-size: 10pt; + color: #555555; + font-style: italic; + font-family: monospace; + white-space: nowrap; +} +.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathPreferred { font-size: 10pt; + color: #000000; font-family: monospace; white-space: nowrap; } .zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathInactive { font-size: 10pt; font-family: monospace; - color: #bbbbbb; + color: #aaaaaa; + font-style: italic; text-decoration: line-through; white-space: nowrap; } .zeroTierNode > .middle > .middleScroll > .peers > .peer > .f { display: table-cell; + padding: 0.05rem 0.15rem 0.05rem 0.15rem; font-size: 10pt; } .zeroTierNode > .middle > .middleScroll > .peers > .peerHeader { @@ -125,6 +148,7 @@ html,body { .zeroTierNode > .middle > .middleScroll > .peers > .peerHeader > .f { display: table-cell; font-size: 10pt; + padding: 0.05rem 0.15rem 0.05rem 0.15rem; font-weight: bold; } @@ -155,13 +179,12 @@ html,body { .zeroTierNode > .bottom > .right input { font-family: monospace; font-size: 12pt; - background: #91a2a3; - color: #ffffff; + background: #ffffff; + color: #000000; outline: none; - border: 0; + border: 1px solid #234447; margin: 0; padding: 0.05rem 0.25rem 0.05rem 0.25rem; - height: 100%; display: inline-block; } .zeroTierNode > .bottom > .right button { @@ -187,18 +210,8 @@ html,body { width: 100%; position: relative; } -.zeroTierNetwork .deletedOverlay { - width: 100%; - height: 100%; - position: absolute; - background: rgba(255,255,255,0.8); - display: block; - top: 0; - left: 0; - z-index: 2; -} .zeroTierNetwork .networkInfo { - padding: 0 0 0.5rem 0; + padding: 0 0 0.25rem 0; text-align: left; font-size: 12pt; } @@ -242,7 +255,7 @@ html,body { } .zeroTierNetwork .leaveNetworkButton { padding: 0.25rem 0.5rem 0.25rem 0.5rem; - margin: 0.5rem 0 0 0; + margin: 0.25rem 0 0 0; font-size: 10pt; background: #ffffff; outline: none; -- cgit v1.2.3 From bd2ce82ea627f7b147a04242c3f7c40d5f6c33ed Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 10:03:35 -0700 Subject: Minify JS in UI, add Makefile. --- .gitignore | 1 + ui/Makefile | 5 +++++ ui/ZeroTierNetwork.jsx | 2 +- ui/ZeroTierNode.jsx | 10 +++++----- ui/index.html | 20 ++++++-------------- ui/main.js | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ ui/main.jsx | 51 -------------------------------------------------- ui/ztui.min.js | 2 ++ 8 files changed, 71 insertions(+), 71 deletions(-) create mode 100644 ui/Makefile create mode 100644 ui/main.js delete mode 100644 ui/main.jsx create mode 100644 ui/ztui.min.js diff --git a/.gitignore b/.gitignore index 4a24c4db..c076c26f 100755 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /root-topology/test/supernodes /root-topology/test/test-root-topology /ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/* +/ui/.module-cache diff --git a/ui/Makefile b/ui/Makefile new file mode 100644 index 00000000..48b4446d --- /dev/null +++ b/ui/Makefile @@ -0,0 +1,5 @@ +all: + mkdir -p build + jsx --target es3 -x jsx . ./build + minify build/*.js >>ztui.min.js + rm -rf build diff --git a/ui/ZeroTierNetwork.jsx b/ui/ZeroTierNetwork.jsx index d9c384f4..1dda1117 100644 --- a/ui/ZeroTierNetwork.jsx +++ b/ui/ZeroTierNetwork.jsx @@ -60,7 +60,7 @@ var ZeroTierNetwork = React.createClass({ { this.props['assignedAddresses'].map(function(ipAssignment) { return ( -
{ipAssignment}
+
{ipAssignment}
); }) } diff --git a/ui/ZeroTierNode.jsx b/ui/ZeroTierNode.jsx index 30817b41..3782219e 100644 --- a/ui/ZeroTierNode.jsx +++ b/ui/ZeroTierNode.jsx @@ -144,8 +144,8 @@ var ZeroTierNode = React.createClass({
{ (this.tabIndex === 1) ? ( -
-
+
+
Address
Version
Latency
@@ -156,7 +156,7 @@ var ZeroTierNode = React.createClass({ { this.state._peers.map(function(peer) { return ( -
+
{peer['address']}
{(peer['version'] === '-1.-1.-1') ? '-' : peer['version']}
{peer['latency']}
@@ -186,12 +186,12 @@ var ZeroTierNode = React.createClass({ }
) : ( -
+
{ this.state._networks.map(function(network) { network['authToken'] = this.props.authToken; network['onNetworkDeleted'] = this.handleNetworkDelete; - return React.createElement('div',{className: 'network'},React.createElement(ZeroTierNetwork,network)); + return React.createElement('div',{className: 'network',key: network.nwid},React.createElement(ZeroTierNetwork,network)); }.bind(this)) }
diff --git a/ui/index.html b/ui/index.html index fde06f93..e0f048b0 100644 --- a/ui/index.html +++ b/ui/index.html @@ -2,23 +2,15 @@ ZeroTier One - + + - - + - - - - - + - -
- +
+ diff --git a/ui/main.js b/ui/main.js new file mode 100644 index 00000000..a1647127 --- /dev/null +++ b/ui/main.js @@ -0,0 +1,51 @@ +/* + * ZeroTier One - Network Virtualization Everywhere + * Copyright (C) 2011-2015 ZeroTier, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * -- + * + * ZeroTier may be used and distributed under the terms of the GPLv3, which + * are available at: http://www.gnu.org/licenses/gpl-3.0.html + * + * If you would like to embed ZeroTier into a commercial application or + * redistribute it in a modified binary form, please contact ZeroTier Networks + * LLC. Start here: http://www.zerotier.com/ + */ + +function getUrlParameter(parameter) +{ + var currLocation = window.location.search; + if (currLocation.indexOf('?') < 0) + return ''; + var parArr = currLocation.split("?")[1].split("&"); + for(var i = 0; i < parArr.length; i++){ + parr = parArr[i].split("="); + if (parr[0] == parameter) { + return decodeURIComponent(parr[1]); + } + } + return ''; +} + +var ztAuthToken = getUrlParameter('authToken'); +if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { + ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); +} + +React.render( + React.createElement(ZeroTierNode, {authToken: ztAuthToken}), + document.getElementById('main') +); diff --git a/ui/main.jsx b/ui/main.jsx deleted file mode 100644 index aa4c8bf1..00000000 --- a/ui/main.jsx +++ /dev/null @@ -1,51 +0,0 @@ -/* - * ZeroTier One - Network Virtualization Everywhere - * Copyright (C) 2011-2015 ZeroTier, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * -- - * - * ZeroTier may be used and distributed under the terms of the GPLv3, which - * are available at: http://www.gnu.org/licenses/gpl-3.0.html - * - * If you would like to embed ZeroTier into a commercial application or - * redistribute it in a modified binary form, please contact ZeroTier Networks - * LLC. Start here: http://www.zerotier.com/ - */ - -function getUrlParameter(parameter) -{ - var currLocation = window.location.search; - if (currLocation.indexOf('?') < 0) - return ''; - var parArr = currLocation.split("?")[1].split("&"); - for(var i = 0; i < parArr.length; i++){ - parr = parArr[i].split("="); - if (parr[0] == parameter) { - return decodeURIComponent(parr[1]); - } - } - return ''; -} - -var ztAuthToken = getUrlParameter('authToken'); -if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { - ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); -} - -React.render( - , - document.getElementById('main') -); diff --git a/ui/ztui.min.js b/ui/ztui.min.js new file mode 100644 index 00000000..3033df6f --- /dev/null +++ b/ui/ztui.min.js @@ -0,0 +1,2 @@ +var ZeroTierNetwork=React.createClass({displayName:"ZeroTierNetwork",getInitialState:function(){return{}},leaveNetwork:function(e){Ajax.call({url:"network/"+this.props.nwid+"?auth="+this.props.authToken,cache:!1,type:"DELETE",success:function(e){this.props.onNetworkDeleted&&this.props.onNetworkDeleted(this.props.nwid)}.bind(this),error:function(e){}.bind(this)}),e.preventDefault()},render:function(){return React.createElement("div",{className:"zeroTierNetwork"},React.createElement("div",{className:"networkInfo"},React.createElement("span",{className:"networkId"},this.props.nwid)," ",React.createElement("span",{className:"networkName"},this.props.name)),React.createElement("div",{className:"networkProps"},React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Status"),React.createElement("div",{className:"value"},this.props.status)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Type"),React.createElement("div",{className:"value"},this.props.type)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MAC"),React.createElement("div",{className:"value zeroTierAddress"},this.props.mac)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MTU"),React.createElement("div",{className:"value"},this.props.mtu)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Broadcast"),React.createElement("div",{className:"value"},this.props.broadcastEnabled?"ENABLED":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Bridging"),React.createElement("div",{className:"value"},this.props.bridge?"ACTIVE":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Device"),React.createElement("div",{className:"value"},this.props.portDeviceName?this.props.portDeviceName:"(none)")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Managed IPs"),React.createElement("div",{className:"value ipList"},this.props.assignedAddresses.map(function(e){return React.createElement("div",{key:e,className:"ipAddress"},e)})))),React.createElement("button",{className:"leaveNetworkButton",onClick:this.leaveNetwork},"Leave Network"))}}); var ZeroTierNode=React.createClass({displayName:"ZeroTierNode",getInitialState:function(){return{address:"----------",online:!1,version:"_._._",_networks:[],_peers:[]}},ago:function(e){if(e>0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a Date: Fri, 8 May 2015 10:20:38 -0700 Subject: UI spacing tweaks. --- ui/zerotier.css | 11 ++++++----- ui/ztui.min.js | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ui/zerotier.css b/ui/zerotier.css index b8ca3967..85ac9d6f 100644 --- a/ui/zerotier.css +++ b/ui/zerotier.css @@ -82,18 +82,19 @@ html,body { } .zeroTierNode > .middle > .middleScroll > .networks { display: block; - width: auto; + width: 100%; padding: 0; margin: 0; border: 0; + text-align: left; border-collapse: collapse; } .zeroTierNode > .middle > .middleScroll > .networks > .network { - padding: 0.25rem; - margin: 0.25rem 0 0 0.25rem; - float: left; display: inline-block; - min-width: 30%; + padding: 0.25rem; + margin: 0.25rem 0 0 1%; + min-width: 31%; + max-width: 98%; border: 1px solid #234447; background: #ffffff; } diff --git a/ui/ztui.min.js b/ui/ztui.min.js index 3033df6f..f4213a0f 100644 --- a/ui/ztui.min.js +++ b/ui/ztui.min.js @@ -1,2 +1,3 @@ var ZeroTierNetwork=React.createClass({displayName:"ZeroTierNetwork",getInitialState:function(){return{}},leaveNetwork:function(e){Ajax.call({url:"network/"+this.props.nwid+"?auth="+this.props.authToken,cache:!1,type:"DELETE",success:function(e){this.props.onNetworkDeleted&&this.props.onNetworkDeleted(this.props.nwid)}.bind(this),error:function(e){}.bind(this)}),e.preventDefault()},render:function(){return React.createElement("div",{className:"zeroTierNetwork"},React.createElement("div",{className:"networkInfo"},React.createElement("span",{className:"networkId"},this.props.nwid)," ",React.createElement("span",{className:"networkName"},this.props.name)),React.createElement("div",{className:"networkProps"},React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Status"),React.createElement("div",{className:"value"},this.props.status)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Type"),React.createElement("div",{className:"value"},this.props.type)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MAC"),React.createElement("div",{className:"value zeroTierAddress"},this.props.mac)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MTU"),React.createElement("div",{className:"value"},this.props.mtu)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Broadcast"),React.createElement("div",{className:"value"},this.props.broadcastEnabled?"ENABLED":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Bridging"),React.createElement("div",{className:"value"},this.props.bridge?"ACTIVE":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Device"),React.createElement("div",{className:"value"},this.props.portDeviceName?this.props.portDeviceName:"(none)")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Managed IPs"),React.createElement("div",{className:"value ipList"},this.props.assignedAddresses.map(function(e){return React.createElement("div",{key:e,className:"ipAddress"},e)})))),React.createElement("button",{className:"leaveNetworkButton",onClick:this.leaveNetwork},"Leave Network"))}}); var ZeroTierNode=React.createClass({displayName:"ZeroTierNode",getInitialState:function(){return{address:"----------",online:!1,version:"_._._",_networks:[],_peers:[]}},ago:function(e){if(e>0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a Date: Fri, 8 May 2015 10:31:01 -0700 Subject: docs --- ui/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 ui/README.md diff --git a/ui/README.md b/ui/README.md new file mode 100644 index 00000000..bd5eddb6 --- /dev/null +++ b/ui/README.md @@ -0,0 +1,10 @@ +ZeroTier HTML5 UI +====== + +This is the new (as of 1.0.3) ZeroTier One UI. It's implemented in HTML5 and React. + +If you make changes to the .jsx files, type 'make'. You will need NodeJS, react-tools, and minify installed and available in your path. + +For this to work, these files must be installed in the 'ui' subfolder of the ZeroTier home path. For development it's nice to symlink this to the 'ui' folder in your working directory. If the 'ui' subfolder is not present, the UI static files will not be served by the embedded web server. + +Packaging for Mac and Windows is accomplished by way of the wrappers in ext/. For Mac this is done with a modified version of MacGap. Windows uses a custom project that embeds a web view. -- cgit v1.2.3 From b1164ed181b0ffde3c664cffc3513b203429d2f7 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 11:08:06 -0700 Subject: icons --- artwork/ZeroTierIcon.ico | Bin 0 -> 370070 bytes artwork/ZeroTierIcon.png | Bin 0 -> 26898 bytes artwork/logo.html | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 artwork/ZeroTierIcon.ico create mode 100644 artwork/ZeroTierIcon.png create mode 100644 artwork/logo.html diff --git a/artwork/ZeroTierIcon.ico b/artwork/ZeroTierIcon.ico new file mode 100644 index 00000000..2d190c47 Binary files /dev/null and b/artwork/ZeroTierIcon.ico differ diff --git a/artwork/ZeroTierIcon.png b/artwork/ZeroTierIcon.png new file mode 100644 index 00000000..4d9641b3 Binary files /dev/null and b/artwork/ZeroTierIcon.png differ diff --git a/artwork/logo.html b/artwork/logo.html new file mode 100644 index 00000000..69c06a2c --- /dev/null +++ b/artwork/logo.html @@ -0,0 +1,37 @@ + + + + + +





+ +
+
+
+ + \ No newline at end of file -- cgit v1.2.3 From a913f006708312fa844d304641b207e9ff730b30 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 11:55:09 -0700 Subject: Windows WebControl based wrapper for web UI. --- .gitignore | 2 + windows/WebUIWrapper/App.config | 6 + windows/WebUIWrapper/Form1.Designer.cs | 70 + windows/WebUIWrapper/Form1.cs | 74 + windows/WebUIWrapper/Form1.resx | 6293 ++++++++++++++++++++ windows/WebUIWrapper/Program.cs | 22 + windows/WebUIWrapper/Properties/AssemblyInfo.cs | 36 + .../WebUIWrapper/Properties/Resources.Designer.cs | 71 + windows/WebUIWrapper/Properties/Resources.resx | 117 + .../WebUIWrapper/Properties/Settings.Designer.cs | 30 + windows/WebUIWrapper/Properties/Settings.settings | 7 + windows/WebUIWrapper/Properties/app.manifest | 52 + windows/WebUIWrapper/WebUIWrapper.csproj | 143 + windows/WebUIWrapper/ZeroTierIcon.ico | Bin 0 -> 370070 bytes windows/ZeroTierOne.sln | 79 + 15 files changed, 7002 insertions(+) create mode 100644 windows/WebUIWrapper/App.config create mode 100644 windows/WebUIWrapper/Form1.Designer.cs create mode 100644 windows/WebUIWrapper/Form1.cs create mode 100644 windows/WebUIWrapper/Form1.resx create mode 100644 windows/WebUIWrapper/Program.cs create mode 100644 windows/WebUIWrapper/Properties/AssemblyInfo.cs create mode 100644 windows/WebUIWrapper/Properties/Resources.Designer.cs create mode 100644 windows/WebUIWrapper/Properties/Resources.resx create mode 100644 windows/WebUIWrapper/Properties/Settings.Designer.cs create mode 100644 windows/WebUIWrapper/Properties/Settings.settings create mode 100644 windows/WebUIWrapper/Properties/app.manifest create mode 100644 windows/WebUIWrapper/WebUIWrapper.csproj create mode 100644 windows/WebUIWrapper/ZeroTierIcon.ico diff --git a/.gitignore b/.gitignore index c076c26f..2952bbdc 100755 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ /root-topology/test/test-root-topology /ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/* /ui/.module-cache +/windows/WebUIWrapper/bin +/windows/WebUIWrapper/obj diff --git a/windows/WebUIWrapper/App.config b/windows/WebUIWrapper/App.config new file mode 100644 index 00000000..8e156463 --- /dev/null +++ b/windows/WebUIWrapper/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/windows/WebUIWrapper/Form1.Designer.cs b/windows/WebUIWrapper/Form1.Designer.cs new file mode 100644 index 00000000..350772e0 --- /dev/null +++ b/windows/WebUIWrapper/Form1.Designer.cs @@ -0,0 +1,70 @@ +namespace WebUIWrapper +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.webContainer = new System.Windows.Forms.WebBrowser(); + this.SuspendLayout(); + // + // webContainer + // + this.webContainer.AllowNavigation = false; + this.webContainer.AllowWebBrowserDrop = false; + this.webContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.webContainer.IsWebBrowserContextMenuEnabled = false; + this.webContainer.Location = new System.Drawing.Point(0, 0); + this.webContainer.MinimumSize = new System.Drawing.Size(20, 20); + this.webContainer.Name = "webContainer"; + this.webContainer.ScriptErrorsSuppressed = true; + this.webContainer.ScrollBarsEnabled = false; + this.webContainer.Size = new System.Drawing.Size(1012, 556); + this.webContainer.TabIndex = 0; + this.webContainer.Url = new System.Uri("", System.UriKind.Relative); + this.webContainer.WebBrowserShortcutsEnabled = false; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1012, 556); + this.Controls.Add(this.webContainer); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Form1"; + this.Text = "ZeroTier One"; + this.Load += new System.EventHandler(this.Form1_Load); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.WebBrowser webContainer; + } +} + diff --git a/windows/WebUIWrapper/Form1.cs b/windows/WebUIWrapper/Form1.cs new file mode 100644 index 00000000..35ee5369 --- /dev/null +++ b/windows/WebUIWrapper/Form1.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; +using System.Net; +using System.Net.Sockets; + +namespace WebUIWrapper +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + String ztDir = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\ZeroTier\\One"; + String authToken = ""; + Int32 port = 9993; + try + { + byte[] tmp = File.ReadAllBytes(ztDir + "\\authtoken.secret"); + authToken = System.Text.Encoding.ASCII.GetString(tmp).Trim(); + } catch { + MessageBox.Show("Unable to read ZeroTier One authtoken.secret from:\r\n" + ztDir,"ZeroTier One"); + this.Close(); + } + if ((authToken == null)||(authToken.Length <= 0)) + { + MessageBox.Show("Unable to read ZeroTier One authtoken.secret from:\r\n" + ztDir, "ZeroTier One"); + this.Close(); + } + try + { + byte[] tmp = File.ReadAllBytes(ztDir + "\\zerotier-one.port"); + port = Int32.Parse(System.Text.Encoding.ASCII.GetString(tmp).Trim()); + if ((port <= 0) || (port > 65535)) + port = 9993; + } + catch + { + } + try + { + TcpClient tc = new TcpClient(); + try + { + tc.Connect("127.0.0.1", port); + tc.Close(); + } + catch + { + MessageBox.Show("ZeroTier One service does not appear to be running at local port " + port.ToString(),"ZeroTier One"); + this.Close(); + return; + } + webContainer.Url = new System.Uri("http://127.0.0.1:" + port.ToString() + "/index.html?authToken=" + authToken); + } + catch + { + MessageBox.Show("Unable to open service control panel.", "ZeroTier One"); + this.Close(); + } + } + } +} diff --git a/windows/WebUIWrapper/Form1.resx b/windows/WebUIWrapper/Form1.resx new file mode 100644 index 00000000..3548e2a1 --- /dev/null +++ b/windows/WebUIWrapper/Form1.resx @@ -0,0 +1,6293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAEBAAAAAAIABoBAAAZgAAACAgAAAAACAAqBAAAM4EAAAwMAAAAAAgAKglAAB2FQAAQEAAAAAA + IAAoQgAAHjsAAICAAAAAACAAKAgBAEZ9AAAAAAAAAAAgACggBABuhQEAKAAAABAAAAAgAAAAAQAgAAAA + AABABAAAAAAAAAAAAAAAAAAAAAAAAF6x+yddsfzDXbH87V2y/fFcsf3xXLH88Vyy/PFdsf3xXLH98Vyx + /PFcsfzxXLL98V2y/fFdsfztXbH8tV6x+xldsfzLXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VKHk/1en + 7v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfytXbL9912y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0F8 + sP9Mkc//XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL83V2y/fddsv3/XbL9/12y/f9dsv3/XLH8/0uP + y/8nSmn/L1h9/06W1v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/OFdsv33XbL9/12y/f9dsv3/Wary/ytS + dP8+dqj/O3Cf/0SCuf86bpz/L1l+/1uv+f9dsv3/XbL9/12y/f9csf3hXbL9912y/f9dsv3/XbL9/yxU + d/9Voub/XbL9/0F8sP9Mkc//XbL9/0+X1v8yX4f/XbL9/12y/f9dsv3/XLH84V2y/fddsv3/XbL9/1Gb + 3f84apb/XbL9/12y/f9BfLD/TJHP/12y/f9dsv3/MFuB/1mq8v9dsv3/XbL9/1yx/OFdsv33XbL9/12y + /f9Aeq3/TJHO/12y/f9dsv3/QXyw/0yRz/9dsv3/XbL9/0F7r/9Lj8v/XbL9/12y/f9csf3hXbL9912y + /f9dsv3/RIG3/0eIwf9dsv3/XbL9/0F8sP9Mkc//XbL9/12y/f88c6P/T5fW/12y/f9dsv3/XLH94V2y + /fddsv3/XbL9/1ip8f8uV3z/XbL9/12y/f9BfLD/TJHP/12y/f9csfz/KlBy/1yx+/9dsv3/XbL9/1yx + /OFdsv33XbL9/12y/f9dsv3/PHKh/z94q/9dsv3/QXyw/0yRz/9csfz/N2iT/0SCuf9dsv3/XbL9/12y + /f9csfzhXbL9912y/f9dsv3/XbL9/12y/f9Aeq7/LFN1/yREYP8pTm//K1J0/0aHv/9dsv3/XbL9/12y + /f9dsv3/XLH94V2y/fddsv3/XbL9/12y/f9dsv3/XbL9/1yx/P8+dqj/SYzH/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/OFdsv33U6Dj/y1Vef8tVXn/LVV5/y1Vef8tVXn/IT9Z/yZIZf8tVXn/LVV5/y1V + ef8tVXn/LVV5/1mr8/9dsvzdXbH8y12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH8rV2x+yddsfzDXbL871yx/PFcsfzzXLH981yx/fNcsf3zXbL881yy + /PNdsvzxXLH88V2y/fFdsfzvXbH8tV6x+xkAAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAA + AAAAAAAAAAAAAP///wH///8BXbH7UV6x+71csfzXXbL94V2y/eFdsvzjXLL941yx/ONcsfzjXLH8412x + /ONcsv3jXLH9412x/eNdsf3jXLH941yy/ONcsfzjXLH841yx/ONcsv3jXLL9412y/ONdsv3hXbH8312x + /NNesfurXrH7Mf///wH///8B////AV6x+5ddsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsfz7XrH7Xf///wFdsfxdXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfz3XrH7J16x+9Ndsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zpunP9IicP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esfuVXbL9712y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/JUZj/ztxof9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/Lddsv3vXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8lRmP/O3Gh/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9wV2y + /e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yVG + Y/87caH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3BXbL9712y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/SYvG/ylN + bf8VJjX/BwsO/woRF/8YLT//MFuA/1Gb3f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/MNdsv3vXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/U5/i/x44 + T/8PGyX/Ml+H/0mMx/8hPlf/NGKL/0WEu/8rUXL/ChEY/yxTdf9arPT/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH9w12y/e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/02T + 0f8MFBz/MFyC/1qt9/9dsv3/XbL9/yVGY/87caH/XbL9/12y/f9Vo+j/IT1W/xYoOf9YqO//XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csf3FXbL9712y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Wper/Dhgi/z1zpP9dsv3/XbL9/12y/f9dsv3/JUZj/ztxof9dsv3/XbL9/12y/f9csfz/J0po/x02 + Tf9csfv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/MVdsv3vXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/yVGY/8pTm7/XbL9/12y/f9dsv3/XbL9/12y/f8lRmP/O3Gh/12y/f9dsv3/XbL9/12y + /f9brvj/FSY1/ztxoP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8xV2y/e9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9ToOP/CQ4U/1en7f9dsv3/XbL9/12y/f9dsv3/XbL9/yVGY/87caH/XbL9/12y + /f9dsv3/XbL9/12y/f9Fhbz/ER8r/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfzFXbL9712y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zhql/8jQVz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/JUZj/ztx + of9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P8NFyD/TpXU/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy + /cVdsv3vXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Jkhm/zdplf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8lRmP/O3Gh/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yE+V/88c6P/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH9xV2y/e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8gO1P/P3iq/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/yVGY/87caH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/KU1s/zZmkf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsf3FXbL9712y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yNCXv86b57/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/JUZj/ztxof9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8kRGD/OW2b/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/cVdsv3vXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Ml+H/ylO + b/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8lRmP/O3Gh/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/xMj + Mf9IisT/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH9xV2y/e9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Mks//DRcg/1uv+f9dsv3/XbL9/12y/f9dsv3/XbL9/yVGY/87caH/XbL9/12y/f9dsv3/XbL9/12y + /f9PmNj/ChIY/1uu+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csv3FXbL9712y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/P8YLT//OGuY/12y/f9dsv3/XbL9/12y/f9dsv3/JUZj/ztxof9dsv3/XbL9/12y + /f9dsv3/XLH8/yJAW/8uV3z/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/MVdsv3vXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0yRz/8KERf/TZPR/12y/f9dsv3/XbL9/12y/f8lRmP/O3Gh/12y + /f9dsv3/XbL9/12y/f87caD/Dxsm/1ip8f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8xV2y + /e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zxzo/8MFR3/R4jC/12y/f9dsv3/XbL9/yVG + Y/87caH/XbL9/12y/f9csfz/OGuY/wsSGf9Nk9L/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfzFXbL9712y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0F9sf8MFBz/JEVh/0qO + yf9csfv/JUZj/ztxof9arfb/Qn+0/xkuQP8UJTP/TpbV/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/cVdsv3vXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1en + 7v8wXIL/EB4p/wgNEf8HDBD/ChAW/wYKDf8XKzz/Om+e/1uv+f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLL9w12y/e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/Vqbs/yA8Vf80Yov/Wavz/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvzDXbL9712y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/JUZj/ztxof9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/cFdsv3vXbL9/12y/f9Xp+3/TpXU/06V + 1P9OldT/TpXU/06V1P9OldT/TpXU/06V1P9OldT/TpXU/06V1P8gO1T/Ml+H/06V1P9OldT/TpXU/06V + 1P9OldT/TpXU/06V1P9OldT/TpXU/06V1P9OldT/Wq73/12y/f9dsv3/XbL9wV2y/e9dsv3/XbL9/z52 + p/8MFR3/DBUd/wwVHf8MFR3/DBUd/wwVHf8MFR3/DBUd/wwVHf8MFR3/DBUd/wwVHf8MFR3/DBUd/wwV + Hf8MFR3/DBUd/wwVHf8MFR3/DBUd/wwVHf8MFR3/DBUd/wwVHf9RnN7/XbL9/12y/f9dsfy3XrH7012y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/16x + +5VdsfxdXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsfz3XrH7J////wFdsfyVXbL8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH8+16x+13///8B////Af///wFesftTXbH8u12x/N9csvzhXLH841yy/OVcsvzlXLH951yx + /eddsv3nXbL951yx/edcsf3nXLL951yy/OVdsfzlXbL85Vyx/eVdsv3lXbL85Vyx/ONcsf3jXbL8412y + /eFdsv3hXbH8216x+6ldsfwv////Af///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAA + AAAAAAAAAAAAAAAAAAD///8B////Af///wFisPYFYLH4XV6x+6tcsfy/XbH8zV2y/dFdsv3TXbH9012y + /NVcsvzVXLH91Vyx/NVcsfzVXLH81Vyx/NVcsfzVXbL81Vyy/dVcsf3VXbH91V2y/dVdsf3VXbH91Vyx + /dVcsv3VXbL81Vyx/NVcsfzVXLH81Vyx/NVcsv3VXbL91Vyy/NVcsvzTXbL9012y/dFdsv3RXbH8yV2y + /LtfsfqXYLH5Mf///wH///8B////Af///wH///8B////AV+x+i9dsfzRXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH8/V2x+5tisfcL////Af///wH///8BYLH5NV2x/PFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esfu/ZLH0Cf///wFgsfkLXbH83V2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH8if// + /wFfsfp1XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH892Sx9B9esfvRXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/w4aJP8uVnr/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+nNdsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woR + F/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/I9dsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/J1dsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /aNdsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/aNdsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+f9OldT/Qn+0/wcMEP8eN07/Roa//1Sg + 5P9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/aVdsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9Ii8X/JUVh/woQFv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDBP8SIS7/MVyD/1Wi5/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/KVdsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/UZzd/x45UP8DAwP/CQ8U/yVF + Yf88c6P/SYvG/wkOE/8kQ17/RYO7/zVkjv8aMET/BAUG/wcLD/8yX4b/Wq73/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P8+dqf/BwwQ/wcM + EP8zYYr/Wary/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/T5jY/yA8Vf8DAwP/FSY1/1Gc + 3v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zlt + m/8DBAT/GCw+/1Kd4P9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/1yx + /P9Ae6//CA4T/wwVHv9RnN3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yy/addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/RYS8/wQGB/8cNEn/Wq32/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/TJLQ/wgOE/8SIS7/WKnx/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9Wpev/CxQb/xEfK/9YqO//XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woR + F/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0SCuf8DBAX/Jkhm/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8pTm//BAUG/0uPy/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8rUXL/AwQE/0qN + yf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1al6/8GCQz/JERg/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Xp+7/CA4T/yE9V/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zlsmv8DAwP/So3J/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/KU1t/wUICv9Xp+7/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yA7 + VP8NFyD/XLH7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/RoW9/wMDA/9BfLD/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy/addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/w4ZIv8hPlj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woR + F/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wary/wQFB/8vWX7/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/addsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/W6/5/wUHCf8tVXj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wwV + HP8lRWL/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/addsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Waz0/wQFBv8wW4L/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/w8bJv8iP1r/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x + /addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W6/6/wUIC/8sU3b/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8lR2T/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/w8c + Jv8fO1P/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6fu/wMEBf8wXIL/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/yJAWv8LExr/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woR + F/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Q4C2/wMDA/9DgLb/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/addsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zxyov8DAwP/Roe//12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/JUZj/wcL + Dv9ZqvL/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy/addsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1ip8P8IDRH/HztT/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Uoub/BgoN/yREYf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8uV3z/AwME/0WF + vP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/P8lRWL/BAUH/06V0/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9YqfH/Dxol/w0XH/9Vouf/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/z51p/8DAwP/LFN1/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/So7J/wYJC/8WKDj/V6fu/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woR + F/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Roa//wYJC/8XKjv/Wq32/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0B6rf8EBgf/ER8s/0yRzv9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/1yx+/83aZX/BQgK/xAdKf9Vouf/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Kddsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Eg7r/CxMZ/wQG + CP8qT3D/VKHl/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9csfz/R4jB/xcrPf8DAwP/GzJH/1Wj + 6P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy + /Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/VqTp/yZIZv8EBQb/BAYI/xszSP8zYIn/P3ms/wgNEf8fO1P/O3Gh/ytSdf8RHir/AwMD/wsT + Gv86bpz/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/addsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9PmNj/LVV4/xEeKv8DBAT/AwMD/wMDA/8DAwP/AwMD/wUI + Cv8aMUX/OWyZ/1iq8f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy/Kddsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9Wpev/S5DN/wgN + Ev8iP1n/T5jX/1qs9f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/KVdsv3nXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/aVdsv3nXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /aNdsv3nXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/woRF/8rUXP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/aNdsv3nXbL9/12y/f9dsv3/XbL9/zZnkv8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xov + Q/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/wQGCP8NFx//Gi9D/xov + Q/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xovQ/8aL0P/Gi9D/xov + Q/9Pl9b/XbL9/12y/f9dsv3/XbL9/12x/J1dsv3nXbL9/12y/f9dsv3/XbL9/zFdhP8RHyv/ER8r/xEf + K/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEf + K/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEfK/8RHyv/ER8r/xEf + K/8RHyv/ER8r/xEfK/9Nk9H/XbL9/12y/f9dsv3/XbL9/12y/Y9esfvRXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+nNfsfp1XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH892Sx + 9B9gsfkLXbH83V2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH8if///wH///8BX7H6M12x/PFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9esfu/ZLH1Cf///wH///8B////AV+x+S9dsfzVXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH8/V2x+5ljsfYL////Af///wH///8B////Af///wFpsO8FX7H6W16x + +61dsfzPXbH80Vyy/dNcsfzVXbL911yx/NlcsvzZXLL92V2x/dtcsf3bXbL9212y/dtdsv3bXLH921yx + /dtcsf3bXLH92V2y/dlcsv3ZXbH82V2x/Nldsv3ZXLH82Vyx/dddsfzXXbL9112x/NddsfzXXLH91Vyx + /dVcsvzVXbL9012y/dNdsv3RXbL9z12x/MNfsfqXXrH7Lf///wH///8B////Af///wEAAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8oAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAA////Af// + /wH///8B////Af///wFpr+8JZLH0X12x/JVcsvynXbH8t12y/cFdsv3BXbL9w12x/cVcsvzFXbL9x1yx + /Mddsv3HXLH9x12x/MdcsfzHXLH8x1yx/MdcsfzHXLH8x12y/MdcsvzHXLL9x1yx/cddsf3HXbH9x12y + /cddsf3HXbH9x12x/cdcsf3HXLL9x12y/MddsvzHXLH8x1yx/MdcsfzHXLH8x1yx/MdcsvzHXLH9x1yy + /cdcsfzHXLL8xV2y/cVdsv3DXbL8w12y/cFcsfy9XLH8r12y/KFgsfmBaLDxLf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wFesftZXbH8312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x + /P1dsfylYLH5G////wH///8B////Af///wH///8B////AWqw7glesfulXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/OtgsflD////Af///wH///8B////AW6w6gNesfutXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH89WCx+T3///8B////Af// + /wFesftxXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsfzjYbH4Ef///wFgsfkVXbH88V2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/If///8BYbH3hV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6fu/0WFvP9MkM3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfz1dK/iE16x+8tdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/2Cx + +U1dsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsvxnXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH8dV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/IFdsv3fXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xox + Rf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv2DXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL8hV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/YVdsv3fXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1mq8v9CfrP/LVZ6/yE9V/8TIzD/AwMD/wgMEP8bM0j/Jkhn/zZn + kv9Pl9b/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv2HXbL9312y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/SIvF/yJAWv8HCw7/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xIgLf80Yoz/WKjv/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8h12y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Rmtv/HzpS/wMDBP8DAwP/BAUG/xcq + O/8vWX7/PXSl/zdolP8DAwP/FSY2/0J/tP83aJT/JERg/wsSGf8DAwP/AwMD/wsSGf85bJn/W7D6/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Ildsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+/82aJP/BgoO/wMD + A/8HDBH/L1h9/1Ke4P9csfz/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9brvj/Q3+1/xku + QP8DAwP/AwMD/xgsPv9Rm9z/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csv2JXbL9312y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1qt + 9/8iQVz/AwMD/wMDA/8jQl3/VKHl/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/P3ms/wwVHf8DAwP/CQ8V/0aGv/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH9iV2y + /d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw+v8hPlf/AwMD/wcMEP8/eKv/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iK + xP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Wpev/HjhP/wMDA/8GCg3/SYvF/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yy/Ildsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/P8tVXn/AwMD/wgNEv9Kjcn/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv + +f8kRGH/AwMD/woRGP9RnN7/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfyJXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9CfrP/AwQE/wQGB/9Egrj/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/W674/xsyR/8DAwP/Fik6/1uu+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8iV2y/d9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9XqO7/DBUd/wMD + A/8yXob/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9WpOn/DBYe/wMDA/8zYYr/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /Ildsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/Llh9/wMDA/8VJzb/W6/5/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0J+ + sv8DAwP/CA0R/1Wk6f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfyJXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/WKrx/wkPFP8DAwP/Roa//12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/GjBE/wMDA/8xXYP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zxzo/8DAwP/FSY2/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0J/tP8DAwP/Dxsl/1yw+/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/Ildsv3fXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8fOlL/AwMD/zZm + kf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xox + Rf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/CxMa/wMD + A/9LkM3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsvyJXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9br/n/CQ8V/wMDA/9Qmtv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/yREYP8DAwP/NGKM/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLL9iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/UJna/wMDA/8LFBv/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f85bJn/AwMD/yJAWv9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Yldsv3fXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0SCuP8DAwP/GS5A/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/RofA/wMDA/8WKDn/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsf2JXbL9312y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f89dab/AwMD/yA8 + Vf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMD + A/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/06V + 1P8DAwP/Dxwn/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH9iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/PHOj/wMDA/8hP1n/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9PmNj/AwMD/w4ZI/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/Yldsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0B6rf8DAwP/HTdN/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/S5DN/wMDA/8SIC3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsf2JXbL9312y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Ji8b/AwMD/xMiMP9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0F8r/8DAwP/GzJH/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH9iV2y + /d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Vqbs/wQF + Bv8FCAv/Wavz/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iK + xP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8wW4D/AwMD/ypPcP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/Yldsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/P8SIS7/AwMD/0WDuv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/GC1A/wMDA/8+dqj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csf2JXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/LFN2/wMDA/8nSWj/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/U6Dj/wQFB/8FBwn/VqTq/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL9iV2y/d9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0uQzf8DAwP/CA0S/1eo + 7v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zFcg/8DAwP/HjdO/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy + /Yldsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/Fyo8/wMDA/8wW4D/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1em + 7f8JEBb/AwMD/0OAtv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsvyJXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0SCuf8DAwP/BgkM/0+Y2P9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/P8nSWf/AwMD/xcrPP9csfv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/IT5Y/wMDA/8VJjb/Waz0/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8/eav/AwME/wUHCP9LkM3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Ildsv3fXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1ak + 6v8NGCH/AwMD/yJAWv9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xox + Rf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Kjsv/BwsP/wMDA/8zYYn/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfyJXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/S4/M/wcLD/8DAwP/JUZj/1qt9/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9JjMf/ChEY/wMD + A/8iP1r/XLH7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH8iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9DgLb/BQgL/wMDA/8XKjv/T5jY/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +v81ZpD/BgkL/wMDA/8bMkf/Wqz1/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Ildsv3fXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iJ + w/8MFR3/AwMD/wYJDP8vWX7/WKnw/12y/f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y + /f9dsv3/XLH8/0iKxP8WKDn/AwMD/wMDA/8mR2T/Wq31/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvyJXbL9312y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/VqTp/yNCXf8DAwT/AwMD/wkPFP8pTW7/Roa//1qu9/9dsv3/SIrE/wMD + A/8aMUX/XbL9/1yx/P9Tn+P/OWyZ/xgtP/8DAwP/AwMD/wwVHf8/eaz/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH9iV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/R4jB/xgsPv8DAwP/AwMD/wMD + A/8GCg3/EiIv/xYoOf8DAwP/ChEX/xgsPv8NFh//AwME/wMDA/8DAwP/CA0R/y5Yff9YqO//XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy/Yldsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/So/L/yxTdf8RHyv/AwQF/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcMEP8eOE//Om+d/1en + 7v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfyJXbL9312y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/1al6/9Lj8v/NGKL/wMDA/8TIjD/RoW9/1Ca + 2v9arff/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL8h12y + /d9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iK + xP8DAwP/GjFF/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/Iddsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9IisT/AwMD/xoxRf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsf2FXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL8hV2y/d9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8DAwP/GjFF/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /YNdsv3fXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Roa+/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95 + rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95 + rP8yXoX/AwMD/xMiL/8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95 + rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/z95rP8/eaz/P3ms/1Si5v9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsvyBXbL9312y/f9dsv3/XbL9/12y/f9dsv3/XbL9/xgrPf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/9Egbj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH9dV2y/d9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8mSGb/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYo + OP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYo + OP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYoOP8WKDj/Fig4/xYo + OP8WKDj/Fig4/xYoOP8WKDj/SYzG/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/GdesfvLXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9gsflNYbH3hV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsfz1dK/iE2Cx+RVdsvzvXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH8h////wH///8BXrH7b12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH842Gx+BH///8B////AWyv + 7ANesfurXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH89WCx + +T3///8B////Af///wH///8BabDvCV6x+6Vdsvz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH87WGx+EP///8B////Af///wH///8B////Af///wFtsO0DYLH5X12x/OVdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsfz7XbH8oWCx+Rv///8B////Af///wH///8B////Af///wH///8B////Af// + /wFpsO8HYLH5U16x+5tdsfy9XbL8wV2y/MNcsvzFXLH8x1yx/clcsf3LXbL8y12y/M1csv3NXLH9zV2x + /c1csf3PXbL9z12y/c9dsv3PXbL9z12y/c9csf3PXbH9z1yx/M1csf3NXLH9zVyy/c1csv3NXLL8zV2x + /M1dsfzLXbL8y12y/MtcsfzLXbL9y1yx/Mtdsv3JXbL9yVyx/MldsfzJXLH8x1yy/cdcsfzHXLH8xV2y + /cVdsv3FXbL9w12y/cNdsv3BXbL9vV2x/K1hsfiFYbH4Jf///wH///8B////Af///wH///8B////AQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAIAAAAAAAQAAAQAgAAAAAAAACAEAAAAAAAAA + AAAAAAAAAAAAAP///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wF/q9MDcLDnF12x/T9dsvxLXLH9V12x/GVdsfx1XbL9gV2y/YNdsf2DXLL9hV2y/Iddsv2HXbH9iV2y + /YlcsfyLXLL8i1yy/I1dsv2NXLH8j1yy/Y9dsv2PXbL9j1yx/Y9csv2RXbL8kVyx/JFcsfyRXLH8kVyx + /JFcsfyRXLH8kVyx/JFcsfyRXLH8kVyx/JFcsfyRXbL8kV2y/JFdsvyRXLL9kVyy/ZFcsv2RXLH9j12x + /Y9dsf2PXbH9j12x/Y9dsf2PXbL9j12y/Y9dsv2PXbH9j12x/Y9dsf2PXbH9j12x/Y9csf2PXLL9kVyy + /ZFcsv2RXbL8kV2y/JFdsvyRXLH8kVyx/JFcsfyRXLH8kVyx/JFcsfyRXLH8kVyx/JFcsfyRXLH8kVyx + /JFdsvyRXLL9kVyx/Y9dsv2PXbL9j1yy/Y9csfyPXbL9jVyy/I1csvyLXLH8i12y/Yldsv2JXbL9h12y + /Idcsv2FXbH9g12y/YNdsf2BXbH8dV2x/Gdcsf1XXbL8S12x/T9vsOgXfqzTBf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wFpr+8dZ7DxkWKx9uVdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9isfflZ7Dxk2mv7x////8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wFhsfYXXrH7i12x + /PNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH89V6x + +41hsfcX////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wFmsPIFYLH5ZV2x/Otdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/O1gsflnZrHyBf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BZLD0E1+x+q9dsvz/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9fsfqxZLD0Ff///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AWqw7h9esfvRXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esfvTarDuI/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wFpsO8bX7H6112y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9fsfrZabDvHf///wH///8B////Af///wH///8B////Af// + /wH///8BbrDqC16x+8Vdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9esfvJbbDrDf///wH///8B////Af///wH///8B////Af///wFfsfqNXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9fsfqR////Af///wH///8B////Af// + /wH///8BYbH4OV2x/Ptdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/Pthsfg9////Af///wH///8B////AWSu8gNdsfzDXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/Mdkr/QF////Af// + /wH///8BYLH5TV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/2Cx+VH///8B////AYOt0gNhsfjPXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/YbH4036t + 1wX///8Bda/hQV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0iJwv8uWHz/Llh8/y5YfP9Hh8D/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/dK/jRf///wFjsfWDXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9jsfWH////AV6x+6ldsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/16x+63///8BXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL8x////wFdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csvzR////AV2y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMD + A/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/N1dsfwDXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH87V2x/AVdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMD + A/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csvz5XbL8BV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esv0HXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1ux/Qddsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XrT9B12y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfwJXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/160 + /Qtdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL9C12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsf0NXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9Zq/P/UZvd/0SD + uv86bpz/L1qA/xcrPP8DAwP/AwMD/wMDA/8XKjr/L1p//zlum/9Egrn/UZvc/1mr8/9csfz/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/Q1dsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W6/5/06W1f80Y43/GjFF/wkQFv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CQ8V/xowRP80Yoz/TpXU/1uv+f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbP9D12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/UJrb/zBcgv8TIjD/AwQF/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DBAT/EiEv/zBbgf9Qmdn/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csf0PXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/So7J/x87 + U/8FBwr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wUHCf8eOVH/SYzH/1yx + /P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx+xFdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/UJrb/yJBXP8EBgj/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQF + Bv8MFh7/Fys9/yNCXf8tVXn/HjdO/wMDA/8DAwP/AwMD/x02TP8tVXn/I0Ne/xgsPv8NFh//BAUH/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8EBgf/Ij9Z/1CZ2f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH9EV2y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wary/zBcg/8HDBD/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BwwQ/x03Tv84a5j/UZvc/1qt9v9dsv3/XbL9/12y/f80Yov/AwMD/wMD + A/8DAwP/Ml+H/12y/f9dsv3/XbL9/1qt9/9Rm93/OWya/x44T/8HDBD/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/BwsP/y9agP9YqvH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfsRXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/0iKxP8SIi//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Fyo8/zpvnv9WpOr/XLH8/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/1al6/87cKD/GCw+/wMDBP8DAwP/AwMD/wMDA/8DAwP/AwMD/xIgLf9HiMH/XLH8/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/hNdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+P8wXIL/BQcK/wMDA/8DAwP/AwMD/wMD + A/8DAwP/Fio7/0WFvP9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMD + A/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPr/Roa//xcr + Pf8DAwP/AwMD/wMDA/8DAwP/AwMD/wUHCf8vWX//W673/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Xp+3/HTdN/wMDA/8DAwP/AwMD/wMDA/8DAwP/DBYe/zxzpP9br/n/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W6/5/z11pv8NFx//AwMD/wMDA/8DAwP/AwMD/wMD + A/8cNUr/VqXr/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsf4TXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VKHm/xMkM/8DAwP/AwMD/wMDA/8DAwP/AwQF/ydK + aP9Xpuz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1en7v8oTGz/AwQF/wMDA/8DAwP/AwMD/wMDA/8TIjD/U6Dj/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1al + 6/8SIS7/AwMD/wMDA/8DAwP/AwMD/wsTGv9Df7X/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9Egbj/CxQc/wMD + A/8DAwP/AwMD/wMDA/8RHyz/VaTp/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL9E12y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9arPT/GS5A/wMDA/8DAwP/AwMD/wMDA/8WKDj/Up3g/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Tn+L/Fyo7/wMDA/8DAwP/AwMD/wMDA/8XKz3/Wavz/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsTXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7/yNB + Xf8DAwP/AwMD/wMDA/8DAwP/GzNI/1io7/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9YqfD/HDZM/wMDA/8DAwP/AwMD/wMDA/8hPlj/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +xVdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/P8zYYn/AwMD/wMDA/8DAwP/AwMD/xgsP/9YqfH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9ZqvL/GS9C/wMDA/8DAwP/AwMD/wMD + A/8xXoX/XbH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7FV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Roa//wUH + Cf8DAwP/AwMD/wMDA/8QHir/VaLn/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9VpOn/EiAt/wMDA/8DAwP/AwMD/wQGCP9FhLz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csPsVXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1am7P8PGiX/AwMD/wMDA/8DAwP/CQ8U/06V1P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Pl9b/CRAW/wMD + A/8DAwP/AwMD/w0YIf9Wper/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xVdsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/J0pp/wMD + A/8DAwP/AwMD/wMEBf8/eaz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9BfLD/BAUG/wMDA/8DAwP/AwMD/yVGZP9csfz/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLD7FV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0iKxP8EBgj/AwMD/wMDA/8DAwP/J0pq/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /P8pTm7/AwMD/wMDA/8DAwP/BAUH/0eHwP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsVXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/GC1A/wMD + A/8DAwP/AwMD/w4ZI/9YqfD/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1iq8f8PHCf/AwMD/wMDA/8DAwP/Fyo7/1uv + +f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw+xVdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0J/tf8DBAT/AwMD/wMDA/8DAwP/QXyw/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0N/tf8DAwP/AwMD/wMDA/8DAwT/QXyw/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7FV2y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/GjBE/wMD + A/8DAwP/AwMD/xowRP9csPv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMD + A/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/xszR/8DAwP/AwMD/wMD + A/8YLT//XLH7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csPsVXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/02T0f8EBQf/AwMD/wMDA/8DAwP/Roe//12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/SIrE/wMDA/8DAwP/AwMD/wQFBv9LkM3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xVdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/LFN2/wMD + A/8DAwP/AwMD/xYoOP9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMD + A/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPv/Fys8/wMD + A/8DAwP/AwMD/ypQcf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL7E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1qt9v8OGSP/AwMD/wMDA/8DAwP/OWya/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f86b57/AwMD/wMDA/8DAwP/DRcg/1qs9f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsTXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SYvG/wMD + A/8DAwP/AwMD/wcLDv9WpOr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1en + 7f8HDBD/AwMD/wMDA/8DAwP/R4jB/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y+xNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8vWH3/AwMD/wMDA/8DAwP/HjhP/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/x87U/8DAwP/AwMD/wMDA/8tVXj/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL9E12y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/xcr + Pf8DAwP/AwMD/wMDA/84bJn/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/Om+e/wMDA/8DAwP/AwMD/xYoOP9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsv4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9XqO//CA0R/wMDA/8DAwP/AwQE/0+Y2f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Rm93/AwQE/wMDA/8DAwP/BwsP/1am + 6/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy + /hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0uP + zP8DAwP/AwMD/wMDA/8NFx//Wq32/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1uu+P8OGSP/AwMD/wMDA/8DAwP/SYzH/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/PHKi/wMDA/8DAwP/AwMD/xszSP9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/x03Tf8DAwP/AwMD/wMD + A/86b53/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsP4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8wW4D/AwMD/wMDA/8DAwP/KU5v/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/K1F0/wMDA/8DAwP/AwMD/y5XfP9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yZJZ/8DAwP/AwMD/wMDA/80Y43/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f82Z5L/AwMD/wMD + A/8DAwP/JUVi/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbD+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/IDxV/wMDA/8DAwP/AwMD/zxyov9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/z51p/8DAwP/AwMD/wMDA/8eOVD/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4TXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8cNUr/AwMD/wMDA/8DAwP/QHqt/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/QX2y/wMD + A/8DAwP/AwMD/xoxRv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12w/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/xszSP8DAwP/AwMD/wMDA/9BfLH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9DgLb/AwMD/wMDA/8DAwP/GS9D/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+E12y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/HDRK/wMDA/8DAwP/AwMD/0B6 + rv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMD + A/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0F9 + s/8DAwP/AwMD/wMDA/8aMUX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsP4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8gO1T/AwMD/wMDA/8DAwP/PHOj/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Pnan/wMDA/8DAwP/AwMD/x44T/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/hNdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yZIZv8DAwP/AwMD/wMD + A/81ZI7/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMD + A/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f82aJP/AwMD/wMDA/8DAwP/JEVh/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbD+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/L1l//wMDA/8DAwP/AwMD/ypPcf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/yxTdf8DAwP/AwMD/wMDA/8tVnr/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4TXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f87caD/AwMD/wMD + A/8DAwP/HDVL/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/HjhP/wMDA/8DAwP/AwMD/zltm/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0qNyf8DAwP/AwMD/wMDA/8NGCH/Wq73/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uu+P8PGiX/AwMD/wMDA/8DAwP/SIrE/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+E12y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6ft/wcL + D/8DAwP/AwMD/wMEBf9Qmtv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/Up3g/wMEBf8DAwP/AwMD/wYKDv9WpOr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/Fik5/wMDA/8DAwP/AwMD/zpunf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f87cqL/AwMD/wMDA/8DAwP/FCU1/1yx + +/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w + /hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8tVXn/AwMD/wMDA/8DAwP/HztT/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/yE+WP8DAwP/AwMD/wMDA/8rUnT/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0eIwf8DAwP/AwMD/wMDA/8IDRH/Vqbs/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9YqO//CA4T/wMDA/8DAwP/AwMD/0WE + vP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9bsv4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/Waz0/w0WH/8DAwP/AwMD/wMDA/87cJ//XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zxzpP8DAwP/AwMD/wMDA/8MFBz/Warz/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/KU5v/wMDA/8DAwP/AwMD/xgs + Pv9csPv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/GS9C/wMDA/8DAwP/AwMD/yhL + av9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W7L+E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9Kj8v/AwQF/wMDA/8DAwP/AwME/0mLxv9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0qOy/8DAwT/AwMD/wMDA/8DBAX/SYzH/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsTXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+/8XKzz/AwMD/wMD + A/8DAwP/HDVL/1yx+/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/HjhP/wMDA/8DAwP/AwMD/xUo + OP9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y+xNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/z96rf8DAwP/AwMD/wMDA/8DAwP/RIK4/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0WFvf8DAwP/AwMD/wMDA/8DAwP/Pnao/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL7E12y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W674/xUn + N/8DAwP/AwMD/wMDA/8QHSn/Wav0/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMD + A/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9arPX/ESAs/wMDA/8DAwP/AwMD/xMk + M/9brvf/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csPsTXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/RYO6/wQFBv8DAwP/AwMD/wMDA/8rUXP/XLH8/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/yxVeP8DAwP/AwMD/wMDA/8DBAX/Q4C2/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xVdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/IkFc/wMDA/8DAwP/AwMD/wQFBv9DgLb/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMD + A/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Egrn/BAYH/wMDA/8DAwP/AwMD/yE+ + V/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLD7FV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9UoeX/DBUd/wMDA/8DAwP/AwMD/woS + GP9Qmtv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/UZvd/wsUG/8DAwP/AwMD/wMDA/8LExr/U6Dk/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsVXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9BfbL/BAUH/wMDA/8DAwP/AwMD/xMjMf9Wpuz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1en7f8UJjX/AwMD/wMDA/8DAwP/BAUF/0B7 + rv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xVdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P8tVXn/AwMD/wMD + A/8DAwP/AwMD/xszSP9Zq/P/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9ZrPT/HTZM/wMDA/8DAwP/AwMD/wMDA/8rUnT/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7FV2y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1uu+P8dNk3/AwMD/wMDA/8DAwP/AwMD/x87VP9ZqvL/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wavz/yE+V/8DAwP/AwMD/wMDA/8DAwP/GzNI/1uu + 9/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsVXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1en + 7v8UJDP/AwMD/wMDA/8DAwP/AwMD/xowQ/9UoeX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Wi + 5/8bMkb/AwMD/wMDA/8DAwP/AwMD/xMiMP9Wpuz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +xVdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Ke4f8OGSL/AwMD/wMDA/8DAwP/AwMD/w4Z + I/9Gh8D/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9HicL/Dxsl/wMDA/8DAwP/AwMD/wMDA/8NFyH/UZze/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7FV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1CZ2f8OGiT/AwMD/wMDA/8DAwP/AwMD/wUHCf8sVHf/Wary/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Zq/P/LVZ6/wUH + Cf8DAwP/AwMD/wMDA/8DAwP/Dhki/0+X1v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csPsVXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Of4/8WKTn/AwMD/wMD + A/8DAwP/AwMD/wMDA/8PHCf/QX2x/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/Qn+0/xAdKf8DAwP/AwMD/wMDA/8DAwP/AwMD/xUnN/9SnuD/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y+xNdsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1mr9P8nS2r/AwQE/wMDA/8DAwP/AwMD/wMDA/8DAwP/GzJG/0qO + y/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/S5DN/xszSP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDBP8mSGb/Wary/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL8E12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /P9BfLD/DBUe/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/xszSP8/eaz/Wavz/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /P9Zq/T/QHqu/xw0Sv8DAwT/AwMD/wMDA/8DAwP/AwMD/wMDA/8MFBz/QHqt/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csf4TXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Wper/J0pp/wQGCP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8JDxT/I0Fc/z11p/9VpOn/W7D6/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XLD6/1ak6v8+dqj/I0Jd/wkQFf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8EBgj/Jkhn/1Wk6f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/hNdsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/So7K/xowRP8DBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQG + CP8QHSn/HDVL/yhMbP8yX4f/IT1W/wMDA/8DAwP/AwMD/yA7U/8yX4j/KU1s/x02TP8RHir/BAYI/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBAT/GS9C/0mNyP9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH+E12y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7/0J/ + tP8XKzz/AwQF/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBAX/Fik6/0J9 + sv9csPv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv4TXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+/9JjMf/KEtr/wwVHv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8MFR3/J0pp/0iKxf9csPv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy+xFdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/Waz0/0eHwP8sVHf/EyMw/wYKDf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgkM/xIiL/8sU3b/Roa//1mr9P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH9EV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csPv/VaPo/0qOyv8+dqj/NGKM/ypPcf8UJTT/AwMD/wMDA/8DAwP/FCQy/ypPcP8zYov/Pnan/0qO + yf9Vo+f/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvwRXbL9wV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRi + i/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/A9dsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL8D12y + /cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv0PXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x + /Q1dsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJfh/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH9C12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9etP0LXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/zRii/8DAwP/AwMD/wMDA/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Aldsv3BXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGKL/wMDA/8DAwP/AwMD/zJf + h/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XrT9B12y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f80Yov/AwMD/wMDA/8DAwP/Ml+H/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsf0HXbL9wV2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zRii/8DAwP/AwMD/wMD + A/8yX4f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/16y/Qddsv3BXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/z11pv8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/FCQz/wMDA/8DAwP/AwMD/xMjMf8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJA + W/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/IkBb/yJAW/8iQFv/PHOj/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csvz5XbL8BV2y/cFdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/LVR3/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8rUXP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/O1dsfwFXbL9wV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8tVHf/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/ytRc/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH93Vyx/QNdsv3BXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/y1Ud/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/K1Fz/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csvzR////AV2y/cFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/QXyw/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylO + bv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv8pTm7/KU5u/ylObv9Aeq7/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/Mf///8BXrH7qV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XrH7rf///wFjsfWDXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9jsfWH////AXWv + 4UFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/3Sv40X///8Bg63SA2Gx+M9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9hsfjTfq3XBf// + /wH///8BYLH5TV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/2Cx+VH///8B////Af///wFksPIDXbL8w12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfzHZK/0Bf// + /wH///8B////Af///wFgsfk3XbH8+12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH8+2Cx+D3///8B////Af///wH///8B////Af///wFesfqHXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9fsfqP////Af// + /wH///8B////Af///wH///8B////AWyv7Alesfu/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XrH7x22w7Av///8B////Af///wH///8B////Af///wH///8B////AWWw + 8xdesfvTXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+tlosfEd////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AWmw7x1esfvPXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9esfrVarDuI////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AWWx8xNgsfmzXbL8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvz/YLH5t2ew8hf///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AW2w7QVisfdvXrH78V2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL86WCx+WVpsO4F////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wFosPEfYLH4m12x/Pddsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH88V6x/IlgsfkV////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BabDvHWGx93tfsfrTXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/YLH43WCx + +HlksfUV////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AXWw4gNur+kdYrH2U12x + /HVdsfyDXbL9g1yy/IVdsvyHXbL9iVyy/YtcsfyNXLL9j1yx/JFcsfyTXbL9lV2y/JVcsf2XXLL9l12x + /JldsfyZXLL8m1yy/Jtcsv2bXLH9m1yx/Z1csfydXbL9nVyx/Z1csfydXbL9nV2y/Z1dsv2dXbL9nV2y + /Z1dsv2dXbL9nV2y/Z1dsv2dXbL9nVyx/Z1csf2dXLH9nV2y/Z1csf2dXLH9nVyx/J1csf2dXLH9m12x + /Ztdsv2bXbL8m1yy/Jtdsv2bXLL8m1yy/JldsfyZXbH9mV2x/ZldsfyZXLH8mV2y/Zldsv2XXLL8l1yx + /JdcsfyXXbH9l1yy/ZddsvyVXLH8lV2y/ZVdsv2VXLH9lV2y/JNdsfyTXLL8k12x/JNdsfyRXLH8kVyx + /JFcsf2PXbL9j1yy/I9csf2NXbL8jVyx/I1dsv2LXbL9i12x/Yldsv2JXLL9h12y/Yddsv2FXbL9hV2y + /YNdsv2DXbL9gV2y/XVdsfxlYrH2UXav4TF/rdYD////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAQAAAAIAAAEAIAAAAAAAACAEAAAA + AAAAAAAAAAAAAAAAAAD///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BXLL8A1yx/QNcsf0DXbH8A12x/AVdsvwFXLL8BV2x + /QVhsv0HWrT9B1ut/QlgtP0JXbb9C1yv/gtdsvkNXrT9D162/g9bsP4RX7L+E1yw/hNesf4VXrP+FVyx + +xdbsvsXXbP9GVuw+hlcsf4bXbL7G16z/Rtdsv4dWrD7HVyx+h1csvsfXLP+H16y/h9csf4fXLL+H12y + /iFdsP4hXLH+IVuy/iFcsv0hXbL7IV2y+yFcsfshXLD7I1yw+yNcsPsjXLD7I1yw+yNcsPsjXLD7I1uw + +yNbsfsjW7H7I1ux+yNbsPsjXLD7I1yw+yNcsPsjXLD7I1yw+yNcsPsjXLD7I1yw+yNdsvshXbL7IV2y + +yFdsvshXbL7IV2y+yFdsvshXLL9IVuy/iFbsv4hW7L+IVuy/iFbsv4hW7H+IV2w/iFdsP4hXbD+IV2w + /iFdsP4hXbD+IV2w/iFdsP4hXbD+IV2w/iFdsP4hXbL+IV2y/iFdsv4hXbL+IV2y/iFdsf4hXbD+IV2w + /iFdsP4hXbD+IV2w/iFdsP4hXbD+IV2w/iFdsP4hXbD+IV2w/iFbsf4hW7L+IVuy/iFbsv4hW7L+IVuy + /iFcsv0hXbL7IV2y+yFdsvshXbL7IV2y+yFdsvshXbL7IVyw+yNcsPsjXLD7I1yw+yNcsPsjXLD7I1yw + +yNcsPsjW7D7I1ux+yNbsfsjW7H7I1uw+yNcsPsjXLD7I1yw+yNcsPsjXLD7I1yw+yNcsPsjXLH7IV2y + +yFdsvshXLL8IVuy/iFcsf4hXbD+IV2y/iFcsv4fXLH+H16y/h9ds/4fXLL7H1yx+h1asPsdXbL+HV6z + /RtdsvobXLH+G1yx+hlds/0ZW7L7F1yx+xdes/4VXrH+FVyw/hNdtf4RW7D+EV62/g9etP4PXbL5DVyv + /gtdtv0LYLX9CVyt/QlZtP0HYrL9B12x/QVdsv0FXbL8BV2x/AVdsfwDXbH8A1yx/QNcsvwD////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGaqLQDeKzaC3mu2hlsse09XbH9b12y/IldsvyPXbL8mVyy/KVcsf2zXLH8wV2x/M9csfzfXbL87V2y + /ftdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9+12y/O1csfzfXbH80V2x/cFcsf2zXLL8pV2y + /ZldsvyPXbL8iV2x/XFqse4/ea7aG3is2guYqbgD////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AX+t + 1w2ErtJdbK/rpWew8e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9nsPLxbK/sqYOu1GGBrdUP////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BarLxDWmv + 7mdmsPHdXbH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/ZrDy4Wmv721qsvIN////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wFkr/MNYbH3WV+x + +tFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/X7H61WGx + +F9kr/MN////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AWiw8AlhsfdPXrH7yVyy + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XrH7zWCx91NnsPAL////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bg7HRA2aw8i9fsfqxXbH8+12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsfz9X7H6tWaw8jODsdED////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BZrDyD2Ox9XVdsfztXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfzxY7H1eWax8g////8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BbrDqKV+x+bVdsv39XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f1fsfq7bbDrLf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wGIq8oDY7H1SV+x+d1dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+uFjsfZPiKzKA/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wGArtcFZ7DxYV2y/O9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL88Wew + 8mmAr9YH////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wF8r9wHaLDwcV6x+/Ndsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsfz1aLDxeXuu3An///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wGAr9YFaLDwcV6x+/Vdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x+/dosPF5gK/XB////wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wGIq8kDZ7DxYV6x+/Vdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH89Wex8mmMsM4D////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BY7H1SV2y/O9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvzxY7H2Uf///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BbrDqJ2Cx+d1dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+uFtsOsv////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BZrHyDV+x+rVdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/X7H6u2aw8hH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bg7HRA2Ox9XNdsvz9XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f1jsfV7g7HRA/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AWew8i1dsfzvXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH88WWw + 8zX///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AWew8AlfsfmvXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9fsfq3Z7DwC////wH///8B////Af///wH///8B////Af///wH///8B////Af///wFhsfdNXbH8+12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbH8/WCx+Ff///8B////Af///wH///8B////Af///wH///8B////Af///wFkrvILXrH7x12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9esfvNZK/0D////wH///8B////Af///wH///8B////Af///wH///8BYbH3V12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/2Gx+GH///8B////Af///wH///8B////Af///wH///8BbLPwC1+x + +tFdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esfvVabLyEf///wH///8B////Af///wH///8B////AWqv + 7mVdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/2iv72////8B////Af///wH///8B////AYKt + 0wlnsPHdXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9msPLhfq3YEf///wH///8B////Af// + /wGFrtBZXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1qt9v9arfb/Wq32/1qt9v9arfb/Wq32/1qt9v9arfb/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/4Gu1WP///8B////Af// + /wGZqbYDbK/ro12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9rr+yrmam2Bf// + /wH///8BeqrUB2iw8e9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Z7Dy8Xet + 3A////8B////AYCt0hVdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f91r98f////Af///wFssew7XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/arHuQ////wH///8BXbH9a12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12x/XX///8B////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv2N////Af///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL8k////wH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/J1dtPwD////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csvypW7L8A////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8tVyx/AX///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/cNdsf0F////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfzRXbH8B////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH84V2x/An///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/O9csvwJ////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv37XbL9C/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x + /Qv///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9fsv0L////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W7P9Df///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yv/Q3///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9es/0P////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbX9D////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw/RH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvoT////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbP9E////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/161/RX///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csP4V////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbT9F////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xn///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esf4Z////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9brvf/WKnx/1al + 6v9UoOT/T5fW/woQFv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8HCw7/TpbW/1Og5P9Wper/WKnx/1qu + 9/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbT+G/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPv/WKnw/1Og4/9Mkc7/P3ms/zJgiP8mSGb/HjhP/xYp + Of8OGiT/BgoO/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8GCg3/Dhkj/xYo + OP8eN07/Jkdl/zJfhv8/eKr/S5DN/1Of4/9YqfD/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x + /Bv///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/Wqz1/1Gc3v8/eKv/JUdk/xcqO/8KERj/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8JEBb/Fik6/yVFYv8+dqj/UZzd/1qs9P9csfz/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9cs/wd////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/1io8P9Mkc//NGKM/xw0Sf8KERj/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wkQFv8bMkf/M2CJ/0uQ + zf9XqO//XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbP+Hf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9ZqvL/S4/M/y9agP8WKTr/BQgL/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8FCAr/Fig4/y5Yff9Kjsn/WKnx/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw/B////8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH7/1Gb + 3f83aZX/GC1A/wYJDP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BQgL/xcrPf81ZpD/UJrb/1yx+/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csf4f////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/S4/M/ydL + a/8MFh7/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wsUHP8mSGb/So7J/1uv+f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL7If///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+/9MkM7/JUVi/wgO + E/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcNEf8jQl7/S4/L/1yw + +/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+yH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/1CZ2v8qT3H/ChEX/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBQb/CA0T/w0XIf8SIS//BAYH/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wQEBf8TIi//DRgh/wgOE/8EBQb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wkP + Ff8oTGz/T5fX/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv4h////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VqTp/zNhif8OGSL/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/BwwR/xEgLP8bM0j/Jkhn/zJgiP8/eKr/SIrE/02T0v9RnN7/VqTq/wsSGf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8HDBD/VqXq/1Gc3v9NlNL/SIvF/z95q/8zYYr/J0lo/xw0Sf8SIC3/CA0S/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/w0XH/8xXYX/VaPn/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W7D7I////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9arfb/P3mt/xUmNv8EBQX/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAUG/xAc + KP8iQVv/PXSk/02U0/9Vo+f/W6/5/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/VaPo/06V + 1P89dqf/I0Je/xAeKf8EBQb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwQF/xMjMv8+dqn/Wq31/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w+iP///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9OldT/IkBa/wYJDP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQFB/8TJDP/KlFy/0WF + vP9UoeX/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw+v9Uoeb/Roa+/ytTdf8UJjX/BAYI/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BQgL/yA8Vv9MktD/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csvwj////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1mr8/82Z5L/DRcg/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Dxsm/ylOb/9HicP/VqXr/1yx + /P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/V6bs/0iKxf8qUXL/EB0p/wMDBP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/DBUd/zRjjf9YqfH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL+I////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/02U0v8dNk3/BAYI/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBf8ZMEP/PXWm/1Si5/9csfv/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/1Wj6P8+d6n/GzJH/wQF + B/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8EBgf/GzNI/0yR + zv9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/iP///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W674/zpwn/8MFh//AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwME/xsyR/9Fg7v/Wavz/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1mr + 8/9GhsD/HDVL/wMDBP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8MFRz/OGyZ/1qt9/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csf4l////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Vqbs/yZJaP8FBwr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/FCY1/0B7r/9Zq/P/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1qs9f9Cf7T/FSg4/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wUHCf8kRWL/VaPo/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W7L+Jf// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/TpbW/xYqPP8DBAT/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8MFR3/NmiV/1eo7v9csfz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH8/1ip8P84bJr/DBYf/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwQE/xUnN/9Nk9H/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/Roa+/w0YIf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wUHCv8nSmn/Up7h/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/1Sh5P8pTm7/BQgK/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/DBYf/0OBuP9csfz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/P3ms/wgNEv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xQlNP9Ghr//W6/5/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD6/0iKxP8VKDj/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8HDBH/PHSk/1yw+/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/PHKj/wUICv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BgkM/y5XfP9YqO//XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/WKrx/zBc + g/8GCg3/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wUHCv85bZv/XLD7/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1ux/if///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/PXWm/wQGCP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/ER8r/0eIwv9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/SYzH/xIiL/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAUH/zpv + nv9csfv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9bsv4n////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/Q4G3/wQHCf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DBAX/I0Je/1al6v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9Xp+3/JUdl/wQFBv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8EBgj/QHuv/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLL8J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/S5DN/wgNEv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8HDBD/NGSP/1uu+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+f83aZb/CA0R/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wcMEf9IisT/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/UZvc/w0XIP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8LFBv/QX2y/12x/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH8/0SBuP8MFh//AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CxQb/0+X1/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VqXq/xQkM/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8PGyX/SYzH/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/S4/M/xAeKv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8RHyz/VaPo/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wqz1/x46Uv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8QHSn/TJLP/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9NldT/ESEu/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/xs0Sf9ZrPT/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD6/y1We/8DBAX/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8OGSP/S5DN/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/02T + 0f8QHCj/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/K1Fz/1uw+v9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH8/z12qP8FBwr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8KEhj/RYW9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/R4nD/wwVHf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQFBv87cqL/XbH8/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/02T0f8MFRz/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8HDBD/PXWn/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8/eq3/CA4T/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/ChAX/0uQ + zf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1eo7v8YLkH/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8FBwn/NGOM/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH8/zZok/8FCAv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8VKDj/V6ft/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+v8tVnr/BAUF/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DBAT/KEtr/1uv+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/K1Fz/wQFBv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwQE/ypQcv9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Eg7v/BwwR/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/GjFF/1io8P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1ip8f8dN03/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8GCg3/Qn+1/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9WpOr/FSc2/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/DRgi/1Gb3P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Up3f/xAdKf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xIhL/9Vo+j/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/Llh9/wMEBf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BQkL/0OAtf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Eg7r/BwwQ/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBAX/K1J0/1yx+/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/So7K/woRGP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/y1Vev9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/y9b + gf8DBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgOFP9IisX/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wq32/x87U/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xUoOP9ZqvL/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Zq/P/GC5B/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/HDVK/1qs9f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0F8sP8GCQz/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wYKDf9Kjsr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/0yS0P8IDRH/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wUICv8+d6n/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1ip8P8YLUD/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8uV3z/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/MV2E/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/FSc4/1eo + 7/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f89dqf/BAcJ/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8QHir/V6ft/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1mr8/8SIS7/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQG + CP86cJ//XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9YqfH/GC0//wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/P3mt/1yx/P9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Q4C2/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/FSc3/1io7/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/QX2y/wUH + Cv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/GjJG/1qs9f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+f8cNkz/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wUHCf8+eKr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W674/x45 + Uf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwUG/0aHwP9csfz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/So7J/wMFBv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/GzNI/1qu9/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0uR + zv8IDhP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x03Tv9arfb/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+f8fO1T/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcMEf9JjMf/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8uWH3/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDBP9Fhb3/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/SYvG/wMD + BP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/K1Fz/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9WpOr/EyIw/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8YLD7/Wavz/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1qt + 9/8aMET/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/xAeKf9Uouf/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsn////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/Q4G3/wQFBv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Om+d/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/PXWn/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBQb/QHqu/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL7J/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/yRFYv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CxQc/1Wi5/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1en7v8MFh//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/yE+WP9csfv/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + +yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1Of4/8PGyb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/ydKaf9csPr/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfv/KlBy/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8OGCH/UZze/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9Cf7T/AwME/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBP9HiMH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0qOyv8DBAX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwME/z94 + q/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfz/J0pq/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8TIzH/V6bt/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9YqvH/FCY1/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8kRGD/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/VqXr/xMkMv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/K1J0/1yx + /P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/y5Yff8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/ESAs/1Wj5/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/0uQzf8FCAv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwQF/0eH + wP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Kjcn/AwQF/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wUHCv9IisT/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/W7L+J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f83aJX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/w8c + KP9Vo+f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6bt/xEfLP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/M2KL/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy/if///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPr/IT9Z/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8iQFv/W6/6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+v8lRmT/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/x45UP9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsv4n////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VqXq/xMjMP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/OGya/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/PHOj/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8RHyv/VKLm/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W7L+J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0+X1/8GCw//AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/BQcK/0ySz/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0+Y + 2P8FCAr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgoN/0yRz/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy/if///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9CfbL/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/xEeKv9Vo+f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Wpuz/EiIv/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8+d6n/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsv4n////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/MV2E/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8dN07/W674/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W6/5/yA9Vv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/LVZ6/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD+Jf///wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH7/yJBXP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/LFV4/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8wW4H/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x86Uv9csPv/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1mq8v8YLUD/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/zxzpP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/QHqt/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8WKTn/WKjv/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4l////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Vo+j/EB0o/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBf9Jjcj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/02T0f8DBAX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Dhok/1Of + 4v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+Jf// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/UZze/wgO + E/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8JDxX/UJnZ/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9SnuD/ChEY/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcN + Ef9Pl9f/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w + /iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/06V + 1P8DBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/EB0o/1Sh5f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/VqTq/xEgLf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DBAT/So/L/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Hh8D/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/xYoOP9XqO//XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1iq8f8YLT//AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/0OAt/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/QHqu/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8aMUX/Wq33/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9brvj/HTdN/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/89dKX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/ztxoP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/HjhP/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/yE/Wf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/N2qW/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f83aZX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/yE/Wv9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8lRmT/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/zNijP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/NWWP/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8kRWL/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/J0xs/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8xXoX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/zRjjP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/JUdl/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/ylO + b/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/MFyD/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Y43/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/yVH + Zf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8pTm//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/zBcg/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/NGSO/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8kRWP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/KExs/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8xXoX/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/zZolP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/IkBc/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/yVHZf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/M2KL/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f86cJ7/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/x45Uf9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx/P8iQFr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/zdplf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/P3mt/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8bMkb/W674/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9br/n/HjhP/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/88cqP/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0aGvv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/Fik5/1ip8P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/Wary/xkuQP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Qn+0/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4l////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9NlNL/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xAeKv9Uoub/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1al6/8SIS//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/0qO + yf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+Jf// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/UZze/wcM + Ef8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8KERj/UJrb/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9TnuL/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcL + D/9Oltb/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w + /iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Si + 5v8PGyb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwUG/0uPy/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/TpXU/wQFBv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8NGCL/Up7h/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9YqfH/Fys9/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8+d6j/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0J9sv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/FSc3/1en7v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLD7/yE+WP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Llh9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8yX4f/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/x44T/9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8vWX//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x86Uv9br/n/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPr/IkBb/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8rU3X/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/P3mt/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8SIS7/VaTp/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6fu/xQlNP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/PHOj/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/06V1P8FCQv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgkM/02U + 0/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Ca3P8GCg3/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BQgK/0uPy/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Vo+j/ER8s/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/87caH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8/eKr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/w8cJ/9ToOP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W6/5/x87U/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/JEVi/1yw+/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPv/J0tr/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8cNUv/W6/4/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f80Y43/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/xIgLf9WpOr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6jv/xMk + Mv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/MFyD/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12w/iX///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SYzH/wQGCP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8EBQf/SYvG/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0yS + 0P8EBgf/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAYI/0aGvv9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csP4l////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Wj6P8RICz/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/y5Yff9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /P8xX4b/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/w8cJ/9ToOP/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W7L+J////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPv/JERh/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8VKDj/WKjv/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9Zq/P/Fys9/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8hPlj/XLD7/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy/if///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/z94 + q/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAYH/0mMyP9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/TZPR/wQGCP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/O3Gh/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsv4n////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9RnN7/DRcg/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8qUXP/XLD7/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH7/y5XfP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CxQc/0+Y2P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W7L+J/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W6/5/yE+WP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Dhok/1ak6v9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1ip8P8PHSj/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/x44T/9br/n/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uy + /if///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8/eKv/AwQF/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8+d6n/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9BfbL/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBP87cqL/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9bsv4n////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/U6Dk/xAdKP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/HDRJ/1qs + 9f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9brvj/HjhP/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8OGSL/Up3g/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/W7L+J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P8pTm//AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQF + B/9JjMj/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/TZPR/wQGB/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/Jkhm/1yx + /P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/SIrE/wYKDv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/IkBb/1uv+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLD7/yRFYv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgkM/0WE + vP9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1qs9f8ZMET/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wQGCP9LkM3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/06X1v8EBwn/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/xYq + O/9Zq/T/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/PXWm/wMEBf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/HztT/1uv+P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+/8iQFr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wME + Bf86bp3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1am7P8TJDL/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDBP9FhLz/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Ii8b/AwME/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8QHiv/VqTq/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/OGuY/wME + Bf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/FCU0/1qs9P9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9br/n/Fig5/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DBAT/NWWP/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1al + 6/8TIzH/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/80Y43/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/N2mW/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/EB4q/1Wj6P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+yf///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/OnCg/wQGCP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/0+Z2f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/UZze/wkQFv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/BAUH/zdql/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1mq8v8ZLkH/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8aMUb/W674/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W674/x03T/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/xYoOf9YqfD/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/RIO6/wcMEP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/zRj + jf9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/zZolP8DBAX/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wYKDf9CfrP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+v8mSGf/AwME/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8HCw//SYzH/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0qPy/8JDxT/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8jQl7/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Up3f/w8cJv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/xEgLf9Vouf/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1Wk6f8UJTX/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8NFyD/UZrc/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f88dKX/BQgL/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/ID1W/1qs9f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1qs9f8jQ1//AwME/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8FBwn/Om+e/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W674/yREYf8DAwT/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQEBf8vWoD/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+v8yX4f/BAYH/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/IT5Y/1uu9/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9ToOP/ESAt/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgkM/ztxof9csfz/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P89dqf/BwsP/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/Dxsm/1Ke4P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0WD + u/8IDhP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8KERf/RIK5/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Ghr7/CxQb/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BwsO/0OAtv9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9csfz/M2GK/wQFB/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/w4ZI/9Lj8v/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9MktD/EB0o/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwQE/zBcg/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1qt9v8jQV3/AwME/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/EyMx/0+Y + 2P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Qmtz/FSc3/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/yA8Vf9arPX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/VaTp/xUoOf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8WKTr/UJna/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9RnN7/GC1A/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xMjMf9Vo+j/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Pl9f/DRgh/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/xUnN/9NldP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Pl9f/Fys9/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wsTG/9NldP/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/0eIwf8IDhP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/ER8s/0eIwv9dsfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/P9JjMf/EyIw/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wcMEP9Eg7r/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfz/P3ir/wUICv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8MFR3/PHOj/1uv+f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1uv+v8+d6n/DRcg/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wUHCv88c6P/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+/82aJP/AwQF/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wYKDv8sVHf/V6jv/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1ip8f8uWH3/BwsP/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBP8zYoz/XLD6/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/W6/4/y9a + gP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAUG/xkwRP9MktD/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/06V1P8bM0j/BAUG/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8sVXj/Wq32/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD7J////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9arfb/Lld7/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CxMb/zZo + lP9arfX/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/Wq73/zhsmv8MFR3/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8rUnT/Wav0/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+yf///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1qt9v8xXYX/AwUG/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8EBgf/HDRK/02T0f9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/TpbW/x04Tv8EBgf/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBv8uWH3/Wqz1/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPsn////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/W6/4/zhtmv8GCg3/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDhT/MFuB/1ip8P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Zq/P/Ml+H/wkPFf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wYJDP82Z5P/W673/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH7J/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/RIK5/wwUHP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBP8QHyv/QHqu/1yw+v9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+/9CfrP/EiEu/wMEBP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wsSGv9BfrL/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + +yf///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/P9Qmdn/Fys9/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBf8aMkb/So/L/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLH8/0yS0P8cNEr/AwQF/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/xUoOP9OltT/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsvsn////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH8/1mq8v8rU3X/BQcJ/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBf8iQFv/T5fX/1yx + +/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csfv/UJrb/yREYP8DBAX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BAYI/ylObv9YqfD/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLL9J////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH7/0OA + tv8PGyb/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMF + Bv8hPlf/R4nC/1uu9/9csfz/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/1uu+P9Ii8X/IkFc/wQGCP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/Dhkj/0F8sP9csPv/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1ux/if///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/VaPn/yZIZv8FCAv/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8TIzL/M2KL/1Gc3v9arvf/XLH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx + /P9brvf/Up3g/zRkjv8UJjX/AwQE/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8FCAr/JERh/1Sg5P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsP4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9csPv/Q4C2/xMjMf8DBAX/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8EBgn/GjBE/zVlj/9PmNj/Wavz/1yx/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfz/Wav0/1CZ + 2v82Z5L/GzJH/wUHCv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMEBP8RIC3/QX2x/1yw+v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbD+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Xp+7/MFuC/woSGP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAUH/xUmNv8sVHf/R4jB/1ak + 6v9Zq/P/XLD7/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csPv/Wavz/1al6v9IisT/LVV5/xUo + OP8EBgj/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wkQFv8uWH3/Vqbs/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/iX///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9OltX/IkFc/wYLDv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8JERf/Fys9/yVFY/8wXYT/PHSl/0mMxv9SneD/VaPn/1en7f9Zq/P/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgMEP9Zq/T/V6fu/1Wj6P9SnuD/SY3I/z11pv8xXYX/JUZk/xgtP/8KERj/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/BgoN/yA9V/9Nk9L/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsv4l////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+/9FhLz/GjBE/wUI + Cv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAUH/woSGv8SIS7/GS9C/wUHCf8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8EBQf/GS9D/xIhL/8LExr/BAYH/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8FBwn/GC1A/0OBuP9csPr/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH+Jf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1qt + 9v8/d6r/Fig5/wQGCP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQG + B/8UJjX/PXWm/1qs9f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/iP///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1mq8v89dab/GC0//wYKDf8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BgkM/xcq + O/88cqL/WKnx/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv4j////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1qt9v9Fhb3/JUdl/w0YIf8DBAX/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMEBf8NFx//JERg/0SD + uv9arfb/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLL8I////wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Tn+L/PHOk/x46Uv8NFx//AwQF/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DBAX/DBYe/x44T/87caH/Up3f/1yx + /P9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx+iP///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9csfv/UZvd/z52 + qP8kQ2D/ER4q/wUIC/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/BQgK/xAdKf8jQl3/PXWm/1Ca2/9csPv/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9bsPsj////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH8/1Wk6f9Gh8D/Lll+/xgsP/8OGSP/BQkL/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/BQgL/w4YIv8XLD3/LVd7/0WGvv9Vouf/XLH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL+If// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9arfb/Up3f/0mMx/8+d6n/MV6G/yVGY/8aMUX/FSY1/w8c + J/8KEhj/BQcK/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8FBwn/ChEY/w8b + Jv8UJjX/GjFE/yRFYv8xXYX/Pnan/0mLxv9RnN7/Wq31/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/16z + /SH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD6/1io + 7/9ToOP/TpfW/0qOyv9Egrn/CQ4T/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wYKDf9Egrj/So7K/06X + 1v9Tn+P/WKjv/1yw+v9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsvsh////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XLH+H////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yx+x////8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9ds/0d////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XLL8Hf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1yx/Bv///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esv4b////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XrH+Gf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw+xn///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9fsv0X////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsT + Gv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLD+Ff///wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/161/RX///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9ds/0T////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL6E/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + /RH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgNEf9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dtf0P////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8IDRH/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XrP9D////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/CA0R/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/1yv/Q3///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/CxMa/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wgN + Ef9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9bs/0N////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/wsTGv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8IDRH/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/X7L9C////wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f8LExr/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CA0R/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/Qv///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/1uu+P9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/CQ4T/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wYKDf9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+ + s/9CfrP/Qn6z/0J+s/9CfrP/Qn6z/0J+s/9CfrP/Wqz1/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/ftdsv0L////AV2y/YNdsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Xpuz/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/1Of4/9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvzvXLL8Cf///wFdsv2DXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6bs/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/9Tn+P/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH84V2x/An///8BXbL9g12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1em7P8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/U5/j/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/NFdsfwH////AV2y/YNdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Xpuz/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/1Of4/9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsf3DXbH9Bf///wFdsv2DXbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6bs/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/9Tn+P/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XLH9tVyx/QX///8BXbL9g12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1em7P8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/U5/j/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yy/KlbsvwD////AV2y + /YNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9Xpuz/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/1Of + 4/9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsvydXbT8A/// + /wFdsv2DXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/V6bs/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/9Tn+P/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL8k/// + /wH///8BXbL9g12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1yw + +v9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ2f9Qmdn/UJnZ/1CZ + 2f9Qmdn/W6/5/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /Y3///8B////AV2x/Wtdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsf11////Af///wFssew7XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/arHuQ////wH///8BgK3SFV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/3Wv3x////8B////AXqq1AdosPHvXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/2ew8vF3rdwP////Af///wGZqbYDbK/ro12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9rr+yrmam2Bf///wH///8B////AYWu0Fldsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/ga7VY////wH///8B////Af///wGCrdMJZ7Dx3V2y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/ZrDy4X6t2BH///8B////Af///wH///8B////AWqv7mVdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/2iv72////8B////Af///wH///8B////Af///wFss/ALX7H60V2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/16x+9VpsvIR////Af///wH///8B////Af///wH///8B////AWGx + 91ddsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9hsfhh////Af///wH///8B////Af///wH///8B////Af// + /wFksPILXrL7xV2y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9esfvLZK/0D////wH///8B////Af///wH///8B////Af// + /wH///8B////AWGx+Etdsfz7XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfz7YLH4Vf///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wFmsPQHX7H6q12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/X7H6tWev8Qv///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AWaw8yldsfzrXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH872Wx8zP///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wGEqdADYrH2aV2y/P1dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/WOx9nmHr88D////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////AWSx8wtfsfqtXbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+rllsfQP////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BbLDsIV+x+tVdsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/1+x+t9tsOwr////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wFisfZBXbH8612y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/PFjsfZN////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bi67FA2Sw + 9FddsfzxXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/PVmsfNniqzIA////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wGBr9kFZrDyZ12x/PNdsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/16x+/dosPF5ga/ZB////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////AXuv3gVnsfFrXbH8812y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x+/VosfB7fK/cCf///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bga3WBWaw8l1dsvzvXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/PNosPBtga/XB////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wGMsM0DZLH0S2Cx+d9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/2Cx+edmsPRVjKzJA////wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wFvr+gvYLH4vV2y/P9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL8/WCx+b9vr+gz////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AW2w7RFmsfOHXbH89V2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbH872Sx9XtpsO4R////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bhq7RBWmw + 7j9hsfjFXbH8/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsfz7XrL7rWSw9C2HrdED////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BcLDqD2aw8mlgsfjhXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12x/f9esfzFYLH6R2Ww9An///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8Bca/oFWaw8nVgsfnhXbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbH9/16x+8lgsflTYrD4C////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8BbLDpEWiw8GFjsfW/XbH8/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/YbH4t2Sx9UtjsPcL////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8Bdq/fB3av4SNksfWFY7H1xV2y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/2Ww8+dmsPKRdK/kKXOv5Af///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AXSw + 5AV5rt8Za6/sXWCx+JNksfW3XrL7112x/fFdsf3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y + /f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv3/XbL9/12y/f9dsv37XbL8712y/d9dsvzPXrH8vWKx + 96tisfaXb7Doh4at0D19rdgL////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BeK/fA2Gy+QVdsf0FXq/4B2Cv8Aditv0JXLH9CV2x/gtcsvkNXrP7D1yw + +hFdsv0TXbP+FVuy+xddsv4ZXLH8G1yy/B1dsv4fXLL9IVuw+yNdsfslXLH7JVyw+ydcsv4pXbL+KV2y + /StdsvwtXbH+LVuw/C9csfwvXbP9MV2y/DFdsfwzXbH9M12x/DVcsvw1XLP8NVyz/Ddcsvw3XbP9N12z + /jddsf05XLH9OVyw/TldsP05XLH9O1yx/Ttdsv07XbL9O1yx/Ttcsfw7XLH9O1yy/T1csv09XLL9PVyy + /T1csv09XLL+PVyy/j1csv49XLL+PVyy/j1csv49XLL+PVyy/j1csv49XLL+PVyy/j1csv49XLL9PVyy + /T1csv09XLL9PVyy/T1csf09XLH8O1yx/Dtcsfw7XLH9O12y/Ttdsv07XbH9O1yx/Ttcsf07XLH9O1yw + /DtdsP05XbD9OVyw/Tlcsf05XLH9OV2x/Tldsf05XbP+N12z/jddsvw3XLL8N1yy/Ddcsvw3XbP9N12z + /jVcs/01XLL8NVyy/DVdsvw1XbH8NV2x/DNdsfwzXbH+M12x/jNdsfwzXbH8M1yx/DNcsfwzXbL8M12y + /DNds/4xXbP+MV2y/DFdsvwxXLH8MVyx/C9csfwvW7D8L1yw/S9dsf4vXbL+LV2y/i1csvwtXbL8LV2x + /C1csfwtXLD8K16y/Stes/4rXbL+K12y/ildsf4pXLH+KV2z/SlesvspXLH7J12w+ydbsvsnXLL7J12x + +yVcsvslXLL7JV6x+yVcsPsjXLH7I1uw+yNcsfshW7H+IV2x/iFcsv4fXrL+H1yz/R9csfodWrD7HV2y + /h1csvobXbH9G1yx/RlbsfsZXrP+GV2y/hddsfsXXrP+FVyz/hVdr/4TXrH+E121/hFbsP4RXbP+D1+2 + /g9dsf4NXrX+DVuv/gtes/0LXbP9CV6y/Qlhtv0HWrX9B2Gx/Qddsf0FXbL9BV2y/QVdsv0FXbL8A2Gx + +QN4ruAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/windows/WebUIWrapper/Program.cs b/windows/WebUIWrapper/Program.cs new file mode 100644 index 00000000..3dfdb94f --- /dev/null +++ b/windows/WebUIWrapper/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WebUIWrapper +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/windows/WebUIWrapper/Properties/AssemblyInfo.cs b/windows/WebUIWrapper/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..b097a358 --- /dev/null +++ b/windows/WebUIWrapper/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("WebUIWrapper")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WebUIWrapper")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("98eb6dae-d218-4a8c-9935-a0ccdca3e936")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/windows/WebUIWrapper/Properties/Resources.Designer.cs b/windows/WebUIWrapper/Properties/Resources.Designer.cs new file mode 100644 index 00000000..2419dce3 --- /dev/null +++ b/windows/WebUIWrapper/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebUIWrapper.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WebUIWrapper.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/windows/WebUIWrapper/Properties/Resources.resx b/windows/WebUIWrapper/Properties/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/windows/WebUIWrapper/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/windows/WebUIWrapper/Properties/Settings.Designer.cs b/windows/WebUIWrapper/Properties/Settings.Designer.cs new file mode 100644 index 00000000..8eb61166 --- /dev/null +++ b/windows/WebUIWrapper/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebUIWrapper.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/windows/WebUIWrapper/Properties/Settings.settings b/windows/WebUIWrapper/Properties/Settings.settings new file mode 100644 index 00000000..39645652 --- /dev/null +++ b/windows/WebUIWrapper/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/windows/WebUIWrapper/Properties/app.manifest b/windows/WebUIWrapper/Properties/app.manifest new file mode 100644 index 00000000..4e1881fb --- /dev/null +++ b/windows/WebUIWrapper/Properties/app.manifest @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/windows/WebUIWrapper/WebUIWrapper.csproj b/windows/WebUIWrapper/WebUIWrapper.csproj new file mode 100644 index 00000000..c541bce9 --- /dev/null +++ b/windows/WebUIWrapper/WebUIWrapper.csproj @@ -0,0 +1,143 @@ + + + + + Debug + AnyCPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241} + WinExe + Properties + WebUIWrapper + ZeroTier One + v4.5 + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + + + prompt + 4 + + + WebUIWrapper.Program + + + false + + + LocalIntranet + + + false + + + Properties\app.manifest + + + ZeroTierIcon.ico + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + \ No newline at end of file diff --git a/windows/WebUIWrapper/ZeroTierIcon.ico b/windows/WebUIWrapper/ZeroTierIcon.ico new file mode 100644 index 00000000..2d190c47 Binary files /dev/null and b/windows/WebUIWrapper/ZeroTierIcon.ico differ diff --git a/windows/ZeroTierOne.sln b/windows/ZeroTierOne.sln index 3aebacb5..1c6e58ed 100644 --- a/windows/ZeroTierOne.sln +++ b/windows/ZeroTierOne.sln @@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZeroTierOne", "ZeroTierOne\ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TapDriver6", "TapDriver6\TapDriver6.vcxproj", "{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebUIWrapper", "WebUIWrapper\WebUIWrapper.csproj", "{04832129-0F0C-438B-ACDF-8BB7F99AE241}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CD_ROM|Any CPU = CD_ROM|Any CPU @@ -440,6 +442,83 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|x86.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|x86.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|x86.Deploy.0 = Win8 Release|Win32 + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|Any CPU.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|Win32.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|x64.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Debug|x86.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Release|x86.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.SingleImage|x86.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|Any CPU.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|Win32.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|x64.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Debug|x86.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Vista Release|x86.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|Win32.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|x64.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Debug|x86.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win7 Release|x86.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|Any CPU.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|Win32.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|x64.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Debug|x86.ActiveCfg = Debug|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|Any CPU.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|Any CPU.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|Mixed Platforms.Build.0 = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|Win32.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|x64.ActiveCfg = Release|Any CPU + {04832129-0F0C-438B-ACDF-8BB7F99AE241}.Win8 Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE -- cgit v1.2.3 From 92ca53e14113f3243d1516fe3c4c841aa967626d Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 12:16:02 -0700 Subject: Add pre-build signed UI wrapper .exe. --- ext/win-ui-wrapper/ZeroTier One.exe | Bin 0 -> 761304 bytes windows/WebUIWrapper/Properties/AssemblyInfo.cs | 10 ++--- .../WebUIWrapper/Properties/Resources.Designer.cs | 42 +++++++++------------ .../WebUIWrapper/Properties/Settings.Designer.cs | 20 ++++------ windows/WebUIWrapper/WebUIWrapper.csproj | 1 + 5 files changed, 31 insertions(+), 42 deletions(-) create mode 100644 ext/win-ui-wrapper/ZeroTier One.exe diff --git a/ext/win-ui-wrapper/ZeroTier One.exe b/ext/win-ui-wrapper/ZeroTier One.exe new file mode 100644 index 00000000..6abbc129 Binary files /dev/null and b/ext/win-ui-wrapper/ZeroTier One.exe differ diff --git a/windows/WebUIWrapper/Properties/AssemblyInfo.cs b/windows/WebUIWrapper/Properties/AssemblyInfo.cs index b097a358..5573fc09 100644 --- a/windows/WebUIWrapper/Properties/AssemblyInfo.cs +++ b/windows/WebUIWrapper/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("WebUIWrapper")] -[assembly: AssemblyDescription("")] +[assembly: AssemblyTitle("ZeroTier One")] +[assembly: AssemblyDescription("UI Wrapper")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("WebUIWrapper")] -[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyCompany("ZeroTier, Inc.")] +[assembly: AssemblyProduct("ZeroTier One")] +[assembly: AssemblyCopyright("Copyright ©2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/windows/WebUIWrapper/Properties/Resources.Designer.cs b/windows/WebUIWrapper/Properties/Resources.Designer.cs index 2419dce3..463c7ea3 100644 --- a/windows/WebUIWrapper/Properties/Resources.Designer.cs +++ b/windows/WebUIWrapper/Properties/Resources.Designer.cs @@ -8,10 +8,10 @@ // //------------------------------------------------------------------------------ -namespace WebUIWrapper.Properties -{ - - +namespace WebUIWrapper.Properties { + using System; + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -22,48 +22,40 @@ namespace WebUIWrapper.Properties [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - + internal class Resources { + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { + internal Resources() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WebUIWrapper.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { + internal static global::System.Globalization.CultureInfo Culture { + get { return resourceCulture; } - set - { + set { resourceCulture = value; } } diff --git a/windows/WebUIWrapper/Properties/Settings.Designer.cs b/windows/WebUIWrapper/Properties/Settings.Designer.cs index 8eb61166..8115e015 100644 --- a/windows/WebUIWrapper/Properties/Settings.Designer.cs +++ b/windows/WebUIWrapper/Properties/Settings.Designer.cs @@ -8,21 +8,17 @@ // //------------------------------------------------------------------------------ -namespace WebUIWrapper.Properties -{ - - +namespace WebUIWrapper.Properties { + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { + + public static Settings Default { + get { return defaultInstance; } } diff --git a/windows/WebUIWrapper/WebUIWrapper.csproj b/windows/WebUIWrapper/WebUIWrapper.csproj index c541bce9..44fef263 100644 --- a/windows/WebUIWrapper/WebUIWrapper.csproj +++ b/windows/WebUIWrapper/WebUIWrapper.csproj @@ -97,6 +97,7 @@ True Resources.resx + True -- cgit v1.2.3 From a40192a40bdf81b9d2a78ae69e059e41d78604ea Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 12:35:03 -0700 Subject: Scratch that wrapper... it was easy to make, but it turns out WebControl is IE4 (!!!?!). Also prefer NDIS5 to NDIS6 *if* NDIS5 is installed. We will no longer ship it, but this will make older installs use the same driver they are already using. Should ease upgrade. --- ext/win-ui-wrapper/ZeroTier One.exe | Bin 761304 -> 0 bytes osdep/WindowsEthernetTap.cpp | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 ext/win-ui-wrapper/ZeroTier One.exe diff --git a/ext/win-ui-wrapper/ZeroTier One.exe b/ext/win-ui-wrapper/ZeroTier One.exe deleted file mode 100644 index 6abbc129..00000000 Binary files a/ext/win-ui-wrapper/ZeroTier One.exe and /dev/null differ diff --git a/osdep/WindowsEthernetTap.cpp b/osdep/WindowsEthernetTap.cpp index 220516ab..7f6cbc4d 100644 --- a/osdep/WindowsEthernetTap.cpp +++ b/osdep/WindowsEthernetTap.cpp @@ -124,11 +124,11 @@ WindowsEthernetTap::WindowsEthernetTap( Mutex::Lock _l(_systemTapInitLock); - std::string tapDriverPath(_pathToHelpers + WINENV.tapDriverNdis6); - const char *tapDriverName = "zttap300"; + std::string tapDriverPath(_pathToHelpers + WINENV.tapDriverNdis5); + const char *tapDriverName = "zttap200"; if (::PathFileExistsA(tapDriverPath.c_str()) == FALSE) { - tapDriverPath = _pathToHelpers + WINENV.tapDriverNdis5; - tapDriverName = "zttap200"; + tapDriverPath = _pathToHelpers + WINENV.tapDriverNdis6; + tapDriverName = "zttap300"; if (::PathFileExistsA(tapDriverPath.c_str()) == FALSE) { throw std::runtime_error("no tap driver available: cannot find zttap300.inf (NDIS6) or zttap200.inf (NDIS5) under home path"); } -- cgit v1.2.3 From 8594e17f2b07976c006bca1c5531e56ead9b065a Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 12:35:41 -0700 Subject: Move mac-ui into src/ --- ext/mac-ui-macgap1-wrapper/LICENSE | 25 - .../MacGap.xcodeproj/project.pbxproj | 498 --- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../xcshareddata/MacGap.xccheckout | 41 - .../UserInterfaceState.xcuserstate | Bin 46675 -> 0 bytes .../api.xcuserdatad/WorkspaceSettings.xcsettings | 10 - .../UserInterfaceState.xcuserstate | Bin 27811 -> 0 bytes .../WorkspaceSettings.xcsettings | 10 - ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.h | 18 - ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.m | 145 - .../MacGap/Classes/CallbackDelegate.h | 20 - .../MacGap/Classes/CallbackDelegate.m | 168 - .../MacGap/Classes/Commands/App.h | 21 - .../MacGap/Classes/Commands/App.m | 128 - .../MacGap/Classes/Commands/Command.h | 18 - .../MacGap/Classes/Commands/Command.m | 28 - .../MacGap/Classes/Commands/Dock.h | 11 - .../MacGap/Classes/Commands/Dock.m | 31 - .../MacGap/Classes/Commands/MenuItemProxy.h | 31 - .../MacGap/Classes/Commands/MenuItemProxy.m | 150 - .../MacGap/Classes/Commands/MenuProxy.h | 31 - .../MacGap/Classes/Commands/MenuProxy.m | 233 -- .../MacGap/Classes/Commands/Notice.h | 26 - .../MacGap/Classes/Commands/Notice.m | 108 - .../MacGap/Classes/Commands/Path.h | 21 - .../MacGap/Classes/Commands/Path.m | 53 - .../MacGap/Classes/Commands/Sound.h | 17 - .../MacGap/Classes/Commands/Sound.m | 97 - .../MacGap/Classes/Commands/UserDefaults.h | 43 - .../MacGap/Classes/Commands/UserDefaults.m | 211 -- .../MacGap/Classes/Commands/fonts.h | 9 - .../MacGap/Classes/Commands/fonts.m | 48 - .../MacGap/Classes/Constants.h | 7 - .../MacGap/Classes/ContentView.h | 15 - .../MacGap/Classes/ContentView.m | 68 - .../MacGap/Classes/JSEventHelper.h | 20 - .../MacGap/Classes/JSEventHelper.m | 41 - ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.h | 20 - ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.m | 93 - .../MacGap/Classes/WebViewDelegate.h | 49 - .../MacGap/Classes/WebViewDelegate.m | 206 -- ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.h | 23 - ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.m | 94 - ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.h | 10 - ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.m | 51 - .../AppIcon.appiconset/Contents.json | 63 - .../AppIcon.appiconset/application128x128.png | Bin 11247 -> 0 bytes .../AppIcon.appiconset/application16x16.png | Bin 715 -> 0 bytes .../AppIcon.appiconset/application256x256.png | Bin 29043 -> 0 bytes .../AppIcon.appiconset/application32x32.png | Bin 1787 -> 0 bytes .../AppIcon.appiconset/application512x512.png | Bin 57374 -> 0 bytes .../MacGap/MacGap-Info.plist | 32 - .../MacGap/MacGap-Prefix.pch | 15 - .../MacGap/WindowController.h | 13 - .../MacGap/WindowController.m | 54 - .../MacGap/en.lproj/Credits.rtf | 13 - .../MacGap/en.lproj/InfoPlist.strings | 2 - .../MacGap/en.lproj/MainMenu.xib | 3404 -------------------- .../MacGap/en.lproj/Window.xib | 337 -- ext/mac-ui-macgap1-wrapper/MacGap/main.m | 14 - ext/mac-ui-macgap1-wrapper/README.md | 6 - ext/mac-ui-macgap1-wrapper/application.icns | Bin 88566 -> 0 bytes ext/mac-ui-macgap1-wrapper/public/index.html | 33 - ext/mac-ui-macgap1-wrapper/src/LICENSE | 25 + .../src/MacGap.xcodeproj/project.pbxproj | 498 +++ .../project.xcworkspace/contents.xcworkspacedata | 7 + .../xcshareddata/MacGap.xccheckout | 41 + .../UserInterfaceState.xcuserstate | Bin 0 -> 46675 bytes .../api.xcuserdatad/WorkspaceSettings.xcsettings | 10 + .../UserInterfaceState.xcuserstate | Bin 0 -> 27811 bytes .../WorkspaceSettings.xcsettings | 10 + .../src/MacGap/AppDelegate.h | 18 + .../src/MacGap/AppDelegate.m | 145 + .../src/MacGap/Classes/CallbackDelegate.h | 20 + .../src/MacGap/Classes/CallbackDelegate.m | 168 + .../src/MacGap/Classes/Commands/App.h | 21 + .../src/MacGap/Classes/Commands/App.m | 128 + .../src/MacGap/Classes/Commands/Command.h | 18 + .../src/MacGap/Classes/Commands/Command.m | 28 + .../src/MacGap/Classes/Commands/Dock.h | 11 + .../src/MacGap/Classes/Commands/Dock.m | 31 + .../src/MacGap/Classes/Commands/MenuItemProxy.h | 31 + .../src/MacGap/Classes/Commands/MenuItemProxy.m | 150 + .../src/MacGap/Classes/Commands/MenuProxy.h | 31 + .../src/MacGap/Classes/Commands/MenuProxy.m | 233 ++ .../src/MacGap/Classes/Commands/Notice.h | 26 + .../src/MacGap/Classes/Commands/Notice.m | 108 + .../src/MacGap/Classes/Commands/Path.h | 21 + .../src/MacGap/Classes/Commands/Path.m | 53 + .../src/MacGap/Classes/Commands/Sound.h | 17 + .../src/MacGap/Classes/Commands/Sound.m | 97 + .../src/MacGap/Classes/Commands/UserDefaults.h | 43 + .../src/MacGap/Classes/Commands/UserDefaults.m | 211 ++ .../src/MacGap/Classes/Commands/fonts.h | 9 + .../src/MacGap/Classes/Commands/fonts.m | 48 + .../src/MacGap/Classes/Constants.h | 7 + .../src/MacGap/Classes/ContentView.h | 15 + .../src/MacGap/Classes/ContentView.m | 68 + .../src/MacGap/Classes/JSEventHelper.h | 20 + .../src/MacGap/Classes/JSEventHelper.m | 41 + .../src/MacGap/Classes/Utils.h | 20 + .../src/MacGap/Classes/Utils.m | 93 + .../src/MacGap/Classes/WebViewDelegate.h | 49 + .../src/MacGap/Classes/WebViewDelegate.m | 206 ++ .../src/MacGap/Classes/Window.h | 23 + .../src/MacGap/Classes/Window.m | 94 + ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.h | 10 + ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.m | 51 + .../AppIcon.appiconset/Contents.json | 63 + .../AppIcon.appiconset/application128x128.png | Bin 0 -> 11247 bytes .../AppIcon.appiconset/application16x16.png | Bin 0 -> 715 bytes .../AppIcon.appiconset/application256x256.png | Bin 0 -> 29043 bytes .../AppIcon.appiconset/application32x32.png | Bin 0 -> 1787 bytes .../AppIcon.appiconset/application512x512.png | Bin 0 -> 57374 bytes .../src/MacGap/MacGap-Info.plist | 32 + .../src/MacGap/MacGap-Prefix.pch | 15 + .../src/MacGap/WindowController.h | 13 + .../src/MacGap/WindowController.m | 54 + .../src/MacGap/en.lproj/Credits.rtf | 13 + .../src/MacGap/en.lproj/InfoPlist.strings | 2 + .../src/MacGap/en.lproj/MainMenu.xib | 3404 ++++++++++++++++++++ .../src/MacGap/en.lproj/Window.xib | 337 ++ ext/mac-ui-macgap1-wrapper/src/MacGap/main.m | 14 + ext/mac-ui-macgap1-wrapper/src/README.md | 6 + ext/mac-ui-macgap1-wrapper/src/application.icns | Bin 0 -> 88566 bytes ext/mac-ui-macgap1-wrapper/src/public/index.html | 33 + 126 files changed, 6940 insertions(+), 6940 deletions(-) delete mode 100644 ext/mac-ui-macgap1-wrapper/LICENSE delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.pbxproj delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.m delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.h delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.m delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.h delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.m delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.h delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.m delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.h delete mode 100755 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Constants.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Info.plist delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Prefix.pch delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/WindowController.h delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/WindowController.m delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Credits.rtf delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/InfoPlist.strings delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/MainMenu.xib delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Window.xib delete mode 100644 ext/mac-ui-macgap1-wrapper/MacGap/main.m delete mode 100644 ext/mac-ui-macgap1-wrapper/README.md delete mode 100644 ext/mac-ui-macgap1-wrapper/application.icns delete mode 100644 ext/mac-ui-macgap1-wrapper/public/index.html create mode 100644 ext/mac-ui-macgap1-wrapper/src/LICENSE create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.pbxproj create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.m create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.h create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.m create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.h create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.m create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.h create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.m create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.h create mode 100755 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Constants.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Info.plist create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Prefix.pch create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.h create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Credits.rtf create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/InfoPlist.strings create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/MainMenu.xib create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Window.xib create mode 100644 ext/mac-ui-macgap1-wrapper/src/MacGap/main.m create mode 100644 ext/mac-ui-macgap1-wrapper/src/README.md create mode 100644 ext/mac-ui-macgap1-wrapper/src/application.icns create mode 100644 ext/mac-ui-macgap1-wrapper/src/public/index.html diff --git a/ext/mac-ui-macgap1-wrapper/LICENSE b/ext/mac-ui-macgap1-wrapper/LICENSE deleted file mode 100644 index c7fd4a4a..00000000 --- a/ext/mac-ui-macgap1-wrapper/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -MacGap was ported from phonegap-mac, and is under the same license (MIT) - -The MIT License -***************** - -Copyright (c) <2012> - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, 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. - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.pbxproj b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.pbxproj deleted file mode 100644 index 9d71cecc..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.pbxproj +++ /dev/null @@ -1,498 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 1495814F15C15CCC00E1CFE5 /* Notice.m in Sources */ = {isa = PBXBuildFile; fileRef = 1495814E15C15CCC00E1CFE5 /* Notice.m */; }; - 6F169DA718CC332E005EDDF3 /* Command.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DA618CC332E005EDDF3 /* Command.m */; }; - 6F169DAA18CC35FD005EDDF3 /* CallbackDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */; }; - 6F169DAC18CD8A4A005EDDF3 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */; }; - 6F169DB118CD906F005EDDF3 /* MenuItemProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */; }; - 6F169DB218CD906F005EDDF3 /* MenuProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DB018CD906F005EDDF3 /* MenuProxy.m */; }; - 6FD672B618FE618E00C0DAAD /* UserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD672B518FE618E00C0DAAD /* UserDefaults.m */; }; - 6FD6E4ED18C2D48C00DFFBE6 /* fonts.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */; }; - 88746BEE14CCA435001E160E /* JSEventHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 88746BED14CCA435001E160E /* JSEventHelper.m */; }; - 88C0646014BDE10A00E4BCE2 /* Window.m in Sources */ = {isa = PBXBuildFile; fileRef = 88C0645F14BDE10A00E4BCE2 /* Window.m */; }; - 88C0646614BDEC5800E4BCE2 /* Window.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88C0646414BDEC5800E4BCE2 /* Window.xib */; }; - 88C0646D14BDF6A600E4BCE2 /* WindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 88C0646C14BDF6A600E4BCE2 /* WindowController.m */; }; - C13A649D1AFB171100CB31FE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C13A649C1AFB171100CB31FE /* Images.xcassets */; }; - C1C2B9911AFB0CF10060D7C2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1C2B9901AFB0CF10060D7C2 /* Security.framework */; }; - F2B80016179E0FC100B069A8 /* Clipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = F2B80015179E0FC100B069A8 /* Clipboard.m */; }; - FA32509D14BA813600BF0781 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA32509C14BA813600BF0781 /* WebKit.framework */; }; - FA3250C314BA85E700BF0781 /* ContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250BC14BA85E700BF0781 /* ContentView.m */; }; - FA3250C514BA85E700BF0781 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250BE14BA85E700BF0781 /* Utils.m */; }; - FA3250C714BA85E700BF0781 /* WebViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250C014BA85E700BF0781 /* WebViewDelegate.m */; }; - FA3250D314BA860800BF0781 /* App.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250C914BA860800BF0781 /* App.m */; }; - FA3250D514BA860800BF0781 /* Dock.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250CB14BA860800BF0781 /* Dock.m */; }; - FA3250D914BA860800BF0781 /* Path.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250CF14BA860800BF0781 /* Path.m */; }; - FA3250DB14BA860800BF0781 /* Sound.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250D114BA860800BF0781 /* Sound.m */; }; - FA3250E514BA883A00BF0781 /* public in Resources */ = {isa = PBXBuildFile; fileRef = FA3250E414BA883A00BF0781 /* public */; }; - FA3250E714BA8BCE00BF0781 /* application.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA3250E614BA8BCE00BF0781 /* application.icns */; }; - FA3F7742168F70790027B324 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA3F7741168F70780027B324 /* Cocoa.framework */; }; - FAE451C914BA79C600190544 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FAE451C714BA79C600190544 /* InfoPlist.strings */; }; - FAE451CB14BA79C600190544 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FAE451CA14BA79C600190544 /* main.m */; }; - FAE451CF14BA79C600190544 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = FAE451CD14BA79C600190544 /* Credits.rtf */; }; - FAE451D214BA79C600190544 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FAE451D114BA79C600190544 /* AppDelegate.m */; }; - FAE451D514BA79C600190544 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FAE451D314BA79C600190544 /* MainMenu.xib */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - FA3250DD14BA876F00BF0781 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1495814D15C15CCC00E1CFE5 /* Notice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Notice.h; path = Classes/Commands/Notice.h; sourceTree = ""; }; - 1495814E15C15CCC00E1CFE5 /* Notice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Notice.m; path = Classes/Commands/Notice.m; sourceTree = ""; }; - 6F169DA518CC332E005EDDF3 /* Command.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Command.h; path = Classes/Commands/Command.h; sourceTree = ""; }; - 6F169DA618CC332E005EDDF3 /* Command.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Command.m; path = Classes/Commands/Command.m; sourceTree = ""; }; - 6F169DA818CC35FD005EDDF3 /* CallbackDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CallbackDelegate.h; path = Classes/CallbackDelegate.h; sourceTree = ""; }; - 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CallbackDelegate.m; path = Classes/CallbackDelegate.m; sourceTree = ""; }; - 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - 6F169DAD18CD906F005EDDF3 /* MenuItemProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenuItemProxy.h; path = Classes/Commands/MenuItemProxy.h; sourceTree = ""; }; - 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MenuItemProxy.m; path = Classes/Commands/MenuItemProxy.m; sourceTree = ""; }; - 6F169DAF18CD906F005EDDF3 /* MenuProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenuProxy.h; path = Classes/Commands/MenuProxy.h; sourceTree = ""; }; - 6F169DB018CD906F005EDDF3 /* MenuProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MenuProxy.m; path = Classes/Commands/MenuProxy.m; sourceTree = ""; }; - 6FD672B418FE618E00C0DAAD /* UserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserDefaults.h; path = Classes/Commands/UserDefaults.h; sourceTree = ""; }; - 6FD672B518FE618E00C0DAAD /* UserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserDefaults.m; path = Classes/Commands/UserDefaults.m; sourceTree = ""; }; - 6FD6E4EB18C2D48200DFFBE6 /* fonts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fonts.h; path = Classes/Commands/fonts.h; sourceTree = ""; }; - 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = fonts.m; path = Classes/Commands/fonts.m; sourceTree = ""; }; - 88746BEC14CCA435001E160E /* JSEventHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSEventHelper.h; path = Classes/JSEventHelper.h; sourceTree = ""; }; - 88746BED14CCA435001E160E /* JSEventHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JSEventHelper.m; path = Classes/JSEventHelper.m; sourceTree = ""; }; - 88C0645E14BDE10A00E4BCE2 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Window.h; path = Classes/Window.h; sourceTree = ""; }; - 88C0645F14BDE10A00E4BCE2 /* Window.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Window.m; path = Classes/Window.m; sourceTree = ""; }; - 88C0646514BDEC5800E4BCE2 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Window.xib; sourceTree = ""; }; - 88C0646B14BDF6A600E4BCE2 /* WindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindowController.h; sourceTree = ""; }; - 88C0646C14BDF6A600E4BCE2 /* WindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WindowController.m; sourceTree = ""; }; - C13A649C1AFB171100CB31FE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - C1C2B9901AFB0CF10060D7C2 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - F2B80014179E0FC100B069A8 /* Clipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipboard.h; sourceTree = ""; }; - F2B80015179E0FC100B069A8 /* Clipboard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Clipboard.m; sourceTree = ""; }; - FA32509C14BA813600BF0781 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - FA3250BA14BA85E700BF0781 /* Constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Constants.h; path = Classes/Constants.h; sourceTree = ""; }; - FA3250BB14BA85E700BF0781 /* ContentView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ContentView.h; path = Classes/ContentView.h; sourceTree = ""; }; - FA3250BC14BA85E700BF0781 /* ContentView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ContentView.m; path = Classes/ContentView.m; sourceTree = ""; }; - FA3250BD14BA85E700BF0781 /* Utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Classes/Utils.h; sourceTree = ""; }; - FA3250BE14BA85E700BF0781 /* Utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = Classes/Utils.m; sourceTree = ""; }; - FA3250BF14BA85E700BF0781 /* WebViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebViewDelegate.h; path = Classes/WebViewDelegate.h; sourceTree = ""; }; - FA3250C014BA85E700BF0781 /* WebViewDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = WebViewDelegate.m; path = Classes/WebViewDelegate.m; sourceTree = ""; }; - FA3250C814BA860800BF0781 /* App.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = App.h; path = Classes/Commands/App.h; sourceTree = ""; }; - FA3250C914BA860800BF0781 /* App.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = App.m; path = Classes/Commands/App.m; sourceTree = ""; }; - FA3250CA14BA860800BF0781 /* Dock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dock.h; path = Classes/Commands/Dock.h; sourceTree = ""; }; - FA3250CB14BA860800BF0781 /* Dock.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Dock.m; path = Classes/Commands/Dock.m; sourceTree = ""; }; - FA3250CE14BA860800BF0781 /* Path.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Path.h; path = Classes/Commands/Path.h; sourceTree = ""; }; - FA3250CF14BA860800BF0781 /* Path.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Path.m; path = Classes/Commands/Path.m; sourceTree = ""; }; - FA3250D014BA860800BF0781 /* Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sound.h; path = Classes/Commands/Sound.h; sourceTree = ""; }; - FA3250D114BA860800BF0781 /* Sound.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Sound.m; path = Classes/Commands/Sound.m; sourceTree = ""; }; - FA3250E414BA883A00BF0781 /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; - FA3250E614BA8BCE00BF0781 /* application.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = application.icns; sourceTree = SOURCE_ROOT; }; - FA3F7741168F70780027B324 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - FAE451BA14BA79C600190544 /* ZeroTier One.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ZeroTier One.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - FAE451BE14BA79C600190544 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - FAE451C114BA79C600190544 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; - FAE451C214BA79C600190544 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - FAE451C314BA79C600190544 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - FAE451C614BA79C600190544 /* MacGap-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MacGap-Info.plist"; sourceTree = ""; }; - FAE451C814BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - FAE451CA14BA79C600190544 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - FAE451CC14BA79C600190544 /* MacGap-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacGap-Prefix.pch"; sourceTree = ""; }; - FAE451CE14BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; - FAE451D014BA79C600190544 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - FAE451D114BA79C600190544 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - FAE451D414BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - FAE451B714BA79C600190544 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C1C2B9911AFB0CF10060D7C2 /* Security.framework in Frameworks */, - 6F169DAC18CD8A4A005EDDF3 /* JavaScriptCore.framework in Frameworks */, - FA3F7742168F70790027B324 /* Cocoa.framework in Frameworks */, - FA32509D14BA813600BF0781 /* WebKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - FA3250E014BA87B800BF0781 /* Classes */ = { - isa = PBXGroup; - children = ( - FA3250E114BA87DD00BF0781 /* Commands */, - FA3250BA14BA85E700BF0781 /* Constants.h */, - 6F169DA818CC35FD005EDDF3 /* CallbackDelegate.h */, - 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */, - FA3250BB14BA85E700BF0781 /* ContentView.h */, - FA3250BC14BA85E700BF0781 /* ContentView.m */, - FA3250BF14BA85E700BF0781 /* WebViewDelegate.h */, - FA3250C014BA85E700BF0781 /* WebViewDelegate.m */, - 88C0646B14BDF6A600E4BCE2 /* WindowController.h */, - 88C0646C14BDF6A600E4BCE2 /* WindowController.m */, - ); - name = Classes; - sourceTree = ""; - }; - FA3250E114BA87DD00BF0781 /* Commands */ = { - isa = PBXGroup; - children = ( - 6F169DA518CC332E005EDDF3 /* Command.h */, - 6F169DA618CC332E005EDDF3 /* Command.m */, - 1495814D15C15CCC00E1CFE5 /* Notice.h */, - 1495814E15C15CCC00E1CFE5 /* Notice.m */, - FA3250CA14BA860800BF0781 /* Dock.h */, - FA3250CB14BA860800BF0781 /* Dock.m */, - 6FD6E4EB18C2D48200DFFBE6 /* fonts.h */, - 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */, - FA3250BD14BA85E700BF0781 /* Utils.h */, - FA3250BE14BA85E700BF0781 /* Utils.m */, - 6FD672B418FE618E00C0DAAD /* UserDefaults.h */, - 6FD672B518FE618E00C0DAAD /* UserDefaults.m */, - FA3250CE14BA860800BF0781 /* Path.h */, - FA3250CF14BA860800BF0781 /* Path.m */, - FA3250D014BA860800BF0781 /* Sound.h */, - FA3250D114BA860800BF0781 /* Sound.m */, - FA3250C814BA860800BF0781 /* App.h */, - FA3250C914BA860800BF0781 /* App.m */, - 6F169DAD18CD906F005EDDF3 /* MenuItemProxy.h */, - 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */, - 6F169DAF18CD906F005EDDF3 /* MenuProxy.h */, - 6F169DB018CD906F005EDDF3 /* MenuProxy.m */, - 88C0645E14BDE10A00E4BCE2 /* Window.h */, - 88C0645F14BDE10A00E4BCE2 /* Window.m */, - 88746BEC14CCA435001E160E /* JSEventHelper.h */, - 88746BED14CCA435001E160E /* JSEventHelper.m */, - F2B80014179E0FC100B069A8 /* Clipboard.h */, - F2B80015179E0FC100B069A8 /* Clipboard.m */, - ); - name = Commands; - sourceTree = ""; - }; - FAE451AF14BA79C600190544 = { - isa = PBXGroup; - children = ( - FA3F7741168F70780027B324 /* Cocoa.framework */, - FA3250E414BA883A00BF0781 /* public */, - FAE451C414BA79C600190544 /* MacGap */, - FAE451BD14BA79C600190544 /* Frameworks */, - FAE451BB14BA79C600190544 /* Products */, - ); - sourceTree = ""; - }; - FAE451BB14BA79C600190544 /* Products */ = { - isa = PBXGroup; - children = ( - FAE451BA14BA79C600190544 /* ZeroTier One.app */, - ); - name = Products; - sourceTree = ""; - }; - FAE451BD14BA79C600190544 /* Frameworks */ = { - isa = PBXGroup; - children = ( - C1C2B9901AFB0CF10060D7C2 /* Security.framework */, - 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */, - FA32509C14BA813600BF0781 /* WebKit.framework */, - FAE451BE14BA79C600190544 /* Cocoa.framework */, - FAE451C014BA79C600190544 /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; - FAE451C014BA79C600190544 /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - FAE451C114BA79C600190544 /* AppKit.framework */, - FAE451C214BA79C600190544 /* CoreData.framework */, - FAE451C314BA79C600190544 /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - FAE451C414BA79C600190544 /* MacGap */ = { - isa = PBXGroup; - children = ( - FA3250E014BA87B800BF0781 /* Classes */, - FAE451D014BA79C600190544 /* AppDelegate.h */, - FAE451D114BA79C600190544 /* AppDelegate.m */, - FAE451D314BA79C600190544 /* MainMenu.xib */, - 88C0646414BDEC5800E4BCE2 /* Window.xib */, - C13A649C1AFB171100CB31FE /* Images.xcassets */, - FAE451C514BA79C600190544 /* Supporting Files */, - ); - path = MacGap; - sourceTree = ""; - }; - FAE451C514BA79C600190544 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - FA3250E614BA8BCE00BF0781 /* application.icns */, - FAE451C614BA79C600190544 /* MacGap-Info.plist */, - FAE451C714BA79C600190544 /* InfoPlist.strings */, - FAE451CA14BA79C600190544 /* main.m */, - FAE451CC14BA79C600190544 /* MacGap-Prefix.pch */, - FAE451CD14BA79C600190544 /* Credits.rtf */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - FAE451B914BA79C600190544 /* MacGap */ = { - isa = PBXNativeTarget; - buildConfigurationList = FAE451D814BA79C600190544 /* Build configuration list for PBXNativeTarget "MacGap" */; - buildPhases = ( - FAE451B814BA79C600190544 /* Resources */, - FAE451B614BA79C600190544 /* Sources */, - FAE451B714BA79C600190544 /* Frameworks */, - FA3250DD14BA876F00BF0781 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = MacGap; - productName = MacGap; - productReference = FAE451BA14BA79C600190544 /* ZeroTier One.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - FAE451B114BA79C600190544 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0450; - ORGANIZATIONNAME = Twitter; - }; - buildConfigurationList = FAE451B414BA79C600190544 /* Build configuration list for PBXProject "MacGap" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = FAE451AF14BA79C600190544; - productRefGroup = FAE451BB14BA79C600190544 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - FAE451B914BA79C600190544 /* MacGap */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - FAE451B814BA79C600190544 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FA3250E514BA883A00BF0781 /* public in Resources */, - FAE451C914BA79C600190544 /* InfoPlist.strings in Resources */, - C13A649D1AFB171100CB31FE /* Images.xcassets in Resources */, - FAE451CF14BA79C600190544 /* Credits.rtf in Resources */, - FAE451D514BA79C600190544 /* MainMenu.xib in Resources */, - FA3250E714BA8BCE00BF0781 /* application.icns in Resources */, - 88C0646614BDEC5800E4BCE2 /* Window.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - FAE451B614BA79C600190544 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F169DAA18CC35FD005EDDF3 /* CallbackDelegate.m in Sources */, - FA3250D314BA860800BF0781 /* App.m in Sources */, - FA3250D514BA860800BF0781 /* Dock.m in Sources */, - FA3250D914BA860800BF0781 /* Path.m in Sources */, - FA3250DB14BA860800BF0781 /* Sound.m in Sources */, - FA3250C314BA85E700BF0781 /* ContentView.m in Sources */, - FA3250C514BA85E700BF0781 /* Utils.m in Sources */, - FA3250C714BA85E700BF0781 /* WebViewDelegate.m in Sources */, - FAE451CB14BA79C600190544 /* main.m in Sources */, - 6F169DB118CD906F005EDDF3 /* MenuItemProxy.m in Sources */, - FAE451D214BA79C600190544 /* AppDelegate.m in Sources */, - 6F169DA718CC332E005EDDF3 /* Command.m in Sources */, - 6FD672B618FE618E00C0DAAD /* UserDefaults.m in Sources */, - 88C0646014BDE10A00E4BCE2 /* Window.m in Sources */, - 6F169DB218CD906F005EDDF3 /* MenuProxy.m in Sources */, - 88C0646D14BDF6A600E4BCE2 /* WindowController.m in Sources */, - 6FD6E4ED18C2D48C00DFFBE6 /* fonts.m in Sources */, - 88746BEE14CCA435001E160E /* JSEventHelper.m in Sources */, - 1495814F15C15CCC00E1CFE5 /* Notice.m in Sources */, - F2B80016179E0FC100B069A8 /* Clipboard.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 88C0646414BDEC5800E4BCE2 /* Window.xib */ = { - isa = PBXVariantGroup; - children = ( - 88C0646514BDEC5800E4BCE2 /* en */, - ); - name = Window.xib; - sourceTree = ""; - }; - FAE451C714BA79C600190544 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - FAE451C814BA79C600190544 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - FAE451CD14BA79C600190544 /* Credits.rtf */ = { - isa = PBXVariantGroup; - children = ( - FAE451CE14BA79C600190544 /* en */, - ); - name = Credits.rtf; - sourceTree = ""; - }; - FAE451D314BA79C600190544 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - FAE451D414BA79C600190544 /* en */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - FAE451D614BA79C600190544 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "ZeroTier One"; - SDKROOT = ""; - }; - name = Debug; - }; - FAE451D714BA79C600190544 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_VERSION = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "ZeroTier One"; - SDKROOT = ""; - }; - name = Release; - }; - FAE451D914BA79C600190544 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; - CLANG_CXX_LIBRARY = "compiler-default"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/MacGap\"", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MacGap/MacGap-Prefix.pch"; - GCC_VERSION = ""; - INFOPLIST_FILE = "MacGap/MacGap-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "ZeroTier One"; - SDKROOT = macosx; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - FAE451DA14BA79C600190544 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; - CLANG_CXX_LIBRARY = "compiler-default"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/MacGap\"", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "MacGap/MacGap-Prefix.pch"; - GCC_VERSION = ""; - INFOPLIST_FILE = "MacGap/MacGap-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "ZeroTier One"; - SDKROOT = macosx; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - FAE451B414BA79C600190544 /* Build configuration list for PBXProject "MacGap" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FAE451D614BA79C600190544 /* Debug */, - FAE451D714BA79C600190544 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FAE451D814BA79C600190544 /* Build configuration list for PBXNativeTarget "MacGap" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FAE451D914BA79C600190544 /* Debug */, - FAE451DA14BA79C600190544 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = FAE451B114BA79C600190544 /* Project object */; -} diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 88f36fc7..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout deleted file mode 100644 index 2a06dbc5..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 4D486E78-E297-4CC3-AAAE-1A58EDAC87E6 - IDESourceControlProjectName - MacGap - IDESourceControlProjectOriginsDictionary - - ABA3617E9F0148F844A82502F0D808DE6591AA97 - http://adam.ierymenko@git.int.zerotier.com/zerotier/zerotierone - - IDESourceControlProjectPath - ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - ABA3617E9F0148F844A82502F0D808DE6591AA97 - ../../../.. - - IDESourceControlProjectURL - http://adam.ierymenko@git.int.zerotier.com/zerotier/zerotierone - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - ABA3617E9F0148F844A82502F0D808DE6591AA97 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - ABA3617E9F0148F844A82502F0D808DE6591AA97 - IDESourceControlWCCName - ZeroTierOne - - - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 20281812..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index 659c8766..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 822ed3cb..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings b/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index 6ff33e60..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.h b/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.h deleted file mode 100644 index bf7370b5..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// AppDelegate.h -// MacGap -// -// Created by Alex MacCaw on 08/01/2012. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import -#import "Classes/ContentView.h" - -#import "WindowController.h" - -@interface AppDelegate : NSObject - -@property (retain, nonatomic) WindowController *windowController; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.m b/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.m deleted file mode 100644 index 3e25ca13..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/AppDelegate.m +++ /dev/null @@ -1,145 +0,0 @@ -// -// AppDelegate.m -// MacGap -// -// Created by Alex MacCaw on 08/01/2012. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "AppDelegate.h" -#include -#include - -@implementation AppDelegate - -@synthesize windowController; - -- (void) applicationWillFinishLaunching:(NSNotification *)aNotification -{ -} - --(BOOL)applicationShouldHandleReopen:(NSApplication*)application - hasVisibleWindows:(BOOL)visibleWindows{ - if(!visibleWindows){ - [self.windowController.window makeKeyAndOrderFront: nil]; - } - return YES; -} - -- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication { - return YES; -} - -- (void) applicationDidFinishLaunching:(NSNotification *)aNotification { - char buf[16384],userAuthTokenPath[4096]; - - FILE *pf = fopen("/Library/Application Support/ZeroTier/One/zerotier-one.port","r"); - long port = 9993; // default - if (pf) { - long n = fread(buf,1,sizeof(buf)-1,pf); - if (n > 0) { - buf[n] = (char)0; - port = strtol(buf,(char **)0,10); - } - fclose(pf); - } - - char url[16384]; - memset(url,0,sizeof(url)); - - const char *homeDir = getenv("HOME"); - if (homeDir) { - snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One/authtoken.secret",homeDir); - pf = fopen(userAuthTokenPath,"r"); - if (pf) { - long n = fread(buf,1,sizeof(buf)-1,pf); - if (n > 0) { - buf[n] = (char)0; - snprintf(url,sizeof(url),"http://127.0.0.1:%ld/index.html?authToken=%s",port,buf); - } - fclose(pf); - } - } - - if (!url[0]) { - // Create authorization reference - OSStatus status; - AuthorizationRef authorizationRef; - - // AuthorizationCreate and pass NULL as the initial - // AuthorizationRights set so that the AuthorizationRef gets created - // successfully, and then later call AuthorizationCopyRights to - // determine or extend the allowable rights. - // http://developer.apple.com/qa/qa2001/qa1172.html - status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &authorizationRef); - if (status != errAuthorizationSuccess) - { - NSLog(@"Error Creating Initial Authorization: %d", status); - return; - } - - // kAuthorizationRightExecute == "system.privilege.admin" - AuthorizationItem right = {kAuthorizationRightExecute, 0, NULL, 0}; - AuthorizationRights rights = {1, &right}; - AuthorizationFlags flags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed | - kAuthorizationFlagPreAuthorize | kAuthorizationFlagExtendRights; - - // Call AuthorizationCopyRights to determine or extend the allowable rights. - status = AuthorizationCopyRights(authorizationRef, &rights, NULL, flags, NULL); - if (status != errAuthorizationSuccess) - { - NSLog(@"Copy Rights Unsuccessful: %d", status); - return; - } - - // use rm tool with -rf - char *tool = "/bin/cat"; - char *args[] = {"/Library/Application Support/ZeroTier/One/authtoken.secret", NULL}; - FILE *pipe = NULL; - - status = AuthorizationExecuteWithPrivileges(authorizationRef, tool, kAuthorizationFlagDefaults, args, &pipe); - if (status != errAuthorizationSuccess) - { - NSLog(@"Error: %d", status); - } - - if (pipe) { - long n = (long)fread(buf,1,sizeof(buf)-1,pipe); - if (n > 0) { - buf[n] = (char)0; - snprintf(url,sizeof(url),"http://127.0.0.1:%ld/index.html?authToken=%s",port,buf); - - if (homeDir) { - snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier",homeDir); - mkdir(userAuthTokenPath,0755); - snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One",homeDir); - mkdir(userAuthTokenPath,0755); - snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One/authtoken.secret",homeDir); - pf = fopen(userAuthTokenPath,"w"); - if (pf) { - fwrite(buf,1,strlen(buf),pf); - fclose(pf); - chmod(userAuthTokenPath,0600); - } - } - } - fclose(pipe); - } - - // The only way to guarantee that a credential acquired when you - // request a right is not shared with other authorization instances is - // to destroy the credential. To do so, call the AuthorizationFree - // function with the flag kAuthorizationFlagDestroyRights. - // http://developer.apple.com/documentation/Security/Conceptual/authorization_concepts/02authconcepts/chapter_2_section_7.html - status = AuthorizationFree(authorizationRef, kAuthorizationFlagDestroyRights); - } - - NSString *urlStr = [[NSString alloc] initWithCString:url]; - self.windowController = [[WindowController alloc] initWithURL: urlStr]; - [self.windowController showWindow: [NSApplication sharedApplication].delegate]; - self.windowController.contentView.webView.alphaValue = 1.0; - self.windowController.contentView.alphaValue = 1.0; - [self.windowController showWindow:self]; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.h deleted file mode 100755 index 0f31ee41..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// CallbackDelegate.h -// MacGap -// -// Created by Joe Hildebrand on 1/10/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "Command.h" - -@interface CallbackDelegate : Command { -} - -@property JSObjectRef callback; - -- (id) initWithContext:(JSContextRef)aContext forCallback:(WebScriptObject*)aCallback; -- (id) call; -- (id) callWithParams:(id)firstOrNil, ... NS_REQUIRES_NIL_TERMINATION; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.m deleted file mode 100755 index 5ce8fbe3..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/CallbackDelegate.m +++ /dev/null @@ -1,168 +0,0 @@ -// -// CallbackDelegate.m -// MacGap -// -// Created by Joe Hildebrand on 1/10/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "CallbackDelegate.h" -#import - -@implementation CallbackDelegate - -@synthesize callback; - -- (id) initWithContext:(JSContextRef)aContext forCallback:(WebScriptObject*)aCallback -{ - if (!aCallback) - return nil; - if ([aCallback isKindOfClass:[WebUndefined class]]) - return nil; - - self = [super initWithContext:aContext]; - if (!self) - return nil; - - callback = [aCallback JSObject]; - JSValueProtect(context, callback); - return self; -} - -- (void) dealloc -{ - if (callback) - { - JSValueUnprotect(context, callback); - callback = nil; - } -} - -- (id) objectFromValue:(JSValueRef)val -{ - JSStringRef jstr; - NSString *rets; - - switch(JSValueGetType(context, val)) - { - case kJSTypeUndefined: - case kJSTypeNull: - return nil; - case kJSTypeBoolean: - return [NSNumber numberWithBool:JSValueToBoolean(context, val)]; - case kJSTypeNumber: - return [NSNumber numberWithDouble:JSValueToNumber(context, val, NULL)]; - case kJSTypeString: - jstr = JSValueToStringCopy(context, val, NULL); - size_t sz = JSStringGetMaximumUTF8CStringSize(jstr); - char *buf = (char*)malloc(sz); - JSStringGetUTF8CString(jstr, buf, sz); - rets = [NSString stringWithUTF8String:buf]; - free(buf); - return rets; - case kJSTypeObject: - // TODO: dictionary or something - return nil; - default: - NSAssert(false, @"Invalid JavaScript type"); - return nil; - } -} - -- (JSValueRef) valueFromObject:(id)obj -{ - JSValueRef val = nil; - if (!obj) - { - val = JSValueMakeNull(context); - } - else if ([obj isKindOfClass:[NSString class]]) - { - JSStringRef jstr = JSStringCreateWithUTF8CString([obj UTF8String]); - val = JSValueMakeString(context, jstr); - JSStringRelease(jstr); - } - else if ([obj isKindOfClass:[NSNumber class]]) - { - val = JSValueMakeNumber(context, [obj doubleValue]); - } - else if ([obj isKindOfClass:[NSDictionary class]]) - { - JSObjectRef o = JSObjectMake(context, NULL, NULL); - for (NSString *key in obj) - { - JSStringRef kstr = JSStringCreateWithUTF8CString([key UTF8String]); - JSValueRef v = [self valueFromObject:[obj objectForKey:key]]; - - JSObjectSetProperty(context, o, kstr, v, kJSPropertyAttributeNone, NULL); - JSStringRelease(kstr); - } - val = o; - } - else if ([obj isKindOfClass:[NSArray class]]) - { - NSUInteger pcount = [obj count]; - JSValueRef jsArgs[pcount]; - NSUInteger i=0; - for (id v in obj) - { - jsArgs[i++] = [self valueFromObject:v]; - } - val = JSObjectMakeArray(context, pcount, jsArgs, NULL); - } - else if ([obj isKindOfClass:[NSDate class]]) - { - NSTimeInterval secs = [obj timeIntervalSince1970]; - JSValueRef jsArgs[1]; - // call the Date(milliseconds) constructor in JS - jsArgs[0] = JSValueMakeNumber(context, secs * 1000.0); - val = JSObjectMakeDate(context, 1, jsArgs, NULL); - } - else - { - NSLog(@"Warning: unknown object type for: %@", obj); - val = JSValueMakeUndefined(context); - } - return val; -} - -- (id) call -{ - NSAssert(callback, @"Callback required"); - if (!JSObjectIsFunction(context, callback)) - return nil; - - JSValueRef jsArgs[0]; - JSValueRef ret = JSObjectCallAsFunction(context, callback, NULL, 0, jsArgs, NULL); - return [self objectFromValue:ret]; -} - -- (id) callWithParams:(id)firstOrNil, ... -{ - NSAssert(callback, @"Callback required"); - if (!JSObjectIsFunction(context, callback)) - return nil; - NSUInteger pcount = 0; - id p; - va_list args; - va_start(args, firstOrNil); - for (p=firstOrNil; p; p=va_arg(args, id)) - { - pcount++; - } - va_end(args); - - JSValueRef jsArgs[pcount]; - NSUInteger j = 0; - va_start(args, firstOrNil); - for (p=firstOrNil; p; p=va_arg(args, id)) - { - jsArgs[j++] = [self valueFromObject:p]; - } - va_end(args); - - JSValueRef ret = JSObjectCallAsFunction(context, callback, NULL, j, jsArgs, NULL); - return [self objectFromValue:ret]; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.h deleted file mode 100644 index f65ba61e..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -#import "WindowController.h" - -@interface App : NSObject { - -} - -@property (nonatomic, retain) WebView *webView; - -- (id) initWithWebView:(WebView *)view; - -- (void) terminate; -- (void) activate; -- (void) hide; -- (void) unhide; -- (void) beep; -- (void) bounce; -- (void) setCustomUserAgent:(NSString *)userAgentString; -- (NSNumber*) systemIdleTime; -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.m deleted file mode 100644 index 6d47a17e..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/App.m +++ /dev/null @@ -1,128 +0,0 @@ -#import "App.h" - -#import "JSEventHelper.h" - -@implementation App - -@synthesize webView; - -- (id) initWithWebView:(WebView *) view{ - self = [super init]; - - if (self) { - self.webView = view; - [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self - selector: @selector(receiveSleepNotification:) - name: NSWorkspaceWillSleepNotification object: NULL]; - [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self - selector: @selector(receiveWakeNotification:) - name: NSWorkspaceDidWakeNotification object: NULL]; - [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self - selector: @selector(receiveActivateNotification:) - name: NSWorkspaceDidActivateApplicationNotification object: NULL]; - } - - return self; -} - -- (void) terminate { - [NSApp terminate:nil]; -} - -- (void) activate { - [NSApp activateIgnoringOtherApps:YES]; -} - -- (void) hide { - [NSApp hide:nil]; -} - -- (void) unhide { - [NSApp unhide:nil]; -} - -- (void)beep { - NSBeep(); -} - -- (void) bounce { - [NSApp requestUserAttention:NSInformationalRequest]; -} - -- (void)setCustomUserAgent:(NSString *)userAgentString { - [self.webView setCustomUserAgent: userAgentString]; -} - -- (void) open:(NSString*)url { - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]]; -} - -- (void) launch:(NSString *)name { - [[NSWorkspace sharedWorkspace] launchApplication:name]; -} - -- (void)receiveSleepNotification:(NSNotification*)note{ - [JSEventHelper triggerEvent:@"sleep" forWebView:self.webView]; -} - -- (void) receiveWakeNotification:(NSNotification*)note{ - [JSEventHelper triggerEvent:@"wake" forWebView:self.webView]; -} - -- (void) receiveActivateNotification:(NSNotification*)notification{ - NSDictionary* userInfo = [notification userInfo]; - NSRunningApplication* runningApplication = [userInfo objectForKey:NSWorkspaceApplicationKey]; - if (runningApplication) { - NSMutableDictionary* applicationDidGetFocusDict = [[NSMutableDictionary alloc] initWithCapacity:2]; - [applicationDidGetFocusDict setObject:runningApplication.localizedName - forKey:@"localizedName"]; - [applicationDidGetFocusDict setObject:[runningApplication.bundleURL absoluteString] - forKey:@"bundleURL"]; - - [JSEventHelper triggerEvent:@"appActivated" withArgs:applicationDidGetFocusDict forWebView:self.webView]; - } -} - - - - -/* - To get the elapsed time since the previous input event—keyboard, mouse, or tablet—specify kCGAnyInputEventType. - */ -- (NSNumber*)systemIdleTime { - CFTimeInterval timeSinceLastEvent = CGEventSourceSecondsSinceLastEventType(kCGEventSourceStateHIDSystemState, kCGAnyInputEventType); - - return [NSNumber numberWithDouble:timeSinceLastEvent]; -} - - - - -+ (NSString*) webScriptNameForSelector:(SEL)selector -{ - id result = nil; - - if (selector == @selector(open:)) { - result = @"open"; - } else if (selector == @selector(launch:)) { - result = @"launch"; - } else if (selector == @selector(setCustomUserAgent:)) { - result = @"setCustomUserAgent"; - } else if (selector == @selector(systemIdleTime)) { - result = @"systemIdleTime"; - } - - return result; -} - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return NO; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.h deleted file mode 100755 index 65d6b6d4..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Command.h -// MacGap -// -// Created by Joe Hildebrand on 1/10/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import -#import - -@interface Command : NSObject { - JSContextRef context; -} - -- (id) initWithContext:(JSContextRef)aContext; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.m deleted file mode 100755 index 39b85630..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Command.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// Command.m -// MacGap -// -// Created by Joe Hildebrand on 1/10/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "Command.h" -#import - -@implementation Command - -- (id) initWithContext:(JSContextRef)aContext { - self = [super init]; - if (!self) - return nil; - context = aContext; - JSGlobalContextRetain((JSGlobalContextRef)context); - return self; -} - -- (void)dealloc -{ - if (context) - JSGlobalContextRelease((JSGlobalContextRef)context); -} -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.h deleted file mode 100644 index b3c533d7..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -@interface Dock : NSObject { - -} -- (void) setBadge:(NSString*)value; -- (NSString *) badge; - -@property (readwrite, copy) NSString *badge; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.m deleted file mode 100644 index a4494d16..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Dock.m +++ /dev/null @@ -1,31 +0,0 @@ -#import "Dock.h" - -@implementation Dock - -@synthesize badge; - -- (void) setBadge:(NSString *)value -{ - NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; - [tile setBadgeLabel:value]; -} - -- (NSString *) badge -{ - NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; - return [tile badgeLabel]; -} - -#pragma mark WebScripting Protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return NO; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return NO; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.h deleted file mode 100755 index d765978f..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// MenuItemProxy.h -// MacGap -// -// Created by Joe Hildebrand on 1/15/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "Command.h" -#import "CallbackDelegate.h" - -@class MenuProxy; - -@interface MenuItemProxy : Command { - NSMenuItem *item; - CallbackDelegate *callback; -} - -+ (MenuItemProxy*) proxyWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem; - -- (MenuProxy*)addSubmenu; - -- (void) remove; -- (void) setCallback:(WebScriptObject*)aCallback; -- (void) setKey:(NSString*)keyCommand; -- (void) setTitle:(NSString*)title; -- (void) enable; -- (void) disable; -- (MenuProxy*)submenu; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.m deleted file mode 100755 index 7b9702cc..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuItemProxy.m +++ /dev/null @@ -1,150 +0,0 @@ -// -// MenuItemProxy.m -// MacGap -// -// Created by Joe Hildebrand on 1/15/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "MenuItemProxy.h" -#import "MenuProxy.h" - -@implementation MenuItemProxy - -- (id) initWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem -{ - NSAssert(anItem, @"anItem required"); - self = [super initWithContext:aContext]; - if (!self) - return nil; - item = anItem; - item.representedObject = self; - - return self; -} - -+ (MenuItemProxy*) proxyWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem -{ - MenuItemProxy *proxy = [anItem representedObject]; - if (proxy) - { - NSLog(@"MIP Cache hit"); - NSAssert([proxy class] == [MenuItemProxy class], @"Bad proxy"); - return proxy; - } - return [[MenuItemProxy alloc] initWithContext:aContext andMenuItem:anItem]; -} - -- (NSString*) description -{ - return [item description]; -} - -- (MenuProxy*)addSubmenu -{ - NSMenu *s = [item submenu]; - if (!s) - { - s = [[NSMenu alloc] initWithTitle:@"FFFFFFOOOOO"]; - [item setSubmenu:s]; - } - return [MenuProxy proxyWithContext:context andMenu:s]; -} - -- (void) remove -{ - NSMenu *menu = [item menu]; - [menu removeItem:item]; -} - -- (void)callCallback:(id)sender -{ - [callback callWithParams:[sender title], nil]; -} - -- (void) setCallback:(WebScriptObject*)aCallback -{ - NSAssert(item, @"item required"); - callback = [[CallbackDelegate alloc] initWithContext:context forCallback:aCallback]; - [item setAction:@selector(callCallback:)]; - [item setTarget:self]; -} - -- (void)setKey:(NSString*)keyCommand -{ - NSString *aKey = [MenuProxy getKeyFromString:keyCommand]; - [item setKeyEquivalent:aKey]; - - NSUInteger modifiers = [MenuProxy getModifiersFromString:keyCommand]; - [item setKeyEquivalentModifierMask:modifiers]; -} - -- (void) setTitle:(NSString*)title -{ - [item setTitle:title]; -} - -- (MenuProxy*)submenu; -{ - // TODO: make this work as a property - NSMenu *s = [item submenu]; - if (!s) - return nil; - return [MenuProxy proxyWithContext:context andMenu:s]; -} - -- (void) enable -{ - [item setEnabled:YES]; -} - -- (void) disable -{ - [item setEnabled:NO]; -} - -#pragma mark WebScripting protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return [self webScriptNameForSelector:selector] == nil; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector -{ - id result = nil; - - if (selector == @selector(addSubmenu)) { - result = @"addSubmenu"; - } - else if (selector == @selector(remove)) { - result = @"remove"; - } - else if (selector == @selector(setCallback:)) { - result = @"setCallback"; - } - else if (selector == @selector(setKey:)) { - result = @"setKey"; - } - else if (selector == @selector(setTitle:)) { - result = @"setTitle"; - } - else if (selector == @selector(submenu)) { - result = @"submenu"; - } - else if (selector == @selector(enable)) { - result = @"enable"; - } - else if (selector == @selector(disable)) { - result = @"disable"; - } - - return result; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.h deleted file mode 100755 index afd6c6ed..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// MenuProxy.h -// MacGap -// -// Created by Joe Hildebrand on 1/14/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "Command.h" - -@class MenuItemProxy; - -@interface MenuProxy : Command { - NSMenu *menu; -} - -+ (MenuProxy*)proxyWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu; - -- (MenuItemProxy*)addItemWithTitle:(NSString*)title - keyEquivalent:(NSString*)aKey - callback:(WebScriptObject*)aCallback - atIndex:(NSInteger)index; - -- (MenuItemProxy*)addSeparator; -- (MenuItemProxy*)itemForKey:(id)key; -- (MenuProxy*)removeItem:(id)key; - -+ (NSString*)getKeyFromString:(NSString*)keyCommand; -+ (NSUInteger*)getModifiersFromString:(NSString*)keyCommand; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.m deleted file mode 100755 index 5bc10a76..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/MenuProxy.m +++ /dev/null @@ -1,233 +0,0 @@ -// -// MenuProxy.m -// MacGap -// -// Created by Joe Hildebrand on 1/14/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import -#import - -#import "MenuProxy.h" -#import "MenuItemProxy.h" - -static char REPRESENTED_OBJECT; - -@interface NSMenu (represented) -@property (strong) id representedObject; -@end - -@implementation NSMenu (represented) - -- (id) representedObject -{ - return objc_getAssociatedObject(self, &REPRESENTED_OBJECT); -} - -- (void) setRepresentedObject:(id)representedObject -{ - objc_setAssociatedObject(self, - &REPRESENTED_OBJECT, - representedObject, - OBJC_ASSOCIATION_RETAIN); -} - -@end - -@implementation MenuProxy - -- (id) initWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu -{ - self = [super initWithContext:aContext]; - if (!self) - return nil; - menu = aMenu; - menu.representedObject = self; - return self; -} - -+ (MenuProxy*)proxyWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu -{ - // singleton-ish. - MenuProxy *ret = [aMenu representedObject]; - if (ret) - { - NSLog(@"MP cache hit"); - return ret; - } - return [[MenuProxy alloc] initWithContext:aContext andMenu:aMenu]; -} - -- (void) dealloc -{ - menu.representedObject = nil; -} - -- (NSString*) description -{ - return [menu description]; -} - -static BOOL isNullish(id o) -{ - if (!o) - return YES; - if ([o isKindOfClass:[WebUndefined class]]) - return YES; - return NO; -} - -- (MenuItemProxy*)addItemWithTitle:(NSString*)title - keyEquivalent:(NSString*)keyCommand - callback:(WebScriptObject*)aCallback - atIndex:(NSInteger)index -{ - if (isNullish(title)) - title = @""; - - NSString *aKey = [MenuProxy getKeyFromString:keyCommand]; - NSMenuItem *item = nil; - - if(index) { - item = [menu insertItemWithTitle:title action:nil keyEquivalent:aKey atIndex:index ]; - } else { - item = [menu addItemWithTitle:title action:nil keyEquivalent:aKey ]; - - } - - // Set the modifiers. - NSUInteger modifiers = [MenuProxy getModifiersFromString:keyCommand]; - [item setKeyEquivalentModifierMask:modifiers]; - - if(!menu.supermenu) { - NSMenu *s = [[NSMenu alloc] initWithTitle:title]; - [item setSubmenu:s]; - } - - MenuItemProxy *mip = [MenuItemProxy proxyWithContext:context andMenuItem:item]; - if (!isNullish(aCallback)) - [mip setCallback:aCallback]; - - - return mip; -} - -+ (NSString*)getKeyFromString:(NSString*)keyCommand { - if (isNullish(keyCommand)) - keyCommand = @""; - - // Obtain the key (if there are modifiers, it will be the last character). - NSString *aKey = @""; - if ([keyCommand length] > 0) { - aKey = [keyCommand substringFromIndex:[keyCommand length] - 1]; - } - - return aKey; -} - -+ (NSUInteger*)getModifiersFromString:(NSString*)keyCommand { - // aKeys may optionally specify one or more modifiers. - NSUInteger modifiers = 0; - - if ([keyCommand rangeOfString:@"caps"].location != NSNotFound) modifiers += NSAlphaShiftKeyMask; - if ([keyCommand rangeOfString:@"shift"].location != NSNotFound) modifiers += NSShiftKeyMask; - if ([keyCommand rangeOfString:@"cmd"].location != NSNotFound) modifiers += NSCommandKeyMask; - if ([keyCommand rangeOfString:@"ctrl"].location != NSNotFound) modifiers += NSControlKeyMask; - if ([keyCommand rangeOfString:@"opt"].location != NSNotFound) modifiers += NSAlternateKeyMask; - if ([keyCommand rangeOfString:@"alt"].location != NSNotFound) modifiers += NSAlternateKeyMask; - - return modifiers; -} - -- (MenuItemProxy*)addSeparator -{ - NSMenuItem *sep = [NSMenuItem separatorItem]; - [menu addItem:sep]; - return [MenuItemProxy proxyWithContext:context andMenuItem:sep]; -} - -- (MenuItemProxy*)itemForKey:(id)key -{ - if (isNullish(key)) - return nil; - NSMenuItem *item = nil; - if ([key isKindOfClass:[NSNumber class]]) - { - item = [menu itemAtIndex:[key intValue]]; - } - else if ([key isKindOfClass:[NSString class]]) - { - item = [menu itemWithTitle:key]; - if (!item) - { - // Try again, with ... appended. e.g. "Save..." - item = [menu itemWithTitle: - [key stringByAppendingString:@"\u2026"]]; - } - } - if (!item) - return nil; - - return [MenuItemProxy proxyWithContext:context andMenuItem:item]; -} - -- (MenuProxy*)removeItem:(id)key -{ - if (isNullish(key)) - return nil; - - NSMenuItem *item = nil; - if ([key isKindOfClass:[NSNumber class]]) - { - item = [menu itemAtIndex:[key intValue]]; - } - else if ([key isKindOfClass:[NSString class]]) - { - item = [menu itemWithTitle:key]; - if (!item) - { - // Try again, with ... appended. e.g. "Save..." - item = [menu itemWithTitle: - [key stringByAppendingString:@"\u2026"]]; - } - } - if (!item) - return nil; - - [menu removeItem:item]; - return [MenuProxy proxyWithContext:context andMenu:menu]; -} - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return [self webScriptNameForSelector:selector] == nil; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector -{ - id result = nil; - - if (selector == @selector(addItemWithTitle:keyEquivalent:callback:atIndex:)) { - result = @"addItem"; - } - else if (selector == @selector(addSeparator)) { - result = @"addSeparator"; - } - else if (selector == @selector(itemForKey:)) { - result = @"getItem"; - } - else if (selector == @selector(removeItem:)) { - result = @"removeMenu"; - } - - return result; -} - - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.h deleted file mode 100644 index 51077a43..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// Notice.h -// MacGap -// -// Created by Christian Sullivan on 7/26/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import -#import "WindowController.h" - -#define APP_NOTICE_NOTIFICATION @"Notice" - -@interface Notice : NSObject { - -} - -@property (nonatomic, retain) WebView *webView; - -- (id) initWithWebView:(WebView *)view; -- (void) notify:(NSDictionary*)message; -- (void) close:(NSString*)notificationId; -+ (BOOL) available; - -@end - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.m deleted file mode 100644 index a4095f9f..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Notice.m +++ /dev/null @@ -1,108 +0,0 @@ -// -// Notice.m -// MacGap -// -// Created by Christian Sullivan on 7/26/12. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "Notice.h" - -#import "JSEventHelper.h" - -@implementation Notice - -- (id) initWithWebView:(WebView*)view -{ - if(self = [super init]) { - self.webView = view; - [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self]; - } - return self; -} - -- (void) notify:(NSDictionary *)message { - NSUserNotification *notification = [[NSUserNotification alloc] init]; - [notification setTitle:[message valueForKey:@"title"]]; - [notification setInformativeText:[message valueForKey:@"content"]]; - [notification setDeliveryDate:[NSDate dateWithTimeInterval:0 sinceDate:[NSDate date]]]; - BOOL playSound = true; // optional parameter, false only when {sound: false} - @try { - NSNumber *s = [message valueForKey:@"sound"]; - if ([[s className] isEqual: @"__NSCFBoolean"]) { - playSound = [s boolValue]; - } - } - @catch (NSException *exception) { - } - if (playSound) { - [notification setSoundName:NSUserNotificationDefaultSoundName]; - } - NSString *id = @""; // optional, needed for close - @try { - id = [message valueForKey:@"id"]; - } - @catch (NSException *exception) { - } - [notification setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:id, @"id", nil]]; - NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter]; - [center scheduleNotification:notification]; -} - -// close all notifications with id == notificationId or close all notifications if notificationId == "*" -- (void) close:(NSString*)notificationId { - NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter]; - for(NSUserNotification * deliveredNote in center.deliveredNotifications) { - if ([notificationId isEqualToString:@"*"] || [deliveredNote.userInfo[@"id"] isEqualToString:notificationId]) { - [center removeDeliveredNotification: deliveredNote]; - } - } -} - -+ (BOOL) available { - if ([NSUserNotificationCenter respondsToSelector:@selector(defaultUserNotificationCenter)]) - return YES; - - return NO; -} - -- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification -{ - NSString *notificationId = [notification.userInfo valueForKey:@"id"]; - [JSEventHelper triggerEvent:@"macgap.notify.activated" forDetail:notificationId forWebView:self.webView]; -} - -#pragma mark WebScripting Protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - BOOL result = YES; - if (selector == @selector(notify:)) - result = NO; - if (selector == @selector(close:)) - result = NO; - - return result; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector -{ - id result = nil; - - if (selector == @selector(notify:)) { - result = @"notify"; - } - if (selector == @selector(close:)) { - result = @"close"; - } - - return result; -} - -// right now exclude all properties (eg keys) -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.h deleted file mode 100644 index f931340d..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -@interface Path : NSObject { - -} - -- (NSString *) application; -- (NSString *) resource; -- (NSString *) documents; -- (NSString *) library; -- (NSString *) home; -- (NSString *) temp; - -@property (readonly,copy) NSString* application; -@property (readonly,copy) NSString* resource; -@property (readonly,copy) NSString* documents; -@property (readonly,copy) NSString* library; -@property (readonly,copy) NSString* home; -@property (readonly,copy) NSString* temp; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.m deleted file mode 100644 index 8c54100f..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Path.m +++ /dev/null @@ -1,53 +0,0 @@ -#import "Path.h" - -@implementation Path - -@synthesize application; -@synthesize resource; -@synthesize documents; -@synthesize library; -@synthesize home; -@synthesize temp; - -- (NSString *)application { - return [[NSBundle mainBundle] bundlePath]; -} - -- (NSString *)resource { - return [[NSBundle mainBundle] resourcePath]; -} - -- (NSString *)documents { - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - return [paths objectAtIndex:0]; -} - -- (NSString *)library { - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); - NSLog( @"%@", paths ); - return [paths objectAtIndex:0]; -} - -- (NSString *)home { - return NSHomeDirectory(); -} - -- (NSString *)temp { - return NSTemporaryDirectory(); -} - -#pragma mark WebScripting Protocol - -/* checks whether a selector is acceptable to be called from JavaScript */ -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return NO; -} - -// right now exclude all properties (eg keys) -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return NO; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.h deleted file mode 100644 index 06707643..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.h +++ /dev/null @@ -1,17 +0,0 @@ -#import -#import "Command.h" -#import "CallbackDelegate.h" - - -@interface Sound : Command { - -} - -// pending callbacks for sounds being played, to keep -// ARC from freeing them too early -@property (nonatomic, strong) NSMutableSet *pending; - -- (void) play:(NSString*)file onComplete:(WebScriptObject*)callback; -- (void) playSystem:(NSString*)name onComplete:(WebScriptObject*)callback; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.m deleted file mode 100644 index 9f4a44db..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/Sound.m +++ /dev/null @@ -1,97 +0,0 @@ -#import "Sound.h" - - -@interface PlayDelegate : CallbackDelegate { -} - -@property (nonatomic, weak) Sound *sound; - -- (id) initWithContext:(JSContextRef)aContext - forCallback:(WebScriptObject*)aCallback - withSound:(Sound*)aSound; -@end - -@implementation PlayDelegate - -@synthesize sound; - -- (id) initWithContext:(JSContextRef)aContext - forCallback:(WebScriptObject*)aCallback - withSound:(Sound*)aSound -{ - self = [super initWithContext:aContext forCallback:aCallback]; - if (!self) - return nil; - sound = aSound; - return self; -} - -- (void)sound:(NSSound *)aSound didFinishPlaying:(BOOL)finishedPlaying { - [self callWithParams:[aSound name], nil]; - [sound.pending removeObject:self]; -} - -@end - -@implementation Sound - -@synthesize pending; - -- (id) initWithContext:(JSContextRef)aContext { - self = [super initWithContext:aContext]; - if (!self) { - return nil; - } - - pending = [NSMutableSet new]; - return self; -} - -- (void) playSound:(NSSound*)sound onComplete:(WebScriptObject*)callback { - if (callback != (id)[WebUndefined undefined]) { - PlayDelegate *d = [[PlayDelegate alloc] initWithContext:context - forCallback:callback - withSound:self]; - [pending addObject:d]; - [sound setDelegate:d]; - } - [sound play]; -} - -- (void) play:(NSString*)file onComplete:(WebScriptObject*)callback { - NSURL* fileUrl = [NSURL fileURLWithPath:[[Utils sharedInstance] pathForResource:file]]; - DebugNSLog(@"Sound file:%@", [fileUrl description]); - - NSSound* sound = [[NSSound alloc] initWithContentsOfURL:fileUrl byReference:YES]; - [self playSound:sound onComplete:callback]; -} - -- (void) playSystem:(NSString*)name onComplete:(WebScriptObject*)callback { - NSSound *systemSound = [NSSound soundNamed:name]; - [self playSound:systemSound onComplete:callback]; -} - -#pragma mark WebScripting Protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { - return [self webScriptNameForSelector:selector] == nil; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name { - return YES; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector { - id result = nil; - - if (selector == @selector(play:onComplete:)) { - result = @"play"; - } - else if (selector == @selector(playSystem:onComplete:)) { - result = @"playSystem"; - } - - return result; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.h deleted file mode 100644 index 269191b3..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// UserDefaults.h -// MacGap -// -// Created by Jeff Hanbury on 16/04/2014. -// Copyright (c) 2014 Twitter. All rights reserved. -// - -#import - -#import "WindowController.h" - -@interface UserDefaults : NSObject - -@property (nonatomic, retain) WebView *webView; - -- (id) initWithWebView:(WebView *)view; -- (NSString*) getMyDefaults; -- (NSDictionary*) myDefaultsDictionary; -- (void) removeObjectForKey:(NSString*)key; -- (NSArray*) getUserDefaultsKeys; - -- (NSString*) addPrefix:(NSString*)key; - -- (void) setString:(NSString*)key withValue:(NSString*)value; -- (NSString*) getString:(NSString*)key; - -- (void) setInteger:(NSString*)key withValue:(NSString*)value; -- (NSNumber*) getInteger:(NSString*)key; - -- (void) setBool:(NSString*)key withValue:(NSString*)value; -- (NSNumber*) getBool:(NSString*)key; - -- (void) setFloat:(NSString*)key withValue:(NSString*)value; -- (NSNumber*) getFloat:(NSString*)key; - -// Could also be implemented: -//– setObject:forKey: -//– setDouble:forKey: -//– setURL:forKey: - -@end - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.m deleted file mode 100644 index 48568710..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/UserDefaults.m +++ /dev/null @@ -1,211 +0,0 @@ -// -// UserDefaults.m -// MacGap -// -// Created by Jeff Hanbury on 16/04/2014. -// Copyright (c) 2014 Twitter. All rights reserved. -// - -#import "UserDefaults.h" -#import "JSEventHelper.h" - -@interface UserDefaults() { - -} - --(void) setupNotificationCenter; - -@end - - -@implementation UserDefaults - -- (id) initWithWebView:(WebView *) view{ - self = [super init]; - - if (self) { - self.webView = view; - [self setupNotificationCenter]; - } - - return self; -} - - --(void) setupNotificationCenter{ - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(defaultsChanged:) - name:NSUserDefaultsDidChangeNotification - object:nil]; -} - -- (void)defaultsChanged:(NSNotification *)notification { - NSDictionary* returnDict = [self myDefaultsDictionary]; - [JSEventHelper triggerEvent:@"userDefaultsChanged" withArgs:returnDict forWebView:self.webView]; -} - -- (NSString*) getMyDefaults { - NSDictionary* myDefaults = [self myDefaultsDictionary]; - - return [[Utils sharedInstance] convertDictionaryToJSON:myDefaults]; -} - -- (NSDictionary*) myDefaultsDictionary { - NSString* prefix = [kWebScriptNamespace stringByAppendingString:@"_"]; - NSMutableDictionary* returnDict = [[NSMutableDictionary alloc] init]; - - // Get the user defaults. - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - - // Build up a dictionary containing just the items beginning with our - // prefix. - for (NSString* key in [self getUserDefaultsKeys]) { - if ([key hasPrefix:prefix]) { - id val = [defaults valueForKey:key]; - [returnDict setObject:val forKey:key]; - } - } - - return returnDict; -} - -- (NSArray*) getUserDefaultsKeys { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - return [[prefs dictionaryRepresentation] allKeys]; -} - -- (void) removeObjectForKey:(NSString*)key { - NSString* prefixedKey; - prefixedKey = [self addPrefix:key]; - - [[NSUserDefaults standardUserDefaults] removeObjectForKey:prefixedKey]; - [[NSUserDefaults standardUserDefaults] synchronize]; -} - -// Check we have a standard prefix for JS-modified keys, for security purposes. -// If not, add it. This stops JavaScript from ever being able to modify keys -// it did not create. -- (NSString*) addPrefix:(NSString*)key { - NSString* prefix; - prefix = [kWebScriptNamespace stringByAppendingString:@"_"]; - - if (![key hasPrefix:prefix]) { - key = [prefix stringByAppendingString:key]; - } - return key; -} - -// String - -- (void) setString:(NSString*)key withValue:(NSString*)value { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - NSString* prefixedKey; - prefixedKey = [self addPrefix:key]; - [prefs setObject:value forKey:prefixedKey]; -} - -- (NSString*) getString:(NSString *)key { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - return [prefs stringForKey:key]; -} - -// All the following must convert their type to NSNumber for JavaScript. - -// Integer - -- (void) setInteger:(NSString*)key withValue:(NSString*)value { - NSString* prefixedKey; - prefixedKey = [self addPrefix:key]; - - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - NSInteger myInt = [value intValue]; - [prefs setInteger:myInt forKey:prefixedKey]; -} - -- (NSNumber*) getInteger:(NSString *)key { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - return [NSNumber numberWithInteger:[prefs integerForKey:key]]; -} - -// Boolean - -- (void) setBool:(NSString*)key withValue:(NSString*)value { - NSString* prefixedKey; - prefixedKey = [self addPrefix:key]; - - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - BOOL myBool = [value boolValue]; - [prefs setBool:myBool forKey:prefixedKey]; -} - -- (NSNumber*) getBool:(NSString *)key { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - return [NSNumber numberWithBool:[prefs boolForKey:key]]; -} - -// Float - -- (void) setFloat:(NSString*)key withValue:(NSString*)value { - NSString* prefixedKey; - prefixedKey = [self addPrefix:key]; - - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - float myFloat = [value floatValue]; - [prefs setFloat:myFloat forKey:prefixedKey]; -} - -- (NSNumber*) getFloat:(NSString *)key { - NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; - return [NSNumber numberWithFloat:[prefs floatForKey:key]]; -} - - -#pragma mark WebScripting Protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { - return NO; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector { - id result = nil; - - if (selector == @selector(getMyDefaults)) { - result = @"getMyDefaults"; - } - - if (selector == @selector(removeObjectForKey:)) { - result = @"removeObjectForKey"; - } - - else if (selector == @selector(setString:withValue:)) { - result = @"setString"; - } else if (selector == @selector(getString:)) { - result = @"getString"; - } - - else if (selector == @selector(setInteger:withValue:)) { - result = @"setInteger"; - } else if (selector == @selector(getInteger:)) { - result = @"getInteger"; - } - - else if (selector == @selector(setBool:withValue:)) { - result = @"setBool"; - } else if (selector == @selector(getBool:)) { - result = @"getBool"; - } - - else if (selector == @selector(setFloat:withValue:)) { - result = @"setFloat"; - } else if (selector == @selector(getFloat:)) { - result = @"getFloat"; - } - - return result; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name { - return NO; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.h deleted file mode 100644 index 62c7b7e8..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.h +++ /dev/null @@ -1,9 +0,0 @@ -@interface Fonts : NSObject { -} - -- (NSArray*) availableFonts; -- (NSArray*) availableFontFamilies; -- (NSArray*) availableMembersOfFontFamily:(NSString*)fontFamily; -- (CGFloat) defaultLineHeightForFont:(NSString *)theFontName ofSize:(CGFloat)theFontSize; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.m deleted file mode 100644 index b17818a5..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Commands/fonts.m +++ /dev/null @@ -1,48 +0,0 @@ -#import "fonts.h" - -@implementation Fonts - - -- (NSArray*) availableFonts { - return [[NSFontManager sharedFontManager] availableFonts]; -} - -- (NSArray*) availableFontFamilies { - return [[NSFontManager sharedFontManager] availableFontFamilies]; -} - -- (NSArray*) availableMembersOfFontFamily:(NSString *)fontFamily { - return [[NSFontManager sharedFontManager] availableMembersOfFontFamily:fontFamily]; -} - -- (CGFloat) defaultLineHeightForFont:(NSString*)theFontName ofSize:(CGFloat)theFontSize { - NSFont *theFont = [NSFont fontWithName:theFontName size:theFontSize]; - NSLayoutManager *lm = [[NSLayoutManager alloc] init]; - - return [lm defaultLineHeightForFont:theFont]; -} - - -#pragma mark WebScripting Protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { - return NO; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector { - id result = nil; - - if (selector == @selector(availableMembersOfFontFamily:)) { - result = @"availableMembersOfFontFamily"; - } else if (selector == @selector(defaultLineHeightForFont:ofSize:)) { - result = @"defaultLineHeightForFont"; - } - - return result; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name { - return NO; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Constants.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Constants.h deleted file mode 100644 index 1fe59d6c..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Constants.h +++ /dev/null @@ -1,7 +0,0 @@ -// Application constants - -#define kStartPage @"http://127.0.0.1:9993/" - -#define kStartFolder @"." - -#define kWebScriptNamespace @"macgap" \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.h deleted file mode 100644 index 65890a5e..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.h +++ /dev/null @@ -1,15 +0,0 @@ -#import -#import - -@class WebViewDelegate; - -@interface ContentView : NSView { - IBOutlet WebView* webView; - WebViewDelegate* delegate; -} - -@property (retain) WebView* webView; -@property (retain) WebViewDelegate* delegate; -@property (strong) IBOutlet NSMenu *mainMenu; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.m deleted file mode 100644 index 24e58cd1..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/ContentView.m +++ /dev/null @@ -1,68 +0,0 @@ -#import "ContentView.h" -#import "WebViewDelegate.h" -#import "AppDelegate.h" -#import "JSEventHelper.h" - -@interface WebPreferences (WebPreferencesPrivate) - - (void)_setLocalStorageDatabasePath:(NSString *)path; - - (void) setLocalStorageEnabled: (BOOL) localStorageEnabled; - - (void) setDatabasesEnabled:(BOOL)databasesEnabled; - - (void) setDeveloperExtrasEnabled:(BOOL)developerExtrasEnabled; - - (void) setWebGLEnabled:(BOOL)webGLEnabled; - - (void) setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled; -@end - -@implementation ContentView - -@synthesize webView, delegate, mainMenu; - -- (void) awakeFromNib -{ - WebPreferences *webPrefs = [WebPreferences standardPreferences]; - - NSString *cappBundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]; - NSString *applicationSupportFile = [@"~/Library/Application Support/" stringByExpandingTildeInPath]; - NSString *savePath = [NSString pathWithComponents:[NSArray arrayWithObjects:applicationSupportFile, cappBundleName, @"LocalStorage", nil]]; - [webPrefs _setLocalStorageDatabasePath:savePath]; - [webPrefs setLocalStorageEnabled:YES]; - [webPrefs setDatabasesEnabled:YES]; - [webPrefs setDeveloperExtrasEnabled:[[NSUserDefaults standardUserDefaults] boolForKey: @"developer"]]; - [webPrefs setOfflineWebApplicationCacheEnabled:YES]; - [webPrefs setWebGLEnabled:YES]; - - [self.webView setPreferences:webPrefs]; - - NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage - sharedHTTPCookieStorage]; - [cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; - - [self.webView setApplicationNameForUserAgent: @"MacGap"]; - - self.delegate = [[WebViewDelegate alloc] initWithMenu:[NSApp mainMenu]]; - [self.webView setFrameLoadDelegate:self.delegate]; - [self.webView setUIDelegate:self.delegate]; - [self.webView setResourceLoadDelegate:self.delegate]; - [self.webView setDownloadDelegate:self.delegate]; - [self.webView setPolicyDelegate:self.delegate]; - [self.webView setDrawsBackground:NO]; - [self.webView setShouldCloseWithWindow:NO]; - - [self.webView setGroupName:@"MacGap"]; - -} - -- (void) windowResized:(NSNotification*)notification; -{ - NSWindow* window = (NSWindow*)notification.object; - NSSize size = [window frame].size; - - DebugNSLog(@"window width = %f, window height = %f", size.width, size.height); - - bool isFullScreen = (window.styleMask & NSFullScreenWindowMask) == NSFullScreenWindowMask; - int titleBarHeight = isFullScreen ? 0 : [[Utils sharedInstance] titleBarHeight:window]; - - [self.webView setFrame:NSMakeRect(0, 0, size.width, size.height - titleBarHeight)]; - [JSEventHelper triggerEvent:@"orientationchange" forWebView:self.webView]; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.h deleted file mode 100644 index 401f3e39..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Helper.h -// MacGap -// -// Created by Liam Kaufman Simpkins on 12-01-22. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import -#import "WindowController.h" - -@interface JSEventHelper : NSObject - -+ (void) triggerEvent:(NSString *)event forWebView:(WebView *)webView; -+ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forWebView:(WebView *)webView; -+ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forObject:(NSString *)objName forWebView:(WebView *)webView; -+ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forWebView:(WebView *)webView; -+ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forObject:(NSString *)objName forWebView:(WebView *)webView; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.m deleted file mode 100644 index 65406b3c..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/JSEventHelper.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// Helper.m -// MacGap -// -// Created by Liam Kaufman Simpkins on 12-01-22. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import "JSEventHelper.h" - -@implementation JSEventHelper - -+ (void) triggerEvent:(NSString *)event forWebView:(WebView *)webView { - [self triggerEvent:event withArgs:[NSMutableDictionary dictionary] forObject:@"document" forWebView:webView]; -} - -+ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forWebView:(WebView *)webView { - [self triggerEvent:event withArgs:args forObject:@"document" forWebView:webView]; -} - -+ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forObject:(NSString *)objName forWebView:(WebView *)webView { - - // Convert args Dictionary to JSON. - NSString* jsonString = [[Utils sharedInstance] convertDictionaryToJSON:args]; - - // Create the event JavaScript and run it. - NSString * str = [NSString stringWithFormat:@"var e = document.createEvent('Events'); e.initEvent('%@', true, false); e.data=%@; %@.dispatchEvent(e); ", event, jsonString, objName]; - [webView stringByEvaluatingJavaScriptFromString:str]; -} - -+ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forWebView:(WebView *)webView { - [self triggerEvent:event forDetail:detail forObject:@"document" forWebView:webView]; -} - -+ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forObject:(NSString *)objName forWebView:(WebView *)webView { - NSString *detailEscaped = [detail stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; - NSString *str = [NSString stringWithFormat:@"var e = new CustomEvent('%@', { 'detail': decodeURIComponent(\"%@\") }); %@.dispatchEvent(e); ", event, detailEscaped, objName]; - [webView stringByEvaluatingJavaScriptFromString:str]; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.h deleted file mode 100644 index f573d881..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.h +++ /dev/null @@ -1,20 +0,0 @@ -#import -#import - -#define DEG_EPS 0.001 -#define fequal(a,b) (fabs((a) - (b)) < DEG_EPS) -#define fequalzero(a) (fabs(a) < DEG_EPS) - -@class LoadingView; - -@interface Utils : NSObject { -} - -- (float) titleBarHeight:(NSWindow*)aWindow; -- (NSString*) pathForResource:(NSString*)resourcepath; -- (NSString*) convertDictionaryToJSON:(NSDictionary*)dict; -- (NSArray*) convertJSarrayToNSArray:(WebScriptObject*)jsArray; - -+ (Utils*) sharedInstance; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.m deleted file mode 100644 index 8d85c294..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Utils.m +++ /dev/null @@ -1,93 +0,0 @@ -#import "Utils.h" -#import - -static Utils* sharedInstance = nil; - -@implementation Utils - -- (float) titleBarHeight:(NSWindow*)aWindow -{ - NSRect frame = [aWindow frame]; - NSRect contentRect = [NSWindow contentRectForFrameRect: frame - styleMask: NSTitledWindowMask]; - - return (frame.size.height - contentRect.size.height); -} - -- (NSString*) pathForResource:(NSString*)resourcepath -{ - NSBundle * mainBundle = [NSBundle mainBundle]; - NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[resourcepath componentsSeparatedByString:@"/"]]; - NSString *filename = [directoryParts lastObject]; - [directoryParts removeLastObject]; - - NSString *directoryStr = [NSString stringWithFormat:@"%@/%@", kStartFolder, [directoryParts componentsJoinedByString:@"/"]]; - return [mainBundle pathForResource:filename - ofType:@"" - inDirectory:directoryStr]; -} - -- (NSString*) convertDictionaryToJSON:(NSDictionary*)dict { - // Convert defaults Dictionary to JSON. - NSError *error; - NSData *jsonData = [NSJSONSerialization - dataWithJSONObject:dict - options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string - error:&error]; - - NSString *jsonString; - if (! jsonData) { - NSLog(@"Got an error converting to JSON: %@", error); - } - else { - jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; - } - - return jsonString; -} - -// Convert JavaScript array (arrives as a WebScriptObject) into an NSArray of strings. -- (NSArray*) convertJSarrayToNSArray:(WebScriptObject*)jsArray { - NSInteger count = [[jsArray valueForKey:@"length"] integerValue]; - - NSMutableArray *args = [NSMutableArray array]; - for (int i = 0; i < count; i++) { - NSString *item = [jsArray webScriptValueAtIndex:i]; - if ([item isKindOfClass:[NSString class]]) { - [args addObject:item]; - } - } - - return args; -} - -#pragma mark - -#pragma mark Singleton methods - -+ (Utils*) sharedInstance -{ - @synchronized(self) - { - if (sharedInstance == nil){ - sharedInstance = [[Utils alloc] init]; - } - } - return sharedInstance; -} - -+ (id) allocWithZone:(NSZone *)zone { - @synchronized(self) { - if (sharedInstance == nil) { - sharedInstance = [super allocWithZone:zone]; - return sharedInstance; // assignment and return on first allocation - } - } - return nil; // on subsequent allocation attempts return nil -} - -- (id) copyWithZone:(NSZone *)zone -{ - return self; -} - -@end \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.h deleted file mode 100644 index 49c6da6b..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.h +++ /dev/null @@ -1,49 +0,0 @@ -#import -#import - -@class Sound; -@class Dock; -@class Growl; -@class Notice; -@class Path; -@class App; -@class Window; -@class Clipboard; -@class Fonts; -@class MenuProxy; -@class UserDefaults; - -@class WindowController; - -@interface WebViewDelegate : NSObject { - Sound* sound; - Dock* dock; - Growl* growl; - Notice* notice; - Path* path; - App* app; - Window* window; - Clipboard* clipboard; - Fonts* fonts; - NSMenu *mainMenu; - UserDefaults* userDefaults; -} - - - -@property (nonatomic, retain) Sound* sound; -@property (nonatomic, retain) Dock* dock; -@property (nonatomic, retain) Growl* growl; -@property (nonatomic, retain) Notice* notice; -@property (nonatomic, retain) Path* path; -@property (nonatomic, retain) App* app; -@property (nonatomic, retain) Window* window; -@property (nonatomic, retain) Clipboard* clipboard; -@property (nonatomic, retain) Fonts* fonts; -@property (nonatomic, retain) MenuProxy* menu; -@property (nonatomic, retain) UserDefaults* userDefaults; - -@property (nonatomic, retain) WindowController *requestedWindow; - -- (id) initWithMenu:(NSMenu*)menu; -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.m deleted file mode 100644 index 50578018..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/WebViewDelegate.m +++ /dev/null @@ -1,206 +0,0 @@ -#import "WebViewDelegate.h" -#import "Sound.h" -#import "Dock.h" -#import "Notice.h" -#import "Path.h" -#import "App.h" -#import "Window.h" -#import "WindowController.h" -#import "Clipboard.h" -#import "Fonts.h" -#import "MenuProxy.h" -#import "UserDefaults.h" - -@implementation WebViewDelegate - -@synthesize sound; -@synthesize dock; -@synthesize growl; -@synthesize notice; -@synthesize path; -@synthesize app; -@synthesize window; -@synthesize requestedWindow; -@synthesize clipboard; -@synthesize fonts; -@synthesize menu; -@synthesize userDefaults; - -- (id) initWithMenu:(NSMenu*)aMenu -{ - self = [super init]; - if (!self) - return nil; - - mainMenu = aMenu; - return self; -} - -- (void) webView:(WebView*)webView didClearWindowObject:(WebScriptObject*)windowScriptObject forFrame:(WebFrame *)frame -{ - JSContextRef context = [frame globalContext]; - if (self.sound == nil) { self.sound = [[Sound alloc] initWithContext:context]; } - if (self.dock == nil) { self.dock = [Dock new]; } - if (self.path == nil) { self.path = [Path new]; } - if (self.clipboard == nil) { self.clipboard = [Clipboard new]; } - if (self.fonts == nil) { self.fonts = [Fonts new]; } - - if (self.notice == nil && [Notice available] == YES) { - self.notice = [[Notice alloc] initWithWebView:webView]; - } - - if (self.app == nil) { - self.app = [[App alloc] initWithWebView:webView]; - } - - if (self.window == nil) { - self.window = [[Window alloc] initWithWebView:webView]; - } - - if (self.menu == nil) { - self.menu = [MenuProxy proxyWithContext:context andMenu:mainMenu]; - } - - if (self.userDefaults == nil) { - self.userDefaults = [[UserDefaults alloc] initWithWebView:webView]; - } - - [windowScriptObject setValue:self forKey:kWebScriptNamespace]; -} - - -- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id < WebOpenPanelResultListener >)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles{ - - NSOpenPanel * openDlg = [NSOpenPanel openPanel]; - - [openDlg setCanChooseFiles:YES]; - [openDlg setCanChooseDirectories:NO]; - - [openDlg beginWithCompletionHandler:^(NSInteger result){ - if (result == NSFileHandlingPanelOKButton) { - NSArray * files = [[openDlg URLs] valueForKey: @"relativePath"]; - [resultListener chooseFilenames: files]; - } else { - [resultListener cancel]; - } - }]; -} - -- (void) webView:(WebView*)webView addMessageToConsole:(NSDictionary*)message -{ - if (![message isKindOfClass:[NSDictionary class]]) { - return; - } - - NSLog(@"JavaScript console: %@:%@: %@", - [[message objectForKey:@"sourceURL"] lastPathComponent], // could be nil - [message objectForKey:@"lineNumber"], - [message objectForKey:@"message"]); -} - -- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame -{ - NSAlert *alert = [[NSAlert alloc] init]; - [alert addButtonWithTitle:@"OK"]; - [alert setMessageText:message]; - [alert setAlertStyle:NSWarningAlertStyle]; - [alert runModal]; -} - -- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame -{ - NSAlert *alert = [[NSAlert alloc] init]; - [alert addButtonWithTitle:@"Yes"]; - [alert addButtonWithTitle:@"No"]; - [alert setMessageText:message]; - [alert setAlertStyle:NSWarningAlertStyle]; - - if ([alert runModal] == NSAlertFirstButtonReturn) - return YES; - else - return NO; -} - -/* - By default the size of a database is set to 0 [1]. When a database is being created - it calls this delegate method to get an increase in quota size - or call an error. - PS this method is defined in WebUIDelegatePrivate and may make it difficult, but - not impossible [2], to get an app accepted into the mac app store. - - Further reading: - [1] http://stackoverflow.com/questions/353808/implementing-a-webview-database-quota-delegate - [2] http://stackoverflow.com/questions/4527905/how-do-i-enable-local-storage-in-my-webkit-based-application/4608549#4608549 - */ -- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(id) origin database:(NSString *)databaseIdentifier -{ - static const unsigned long long defaultQuota = 5 * 1024 * 1024; - if ([origin respondsToSelector: @selector(setQuota:)]) { - [origin performSelector:@selector(setQuota:) withObject:[NSNumber numberWithLongLong: defaultQuota]]; - } else { - NSLog(@"could not increase quota for %lld", defaultQuota); - } -} - -- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems -{ - NSMutableArray *webViewMenuItems = [defaultMenuItems mutableCopy]; - - if (webViewMenuItems) - { - NSEnumerator *itemEnumerator = [defaultMenuItems objectEnumerator]; - NSMenuItem *menuItem = nil; - while ((menuItem = [itemEnumerator nextObject])) - { - NSInteger tag = [menuItem tag]; - - switch (tag) - { - case WebMenuItemTagOpenLinkInNewWindow: - case WebMenuItemTagDownloadLinkToDisk: - case WebMenuItemTagCopyLinkToClipboard: - case WebMenuItemTagOpenImageInNewWindow: - case WebMenuItemTagDownloadImageToDisk: - case WebMenuItemTagCopyImageToClipboard: - case WebMenuItemTagOpenFrameInNewWindow: - case WebMenuItemTagGoBack: - case WebMenuItemTagGoForward: - case WebMenuItemTagStop: - case WebMenuItemTagOpenWithDefaultApplication: - case WebMenuItemTagReload: - [webViewMenuItems removeObjectIdenticalTo: menuItem]; - } - } - } - - return webViewMenuItems; -} - -- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request{ - requestedWindow = [[WindowController alloc] initWithRequest:request]; - return requestedWindow.contentView.webView; -} - -- (void)webViewShow:(WebView *)sender{ - [requestedWindow showWindow:sender]; -} - -- (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id < WebPolicyDecisionListener >)listener -{ - [[NSWorkspace sharedWorkspace] openURL:[request URL]]; - [listener ignore]; -} - -#pragma mark WebScripting protocol - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return YES; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return NO; -} - - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.h b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.h deleted file mode 100644 index f721376e..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -#import "WindowController.h" - -@interface Window : NSObject{ - CGRect _oldRestoreFrame; -} - -@property (retain, nonatomic) WindowController *windowController; -@property (nonatomic, retain) WebView *webView; - -- (id) initWithWebView:(WebView *)view; -- (void) open:(NSDictionary *)properties; -- (void) move:(NSDictionary *)properties; -- (void) resize:(NSDictionary *) properties; -- (Boolean) isMaximized; -- (CGFloat) getX; -- (CGFloat) getY; -- (void) maximize; -- (void) restore; -- (void) toggleFullscreen; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.m b/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.m deleted file mode 100644 index 2444f62e..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Classes/Window.m +++ /dev/null @@ -1,94 +0,0 @@ -#import "Window.h" - -@implementation Window - -@synthesize windowController, webView; - -- (id) initWithWebView:(WebView*)view -{ - if(self = [super init]) { - self.webView = view; - } - return self; -} - -- (void) open:(NSDictionary *)properties -{ - self.windowController = [[WindowController alloc] initWithURL:[properties valueForKey:@"url"]]; - [self.windowController showWindow: [NSApplication sharedApplication].delegate]; - [self.windowController.window makeKeyWindow]; -} - -- (void) minimize { - [[NSApp mainWindow] miniaturize:[NSApp mainWindow]]; -} - -- (void) toggleFullscreen { - [[NSApp mainWindow] toggleFullScreen:[NSApp mainWindow]]; -} - -- (void) maximize { - CGRect a = [NSApp mainWindow].frame; - _oldRestoreFrame = CGRectMake(a.origin.x, a.origin.y, a.size.width, a.size.height); - [[NSApp mainWindow] setFrame:[[NSScreen mainScreen] visibleFrame] display:YES]; -} - -- (Boolean) isMaximized { - NSRect a = [NSApp mainWindow].frame; - NSRect b = [[NSScreen mainScreen] visibleFrame]; - return a.origin.x == b.origin.x && a.origin.y == b.origin.y && a.size.width == b.size.width && a.size.height == b.size.height; -} - -- (CGFloat) getX { - NSRect frame = [self.webView window].frame; - return frame.origin.x; -} - -- (CGFloat) getY { - NSRect frame = [self.webView window].frame; - return frame.origin.y; -} - -- (void) move:(NSDictionary *)properties -{ - NSRect frame = [self.webView window].frame; - frame.origin.x = [[properties valueForKey:@"x"] doubleValue]; - frame.origin.y = [[properties valueForKey:@"y"] doubleValue]; - [[self.webView window] setFrame:frame display:YES]; - -} - -- (void) resize:(NSDictionary *) properties -{ - NSRect frame = [self.webView window].frame; - frame.size.width = [[properties valueForKey:@"width"] doubleValue]; - frame.size.height = [[properties valueForKey:@"height"] doubleValue]; - [[self.webView window] setFrame:frame display:YES]; -} - - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return NO; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector{ - id result = nil; - - if (selector == @selector(open:)) { - result = @"open"; - }else if (selector == @selector(move:)){ - result = @"move"; - }else if (selector == @selector(resize:)){ - result = @"resize"; - } - - return result; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.h b/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.h deleted file mode 100644 index 6c1a2f51..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@interface Clipboard : NSObject { - -} - -- (void) copy:(NSString*)text; -- (NSString *) paste; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.m b/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.m deleted file mode 100644 index 1c18dea3..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Clipboard.m +++ /dev/null @@ -1,51 +0,0 @@ -// -// clipboard.m -// MacGap -// -// Created by David Zorychta on 2013-07-22. -// Copyright (c) 2013 Twitter. All rights reserved. -// - -#import "Clipboard.h" - -@implementation Clipboard - -- (void) copy:(NSString*)text { - [[NSPasteboard generalPasteboard] clearContents]; - [[NSPasteboard generalPasteboard] setString:text forType:NSStringPboardType]; -} - -- (NSString *) paste { - NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; - NSArray *classArray = [NSArray arrayWithObject:[NSString class]]; - NSDictionary *options = [NSDictionary dictionary]; - BOOL ok = [pasteboard canReadObjectForClasses:classArray options:options]; - if (ok) { - NSArray *objectsToPaste = [pasteboard readObjectsForClasses:classArray options:options]; - return (NSString *) [objectsToPaste objectAtIndex:0]; - } - return @""; -} - -+ (NSString*) webScriptNameForSelector:(SEL)selector -{ - id result = nil; - - if (selector == @selector(copy:)) { - result = @"copy"; - } - - return result; -} - -+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector -{ - return NO; -} - -+ (BOOL) isKeyExcludedFromWebScript:(const char*)name -{ - return YES; -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2592eae9..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "scale" : "2x", - "size" : "16x16" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "application16x16.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "application32x32.png", - "scale" : "1x" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "32x32" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "application128x128.png", - "scale" : "1x" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "128x128" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "application256x256.png", - "scale" : "1x" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "256x256" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "application512x512.png", - "scale" : "1x" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "512x512" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png deleted file mode 100644 index 93dd80a1..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png deleted file mode 100644 index 3aa19da6..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png deleted file mode 100644 index c30106b7..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png deleted file mode 100644 index 05ff6cb8..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png b/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png deleted file mode 100644 index b6b9da61..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Info.plist b/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Info.plist deleted file mode 100644 index 3730da8f..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ZeroTier One - CFBundleIdentifier - com.zerotier.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ZeroTier One - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSApplicationCategoryType - public.app-category.utilities - LSMinimumSystemVersion - ${MACOSX_DEPLOYMENT_TARGET} - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Prefix.pch b/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Prefix.pch deleted file mode 100644 index ad05e842..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/MacGap-Prefix.pch +++ /dev/null @@ -1,15 +0,0 @@ -// -// Prefix header for all source files of the 'MacGap' target in the 'MacGap' project -// - -#ifdef __OBJC__ - #ifdef _DEBUG - #define DebugNSLog(format, ...) NSLog(format, ## __VA_ARGS__) - #else - #define DebugNSLog(format, ...) - #endif - - #import - #import "Constants.h" - #import "Utils.h" -#endif diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.h b/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.h deleted file mode 100644 index 72927eff..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.h +++ /dev/null @@ -1,13 +0,0 @@ -#import -#import "ContentView.h" - -@interface WindowController : NSWindowController { - -} - -- (id) initWithURL:(NSString *) url; -- (id) initWithRequest: (NSURLRequest *)request; -@property (retain) NSURL * url; -@property (retain) IBOutlet ContentView *contentView; - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.m b/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.m deleted file mode 100644 index 2765a2e3..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/WindowController.m +++ /dev/null @@ -1,54 +0,0 @@ -#import "WindowController.h" - - -@interface WindowController() { - -} - --(void) notificationCenter; - -@end - -@implementation WindowController - -@synthesize contentView, url; - -- (id) initWithURL:(NSString *) relativeURL{ - self = [super initWithWindowNibName:@"Window"]; - self.url = [NSURL URLWithString:relativeURL relativeToURL:[[NSBundle mainBundle] resourceURL]]; - - [self.window setFrameAutosaveName:@"MacGapWindow"]; - [self notificationCenter]; - - return self; -} - --(id) initWithRequest: (NSURLRequest *)request{ - self = [super initWithWindowNibName:@"Window"]; - [self notificationCenter]; - [[self.contentView.webView mainFrame] loadRequest:request]; - - return self; -} - --(void) notificationCenter{ - [[NSNotificationCenter defaultCenter] addObserver:self.contentView - selector:@selector(windowResized:) - name:NSWindowDidResizeNotification - object:[self window]]; -} - -- (void)windowDidLoad -{ - [super windowDidLoad]; - - if (self.url != nil) { - [self.contentView.webView setMainFrameURL:[self.url absoluteString]]; - } - - - // Implement this method to handle any initialization after your - // window controller's window has been loaded from its nib file. -} - -@end diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Credits.rtf b/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Credits.rtf deleted file mode 100644 index 6f388f66..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Credits.rtf +++ /dev/null @@ -1,13 +0,0 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1347\cocoasubrtf570 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\vieww9600\viewh8400\viewkind0 -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\b\fs24 \cf0 (c)2011-2015 ZeroTier, Inc.\ -Licensed under the GNU GPLv3\ -\ -UI Wrapper MacGap (c) Twitter, Inc.\ -Licensed under the MIT License\ -http://macgap.com/\ -} \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/InfoPlist.strings b/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28ff..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/MainMenu.xib b/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/MainMenu.xib deleted file mode 100644 index 998c505a..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/MainMenu.xib +++ /dev/null @@ -1,3404 +0,0 @@ - - - - 1080 - 14D136 - 7702 - 1347.57 - 758.70 - - com.apple.InterfaceBuilder.CocoaPlugin - 7702 - - - NSCustomObject - NSMenu - NSMenuItem - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AppDelegate - - - AMainMenu - - - - ZeroTier One - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - - ZeroTier One - - - - About ZeroTier One - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide MacGap - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit ZeroTier One - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - - File - - 1048576 - 2147483647 - - - submenuAction: - - - File - - - - New - n - 1048576 - 2147483647 - - - - - - Open… - o - 1048576 - 2147483647 - - - - - - Open Recent - - 1048576 - 2147483647 - - - submenuAction: - - - Open Recent - - - - Clear Menu - - 1048576 - 2147483647 - - - - - _NSRecentDocumentsMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Close - w - 1048576 - 2147483647 - - - - - - Save… - s - 1048576 - 2147483647 - - - - - - Revert to Saved - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Page Setup... - P - 1179648 - 2147483647 - - - - - - - Print… - p - 1048576 - 2147483647 - - - - - - - - - Edit - - 1048576 - 2147483647 - - - submenuAction: - - - Edit - - - - Undo - z - 1048576 - 2147483647 - - - - - - Redo - Z - 1179648 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Cut - x - 1048576 - 2147483647 - - - - - - Copy - c - 1048576 - 2147483647 - - - - - - Paste - v - 1048576 - 2147483647 - - - - - - Paste and Match Style - V - 1572864 - 2147483647 - - - - - - Delete - - 1048576 - 2147483647 - - - - - - Select All - a - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Find - - 1048576 - 2147483647 - - - submenuAction: - - - Find - - - - Find… - f - 1048576 - 2147483647 - - - 1 - - - - Find and Replace… - f - 1572864 - 2147483647 - - - 12 - - - - Find Next - g - 1048576 - 2147483647 - - - 2 - - - - Find Previous - G - 1179648 - 2147483647 - - - 3 - - - - Use Selection for Find - e - 1048576 - 2147483647 - - - 7 - - - - Jump to Selection - j - 1048576 - 2147483647 - - - - - - - - - Spelling and Grammar - - 1048576 - 2147483647 - - - submenuAction: - - - Spelling and Grammar - - - - Show Spelling and Grammar - : - 1048576 - 2147483647 - - - - - - Check Document Now - ; - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Check Spelling While Typing - - 1048576 - 2147483647 - - - - - - Check Grammar With Spelling - - 1048576 - 2147483647 - - - - - - Correct Spelling Automatically - - 2147483647 - - - - - - - - - Substitutions - - 1048576 - 2147483647 - - - submenuAction: - - - Substitutions - - - - Show Substitutions - - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Smart Copy/Paste - f - 1048576 - 2147483647 - - - 1 - - - - Smart Quotes - g - 1048576 - 2147483647 - - - 2 - - - - Smart Dashes - - 2147483647 - - - - - - Smart Links - G - 1179648 - 2147483647 - - - 3 - - - - Text Replacement - - 2147483647 - - - - - - - - - Transformations - - 2147483647 - - - submenuAction: - - - Transformations - - - - Make Upper Case - - 2147483647 - - - - - - Make Lower Case - - 2147483647 - - - - - - Capitalize - - 2147483647 - - - - - - - - - Speech - - 1048576 - 2147483647 - - - submenuAction: - - - Speech - - - - Start Speaking - - 1048576 - 2147483647 - - - - - - Stop Speaking - - 1048576 - 2147483647 - - - - - - - - - - - - Format - - 2147483647 - - - submenuAction: - - - Format - - - - Font - - 2147483647 - - - submenuAction: - - - Font - - - - Show Fonts - t - 1048576 - 2147483647 - - - - - - Bold - b - 1048576 - 2147483647 - - - 2 - - - - Italic - i - 1048576 - 2147483647 - - - 1 - - - - Underline - u - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Bigger - + - 1048576 - 2147483647 - - - 3 - - - - Smaller - - - 1048576 - 2147483647 - - - 4 - - - - YES - YES - - - 2147483647 - - - - - - Kern - - 2147483647 - - - submenuAction: - - - Kern - - - - Use Default - - 2147483647 - - - - - - Use None - - 2147483647 - - - - - - Tighten - - 2147483647 - - - - - - Loosen - - 2147483647 - - - - - - - - - Ligature - - 2147483647 - - - submenuAction: - - - Ligature - - - - Use Default - - 2147483647 - - - - - - Use None - - 2147483647 - - - - - - Use All - - 2147483647 - - - - - - - - - Baseline - - 2147483647 - - - submenuAction: - - - Baseline - - - - Use Default - - 2147483647 - - - - - - Superscript - - 2147483647 - - - - - - Subscript - - 2147483647 - - - - - - Raise - - 2147483647 - - - - - - Lower - - 2147483647 - - - - - - - - - YES - YES - - - 2147483647 - - - - - - Show Colors - C - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Copy Style - c - 1572864 - 2147483647 - - - - - - Paste Style - v - 1572864 - 2147483647 - - - - - _NSFontMenu - - - - - Text - - 2147483647 - - - submenuAction: - - - Text - - - - Align Left - { - 1048576 - 2147483647 - - - - - - Center - | - 1048576 - 2147483647 - - - - - - Justify - - 2147483647 - - - - - - Align Right - } - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Writing Direction - - 2147483647 - - - submenuAction: - - - Writing Direction - - - - YES - Paragraph - - 2147483647 - - - - - - CURlZmF1bHQ - - 2147483647 - - - - - - CUxlZnQgdG8gUmlnaHQ - - 2147483647 - - - - - - CVJpZ2h0IHRvIExlZnQ - - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - YES - Selection - - 2147483647 - - - - - - CURlZmF1bHQ - - 2147483647 - - - - - - CUxlZnQgdG8gUmlnaHQ - - 2147483647 - - - - - - CVJpZ2h0IHRvIExlZnQ - - 2147483647 - - - - - - - - - YES - YES - - - 2147483647 - - - - - - Show Ruler - - 2147483647 - - - - - - Copy Ruler - c - 1310720 - 2147483647 - - - - - - Paste Ruler - v - 1310720 - 2147483647 - - - - - - - - - - - - View - - 1048576 - 2147483647 - - - submenuAction: - - - View - - - - Show Toolbar - t - 1572864 - 2147483647 - - - - - - Customize Toolbar… - - 1048576 - 2147483647 - - - - - - - - - Window - - 1048576 - 2147483647 - - - submenuAction: - - - Window - - - - Minimize - m - 1048576 - 2147483647 - - - - - - Zoom - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Bring All to Front - - 1048576 - 2147483647 - - - - - _NSWindowsMenu - - - - - Help - - 2147483647 - - - submenuAction: - - - Help - - - - ZeroTier One Help - ? - 1048576 - 2147483647 - - - - - _NSHelpMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 449 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - delegate - - - - 547 - - - - performMiniaturize: - - - - 37 - - - - arrangeInFront: - - - - 39 - - - - print: - - - - 86 - - - - runPageLayout: - - - - 87 - - - - clearRecentDocuments: - - - - 127 - - - - performClose: - - - - 193 - - - - toggleContinuousSpellChecking: - - - - 222 - - - - undo: - - - - 223 - - - - copy: - - - - 224 - - - - checkSpelling: - - - - 225 - - - - paste: - - - - 226 - - - - stopSpeaking: - - - - 227 - - - - cut: - - - - 228 - - - - showGuessPanel: - - - - 230 - - - - redo: - - - - 231 - - - - selectAll: - - - - 232 - - - - startSpeaking: - - - - 233 - - - - delete: - - - - 235 - - - - performZoom: - - - - 240 - - - - performFindPanelAction: - - - - 241 - - - - centerSelectionInVisibleArea: - - - - 245 - - - - toggleGrammarChecking: - - - - 347 - - - - toggleSmartInsertDelete: - - - - 355 - - - - toggleAutomaticQuoteSubstitution: - - - - 356 - - - - toggleAutomaticLinkDetection: - - - - 357 - - - - saveDocument: - - - - 362 - - - - revertDocumentToSaved: - - - - 364 - - - - runToolbarCustomizationPalette: - - - - 365 - - - - toggleToolbarShown: - - - - 366 - - - - hide: - - - - 367 - - - - hideOtherApplications: - - - - 368 - - - - unhideAllApplications: - - - - 370 - - - - newDocument: - - - - 373 - - - - openDocument: - - - - 374 - - - - raiseBaseline: - - - - 426 - - - - lowerBaseline: - - - - 427 - - - - copyFont: - - - - 428 - - - - subscript: - - - - 429 - - - - superscript: - - - - 430 - - - - tightenKerning: - - - - 431 - - - - underline: - - - - 432 - - - - orderFrontColorPanel: - - - - 433 - - - - useAllLigatures: - - - - 434 - - - - loosenKerning: - - - - 435 - - - - pasteFont: - - - - 436 - - - - unscript: - - - - 437 - - - - useStandardKerning: - - - - 438 - - - - useStandardLigatures: - - - - 439 - - - - turnOffLigatures: - - - - 440 - - - - turnOffKerning: - - - - 441 - - - - toggleAutomaticSpellingCorrection: - - - - 456 - - - - orderFrontSubstitutionsPanel: - - - - 458 - - - - toggleAutomaticDashSubstitution: - - - - 461 - - - - toggleAutomaticTextReplacement: - - - - 463 - - - - uppercaseWord: - - - - 464 - - - - capitalizeWord: - - - - 467 - - - - lowercaseWord: - - - - 468 - - - - pasteAsPlainText: - - - - 486 - - - - performFindPanelAction: - - - - 487 - - - - performFindPanelAction: - - - - 488 - - - - performFindPanelAction: - - - - 489 - - - - showHelp: - - - - 493 - - - - alignCenter: - - - - 518 - - - - pasteRuler: - - - - 519 - - - - toggleRuler: - - - - 520 - - - - alignRight: - - - - 521 - - - - copyRuler: - - - - 522 - - - - alignJustified: - - - - 523 - - - - alignLeft: - - - - 524 - - - - makeBaseWritingDirectionNatural: - - - - 525 - - - - makeBaseWritingDirectionLeftToRight: - - - - 526 - - - - makeBaseWritingDirectionRightToLeft: - - - - 527 - - - - makeTextWritingDirectionNatural: - - - - 528 - - - - makeTextWritingDirectionLeftToRight: - - - - 529 - - - - makeTextWritingDirectionRightToLeft: - - - - 530 - - - - performFindPanelAction: - - - - 535 - - - - delegate - - - - 545 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - - - - - - - - - - - - 19 - - - - - - - - 56 - - - - - - - - 217 - - - - - - - - 83 - - - - - - - - 81 - - - - - - - - - - - - - - - - - 75 - - - - - 78 - - - - - 72 - - - - - 82 - - - - - 124 - - - - - - - - 77 - - - - - 73 - - - - - 79 - - - - - 112 - - - - - 74 - - - - - 125 - - - - - - - - 126 - - - - - 205 - - - - - - - - - - - - - - - - - - - - - - 202 - - - - - 198 - - - - - 207 - - - - - 214 - - - - - 199 - - - - - 203 - - - - - 197 - - - - - 206 - - - - - 215 - - - - - 218 - - - - - - - - 216 - - - - - - - - 200 - - - - - - - - - - - - - 219 - - - - - 201 - - - - - 204 - - - - - 220 - - - - - - - - - - - - - 213 - - - - - 210 - - - - - 221 - - - - - 208 - - - - - 209 - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 134 - - - - - 150 - - - - - 136 - - - - - 144 - - - - - 129 - - - - - 143 - - - - - 236 - - - - - 131 - - - - - - - - 149 - - - - - 145 - - - - - 130 - - - - - 24 - - - - - - - - - - - 92 - - - - - 5 - - - - - 239 - - - - - 23 - - - - - 295 - - - - - - - - 296 - - - - - - - - - 297 - - - - - 298 - - - - - 211 - - - - - - - - 212 - - - - - - - - - 195 - - - - - 196 - - - - - 346 - - - - - 348 - - - - - - - - 349 - - - - - - - - - - - - - - 350 - - - - - 351 - - - - - 354 - - - - - 375 - - - - - - - - 376 - - - - - - - - - 377 - - - - - - - - 388 - - - - - - - - - - - - - - - - - - - - - - - 389 - - - - - 390 - - - - - 391 - - - - - 392 - - - - - 393 - - - - - 394 - - - - - 395 - - - - - 396 - - - - - 397 - - - - - - - - 398 - - - - - - - - 399 - - - - - - - - 400 - - - - - 401 - - - - - 402 - - - - - 403 - - - - - 404 - - - - - 405 - - - - - - - - - - - - 406 - - - - - 407 - - - - - 408 - - - - - 409 - - - - - 410 - - - - - 411 - - - - - - - - - - 412 - - - - - 413 - - - - - 414 - - - - - 415 - - - - - - - - - - - 416 - - - - - 417 - - - - - 418 - - - - - 419 - - - - - 450 - - - - - - - - 451 - - - - - - - - - - 452 - - - - - 453 - - - - - 454 - - - - - 457 - - - - - 459 - - - - - 460 - - - - - 462 - - - - - 465 - - - - - 466 - - - - - 485 - - - - - 490 - - - - - - - - 491 - - - - - - - - 492 - - - - - 496 - - - - - - - - 497 - - - - - - - - - - - - - - - - - 498 - - - - - 499 - - - - - 500 - - - - - 501 - - - - - 502 - - - - - 503 - - - - - - - - 504 - - - - - 505 - - - - - 506 - - - - - 507 - - - - - 508 - - - - - - - - - - - - - - - - 509 - - - - - 510 - - - - - 511 - - - - - 512 - - - - - 513 - - - - - 514 - - - - - 515 - - - - - 516 - - - - - 517 - - - - - 534 - - - - - 546 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 547 - - - - - AppDelegate - NSObject - - IBProjectSource - ../MacGap/AppDelegate.h - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSBrowser - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSBrowser.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSDocument - NSObject - - id - id - id - id - id - id - - - - printDocument: - id - - - revertDocumentToSaved: - id - - - runPageLayout: - id - - - saveDocument: - id - - - saveDocumentAs: - id - - - saveDocumentTo: - id - - - - IBFrameworkSource - AppKit.framework/Headers/NSDocument.h - - - - NSDocumentController - NSObject - - id - id - id - id - - - - clearRecentDocuments: - id - - - newDocument: - id - - - openDocument: - id - - - saveAllDocuments: - id - - - - IBFrameworkSource - AppKit.framework/Headers/NSDocumentController.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSMatrix - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSMatrix.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSMovieView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSMovieView.h - - - - NSPopover - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSPopover.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSTableView - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSText - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSText.h - - - - NSTextView - NSText - - IBFrameworkSource - AppKit.framework/Headers/NSTextView.h - - - - NSView - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSViewController - NSResponder - - view - NSView - - - view - - view - NSView - - - - IBFrameworkSource - AppKit.framework/Headers/NSViewController.h - - - - NSWindow - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSWindow.h - - - - WebView - NSView - - id - id - id - id - id - id - id - id - id - id - id - - - - goBack: - id - - - goForward: - id - - - makeTextLarger: - id - - - makeTextSmaller: - id - - - makeTextStandardSize: - id - - - reload: - id - - - reloadFromOrigin: - id - - - stopLoading: - id - - - takeStringURLFrom: - id - - - toggleContinuousSpellChecking: - id - - - toggleSmartInsertDelete: - id - - - - IBFrameworkSource - WebKit.framework/Headers/WebView.h - - - - - 0 - IBCocoaFramework - NO - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - 3 - - {12, 12} - {10, 2} - - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Window.xib b/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Window.xib deleted file mode 100644 index 70d0c57b..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/en.lproj/Window.xib +++ /dev/null @@ -1,337 +0,0 @@ - - - - 1070 - 11C74 - 1938 - 1138.23 - 567.00 - - YES - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.WebKitIBPlugin - - - YES - 1938 - 822 - - - - YES - NSWindowTemplate - NSView - NSCustomObject - WebView - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.WebKitIBPlugin - - - PluginDependencyRecalculationVersion - - - - YES - - WindowController - - - FirstResponder - - - NSApplication - - - 15 - 2 - {{196, 240}, {758, 410}} - 544735232 - Window - NSWindow - - - - - 256 - - YES - - - 274 - - YES - - YES - Apple HTML pasteboard type - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple URL pasteboard type - Apple Web Archive pasteboard type - NSColor pasteboard type - NSFilenamesPboardType - NSStringPboardType - NeXT RTFD pasteboard type - NeXT Rich Text Format v1.0 pasteboard type - NeXT TIFF v4.0 pasteboard type - WebURLsWithTitlesPboardType - public.png - public.url - public.url-name - - - {758, 410} - - - - 2 - _NS:51 - - - - - - YES - - YES - WebKitDefaultFixedFontSize - WebKitDefaultFontSize - WebKitMinimumFontSize - - - YES - - - - - - - YES - YES - - - {758, 410} - - - - - {{0, 0}, {1920, 1178}} - {10000000000000, 10000000000000} - 128 - YES - - - - - YES - - - contentView - - - - 23 - - - - window - - - - 25 - - - - title: contentView.webView.mainFrameTitle - - - - - - title: contentView.webView.mainFrameTitle - title - contentView.webView.mainFrameTitle - 2 - - - 31 - - - - webView - - - - 19 - - - - - YES - - 0 - - YES - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - YES - - - - - - 2 - - - YES - - - - - - 5 - - - - - - - YES - - YES - -1.IBPluginDependency - -2.IBPluginDependency - -3.IBPluginDependency - 1.IBPluginDependency - 1.IBWindowTemplateEditedContentRect - 1.NSWindowTemplate.visibleAtLaunch - 2.CustomClassName - 2.IBPluginDependency - 5.IBPluginDependency - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{357, 418}, {480, 270}} - - ContentView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.WebKitIBPlugin - - - - YES - - - - - - YES - - - - - 31 - - - - YES - - ContentView - NSView - - webView - WebView - - - webView - - webView - WebView - - - - IBProjectSource - ./Classes/ContentView.h - - - - WebView - - reloadFromOrigin: - id - - - reloadFromOrigin: - - reloadFromOrigin: - id - - - - IBProjectSource - ./Classes/WebView.h - - - - WindowController - NSWindowController - - contentView - ContentView - - - contentView - - contentView - ContentView - - - - IBProjectSource - ./Classes/WindowController.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - 3 - - diff --git a/ext/mac-ui-macgap1-wrapper/MacGap/main.m b/ext/mac-ui-macgap1-wrapper/MacGap/main.m deleted file mode 100644 index 4ad50ad5..00000000 --- a/ext/mac-ui-macgap1-wrapper/MacGap/main.m +++ /dev/null @@ -1,14 +0,0 @@ -// -// main.m -// MacGap -// -// Created by Alex MacCaw on 08/01/2012. -// Copyright (c) 2012 Twitter. All rights reserved. -// - -#import - -int main(int argc, char *argv[]) -{ - return NSApplicationMain(argc, (const char **)argv); -} diff --git a/ext/mac-ui-macgap1-wrapper/README.md b/ext/mac-ui-macgap1-wrapper/README.md deleted file mode 100644 index daf3eae9..00000000 --- a/ext/mac-ui-macgap1-wrapper/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Mac Web UI Wrapper -====== - -This is a modified version of MacGap1 which launches a WebKit view and accesses the local ZeroTier service at its web URL. It builds the URL from the authtoken.secret file in the system home (or the user home) and the zerotier-one.port file that ZeroTier creates to advertise its control port. - -It's based on the original MacGap1 source by Twitter, Inc. which is licensed under the MIT license. diff --git a/ext/mac-ui-macgap1-wrapper/application.icns b/ext/mac-ui-macgap1-wrapper/application.icns deleted file mode 100644 index e4bcb281..00000000 Binary files a/ext/mac-ui-macgap1-wrapper/application.icns and /dev/null differ diff --git a/ext/mac-ui-macgap1-wrapper/public/index.html b/ext/mac-ui-macgap1-wrapper/public/index.html deleted file mode 100644 index 9fab9325..00000000 --- a/ext/mac-ui-macgap1-wrapper/public/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - MacGap - - - - - - - -

MacGap

- - \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/src/LICENSE b/ext/mac-ui-macgap1-wrapper/src/LICENSE new file mode 100644 index 00000000..c7fd4a4a --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/LICENSE @@ -0,0 +1,25 @@ +MacGap was ported from phonegap-mac, and is under the same license (MIT) + +The MIT License +***************** + +Copyright (c) <2012> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, 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. + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.pbxproj b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.pbxproj new file mode 100644 index 00000000..9d71cecc --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.pbxproj @@ -0,0 +1,498 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1495814F15C15CCC00E1CFE5 /* Notice.m in Sources */ = {isa = PBXBuildFile; fileRef = 1495814E15C15CCC00E1CFE5 /* Notice.m */; }; + 6F169DA718CC332E005EDDF3 /* Command.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DA618CC332E005EDDF3 /* Command.m */; }; + 6F169DAA18CC35FD005EDDF3 /* CallbackDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */; }; + 6F169DAC18CD8A4A005EDDF3 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */; }; + 6F169DB118CD906F005EDDF3 /* MenuItemProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */; }; + 6F169DB218CD906F005EDDF3 /* MenuProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F169DB018CD906F005EDDF3 /* MenuProxy.m */; }; + 6FD672B618FE618E00C0DAAD /* UserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD672B518FE618E00C0DAAD /* UserDefaults.m */; }; + 6FD6E4ED18C2D48C00DFFBE6 /* fonts.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */; }; + 88746BEE14CCA435001E160E /* JSEventHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 88746BED14CCA435001E160E /* JSEventHelper.m */; }; + 88C0646014BDE10A00E4BCE2 /* Window.m in Sources */ = {isa = PBXBuildFile; fileRef = 88C0645F14BDE10A00E4BCE2 /* Window.m */; }; + 88C0646614BDEC5800E4BCE2 /* Window.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88C0646414BDEC5800E4BCE2 /* Window.xib */; }; + 88C0646D14BDF6A600E4BCE2 /* WindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 88C0646C14BDF6A600E4BCE2 /* WindowController.m */; }; + C13A649D1AFB171100CB31FE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C13A649C1AFB171100CB31FE /* Images.xcassets */; }; + C1C2B9911AFB0CF10060D7C2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1C2B9901AFB0CF10060D7C2 /* Security.framework */; }; + F2B80016179E0FC100B069A8 /* Clipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = F2B80015179E0FC100B069A8 /* Clipboard.m */; }; + FA32509D14BA813600BF0781 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA32509C14BA813600BF0781 /* WebKit.framework */; }; + FA3250C314BA85E700BF0781 /* ContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250BC14BA85E700BF0781 /* ContentView.m */; }; + FA3250C514BA85E700BF0781 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250BE14BA85E700BF0781 /* Utils.m */; }; + FA3250C714BA85E700BF0781 /* WebViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250C014BA85E700BF0781 /* WebViewDelegate.m */; }; + FA3250D314BA860800BF0781 /* App.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250C914BA860800BF0781 /* App.m */; }; + FA3250D514BA860800BF0781 /* Dock.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250CB14BA860800BF0781 /* Dock.m */; }; + FA3250D914BA860800BF0781 /* Path.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250CF14BA860800BF0781 /* Path.m */; }; + FA3250DB14BA860800BF0781 /* Sound.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3250D114BA860800BF0781 /* Sound.m */; }; + FA3250E514BA883A00BF0781 /* public in Resources */ = {isa = PBXBuildFile; fileRef = FA3250E414BA883A00BF0781 /* public */; }; + FA3250E714BA8BCE00BF0781 /* application.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA3250E614BA8BCE00BF0781 /* application.icns */; }; + FA3F7742168F70790027B324 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA3F7741168F70780027B324 /* Cocoa.framework */; }; + FAE451C914BA79C600190544 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FAE451C714BA79C600190544 /* InfoPlist.strings */; }; + FAE451CB14BA79C600190544 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FAE451CA14BA79C600190544 /* main.m */; }; + FAE451CF14BA79C600190544 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = FAE451CD14BA79C600190544 /* Credits.rtf */; }; + FAE451D214BA79C600190544 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FAE451D114BA79C600190544 /* AppDelegate.m */; }; + FAE451D514BA79C600190544 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FAE451D314BA79C600190544 /* MainMenu.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + FA3250DD14BA876F00BF0781 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1495814D15C15CCC00E1CFE5 /* Notice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Notice.h; path = Classes/Commands/Notice.h; sourceTree = ""; }; + 1495814E15C15CCC00E1CFE5 /* Notice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Notice.m; path = Classes/Commands/Notice.m; sourceTree = ""; }; + 6F169DA518CC332E005EDDF3 /* Command.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Command.h; path = Classes/Commands/Command.h; sourceTree = ""; }; + 6F169DA618CC332E005EDDF3 /* Command.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Command.m; path = Classes/Commands/Command.m; sourceTree = ""; }; + 6F169DA818CC35FD005EDDF3 /* CallbackDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CallbackDelegate.h; path = Classes/CallbackDelegate.h; sourceTree = ""; }; + 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CallbackDelegate.m; path = Classes/CallbackDelegate.m; sourceTree = ""; }; + 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + 6F169DAD18CD906F005EDDF3 /* MenuItemProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenuItemProxy.h; path = Classes/Commands/MenuItemProxy.h; sourceTree = ""; }; + 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MenuItemProxy.m; path = Classes/Commands/MenuItemProxy.m; sourceTree = ""; }; + 6F169DAF18CD906F005EDDF3 /* MenuProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MenuProxy.h; path = Classes/Commands/MenuProxy.h; sourceTree = ""; }; + 6F169DB018CD906F005EDDF3 /* MenuProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MenuProxy.m; path = Classes/Commands/MenuProxy.m; sourceTree = ""; }; + 6FD672B418FE618E00C0DAAD /* UserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserDefaults.h; path = Classes/Commands/UserDefaults.h; sourceTree = ""; }; + 6FD672B518FE618E00C0DAAD /* UserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserDefaults.m; path = Classes/Commands/UserDefaults.m; sourceTree = ""; }; + 6FD6E4EB18C2D48200DFFBE6 /* fonts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fonts.h; path = Classes/Commands/fonts.h; sourceTree = ""; }; + 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = fonts.m; path = Classes/Commands/fonts.m; sourceTree = ""; }; + 88746BEC14CCA435001E160E /* JSEventHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSEventHelper.h; path = Classes/JSEventHelper.h; sourceTree = ""; }; + 88746BED14CCA435001E160E /* JSEventHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JSEventHelper.m; path = Classes/JSEventHelper.m; sourceTree = ""; }; + 88C0645E14BDE10A00E4BCE2 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Window.h; path = Classes/Window.h; sourceTree = ""; }; + 88C0645F14BDE10A00E4BCE2 /* Window.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Window.m; path = Classes/Window.m; sourceTree = ""; }; + 88C0646514BDEC5800E4BCE2 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Window.xib; sourceTree = ""; }; + 88C0646B14BDF6A600E4BCE2 /* WindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindowController.h; sourceTree = ""; }; + 88C0646C14BDF6A600E4BCE2 /* WindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WindowController.m; sourceTree = ""; }; + C13A649C1AFB171100CB31FE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + C1C2B9901AFB0CF10060D7C2 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + F2B80014179E0FC100B069A8 /* Clipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipboard.h; sourceTree = ""; }; + F2B80015179E0FC100B069A8 /* Clipboard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Clipboard.m; sourceTree = ""; }; + FA32509C14BA813600BF0781 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + FA3250BA14BA85E700BF0781 /* Constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Constants.h; path = Classes/Constants.h; sourceTree = ""; }; + FA3250BB14BA85E700BF0781 /* ContentView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ContentView.h; path = Classes/ContentView.h; sourceTree = ""; }; + FA3250BC14BA85E700BF0781 /* ContentView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ContentView.m; path = Classes/ContentView.m; sourceTree = ""; }; + FA3250BD14BA85E700BF0781 /* Utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Classes/Utils.h; sourceTree = ""; }; + FA3250BE14BA85E700BF0781 /* Utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = Classes/Utils.m; sourceTree = ""; }; + FA3250BF14BA85E700BF0781 /* WebViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebViewDelegate.h; path = Classes/WebViewDelegate.h; sourceTree = ""; }; + FA3250C014BA85E700BF0781 /* WebViewDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = WebViewDelegate.m; path = Classes/WebViewDelegate.m; sourceTree = ""; }; + FA3250C814BA860800BF0781 /* App.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = App.h; path = Classes/Commands/App.h; sourceTree = ""; }; + FA3250C914BA860800BF0781 /* App.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = App.m; path = Classes/Commands/App.m; sourceTree = ""; }; + FA3250CA14BA860800BF0781 /* Dock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dock.h; path = Classes/Commands/Dock.h; sourceTree = ""; }; + FA3250CB14BA860800BF0781 /* Dock.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Dock.m; path = Classes/Commands/Dock.m; sourceTree = ""; }; + FA3250CE14BA860800BF0781 /* Path.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Path.h; path = Classes/Commands/Path.h; sourceTree = ""; }; + FA3250CF14BA860800BF0781 /* Path.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Path.m; path = Classes/Commands/Path.m; sourceTree = ""; }; + FA3250D014BA860800BF0781 /* Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sound.h; path = Classes/Commands/Sound.h; sourceTree = ""; }; + FA3250D114BA860800BF0781 /* Sound.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Sound.m; path = Classes/Commands/Sound.m; sourceTree = ""; }; + FA3250E414BA883A00BF0781 /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; + FA3250E614BA8BCE00BF0781 /* application.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = application.icns; sourceTree = SOURCE_ROOT; }; + FA3F7741168F70780027B324 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + FAE451BA14BA79C600190544 /* ZeroTier One.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ZeroTier One.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE451BE14BA79C600190544 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + FAE451C114BA79C600190544 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + FAE451C214BA79C600190544 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + FAE451C314BA79C600190544 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + FAE451C614BA79C600190544 /* MacGap-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MacGap-Info.plist"; sourceTree = ""; }; + FAE451C814BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + FAE451CA14BA79C600190544 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + FAE451CC14BA79C600190544 /* MacGap-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacGap-Prefix.pch"; sourceTree = ""; }; + FAE451CE14BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + FAE451D014BA79C600190544 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + FAE451D114BA79C600190544 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + FAE451D414BA79C600190544 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FAE451B714BA79C600190544 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C1C2B9911AFB0CF10060D7C2 /* Security.framework in Frameworks */, + 6F169DAC18CD8A4A005EDDF3 /* JavaScriptCore.framework in Frameworks */, + FA3F7742168F70790027B324 /* Cocoa.framework in Frameworks */, + FA32509D14BA813600BF0781 /* WebKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FA3250E014BA87B800BF0781 /* Classes */ = { + isa = PBXGroup; + children = ( + FA3250E114BA87DD00BF0781 /* Commands */, + FA3250BA14BA85E700BF0781 /* Constants.h */, + 6F169DA818CC35FD005EDDF3 /* CallbackDelegate.h */, + 6F169DA918CC35FD005EDDF3 /* CallbackDelegate.m */, + FA3250BB14BA85E700BF0781 /* ContentView.h */, + FA3250BC14BA85E700BF0781 /* ContentView.m */, + FA3250BF14BA85E700BF0781 /* WebViewDelegate.h */, + FA3250C014BA85E700BF0781 /* WebViewDelegate.m */, + 88C0646B14BDF6A600E4BCE2 /* WindowController.h */, + 88C0646C14BDF6A600E4BCE2 /* WindowController.m */, + ); + name = Classes; + sourceTree = ""; + }; + FA3250E114BA87DD00BF0781 /* Commands */ = { + isa = PBXGroup; + children = ( + 6F169DA518CC332E005EDDF3 /* Command.h */, + 6F169DA618CC332E005EDDF3 /* Command.m */, + 1495814D15C15CCC00E1CFE5 /* Notice.h */, + 1495814E15C15CCC00E1CFE5 /* Notice.m */, + FA3250CA14BA860800BF0781 /* Dock.h */, + FA3250CB14BA860800BF0781 /* Dock.m */, + 6FD6E4EB18C2D48200DFFBE6 /* fonts.h */, + 6FD6E4EC18C2D48C00DFFBE6 /* fonts.m */, + FA3250BD14BA85E700BF0781 /* Utils.h */, + FA3250BE14BA85E700BF0781 /* Utils.m */, + 6FD672B418FE618E00C0DAAD /* UserDefaults.h */, + 6FD672B518FE618E00C0DAAD /* UserDefaults.m */, + FA3250CE14BA860800BF0781 /* Path.h */, + FA3250CF14BA860800BF0781 /* Path.m */, + FA3250D014BA860800BF0781 /* Sound.h */, + FA3250D114BA860800BF0781 /* Sound.m */, + FA3250C814BA860800BF0781 /* App.h */, + FA3250C914BA860800BF0781 /* App.m */, + 6F169DAD18CD906F005EDDF3 /* MenuItemProxy.h */, + 6F169DAE18CD906F005EDDF3 /* MenuItemProxy.m */, + 6F169DAF18CD906F005EDDF3 /* MenuProxy.h */, + 6F169DB018CD906F005EDDF3 /* MenuProxy.m */, + 88C0645E14BDE10A00E4BCE2 /* Window.h */, + 88C0645F14BDE10A00E4BCE2 /* Window.m */, + 88746BEC14CCA435001E160E /* JSEventHelper.h */, + 88746BED14CCA435001E160E /* JSEventHelper.m */, + F2B80014179E0FC100B069A8 /* Clipboard.h */, + F2B80015179E0FC100B069A8 /* Clipboard.m */, + ); + name = Commands; + sourceTree = ""; + }; + FAE451AF14BA79C600190544 = { + isa = PBXGroup; + children = ( + FA3F7741168F70780027B324 /* Cocoa.framework */, + FA3250E414BA883A00BF0781 /* public */, + FAE451C414BA79C600190544 /* MacGap */, + FAE451BD14BA79C600190544 /* Frameworks */, + FAE451BB14BA79C600190544 /* Products */, + ); + sourceTree = ""; + }; + FAE451BB14BA79C600190544 /* Products */ = { + isa = PBXGroup; + children = ( + FAE451BA14BA79C600190544 /* ZeroTier One.app */, + ); + name = Products; + sourceTree = ""; + }; + FAE451BD14BA79C600190544 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C1C2B9901AFB0CF10060D7C2 /* Security.framework */, + 6F169DAB18CD8A4A005EDDF3 /* JavaScriptCore.framework */, + FA32509C14BA813600BF0781 /* WebKit.framework */, + FAE451BE14BA79C600190544 /* Cocoa.framework */, + FAE451C014BA79C600190544 /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + FAE451C014BA79C600190544 /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + FAE451C114BA79C600190544 /* AppKit.framework */, + FAE451C214BA79C600190544 /* CoreData.framework */, + FAE451C314BA79C600190544 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + FAE451C414BA79C600190544 /* MacGap */ = { + isa = PBXGroup; + children = ( + FA3250E014BA87B800BF0781 /* Classes */, + FAE451D014BA79C600190544 /* AppDelegate.h */, + FAE451D114BA79C600190544 /* AppDelegate.m */, + FAE451D314BA79C600190544 /* MainMenu.xib */, + 88C0646414BDEC5800E4BCE2 /* Window.xib */, + C13A649C1AFB171100CB31FE /* Images.xcassets */, + FAE451C514BA79C600190544 /* Supporting Files */, + ); + path = MacGap; + sourceTree = ""; + }; + FAE451C514BA79C600190544 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + FA3250E614BA8BCE00BF0781 /* application.icns */, + FAE451C614BA79C600190544 /* MacGap-Info.plist */, + FAE451C714BA79C600190544 /* InfoPlist.strings */, + FAE451CA14BA79C600190544 /* main.m */, + FAE451CC14BA79C600190544 /* MacGap-Prefix.pch */, + FAE451CD14BA79C600190544 /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FAE451B914BA79C600190544 /* MacGap */ = { + isa = PBXNativeTarget; + buildConfigurationList = FAE451D814BA79C600190544 /* Build configuration list for PBXNativeTarget "MacGap" */; + buildPhases = ( + FAE451B814BA79C600190544 /* Resources */, + FAE451B614BA79C600190544 /* Sources */, + FAE451B714BA79C600190544 /* Frameworks */, + FA3250DD14BA876F00BF0781 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MacGap; + productName = MacGap; + productReference = FAE451BA14BA79C600190544 /* ZeroTier One.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FAE451B114BA79C600190544 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = Twitter; + }; + buildConfigurationList = FAE451B414BA79C600190544 /* Build configuration list for PBXProject "MacGap" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = FAE451AF14BA79C600190544; + productRefGroup = FAE451BB14BA79C600190544 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FAE451B914BA79C600190544 /* MacGap */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FAE451B814BA79C600190544 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA3250E514BA883A00BF0781 /* public in Resources */, + FAE451C914BA79C600190544 /* InfoPlist.strings in Resources */, + C13A649D1AFB171100CB31FE /* Images.xcassets in Resources */, + FAE451CF14BA79C600190544 /* Credits.rtf in Resources */, + FAE451D514BA79C600190544 /* MainMenu.xib in Resources */, + FA3250E714BA8BCE00BF0781 /* application.icns in Resources */, + 88C0646614BDEC5800E4BCE2 /* Window.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FAE451B614BA79C600190544 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6F169DAA18CC35FD005EDDF3 /* CallbackDelegate.m in Sources */, + FA3250D314BA860800BF0781 /* App.m in Sources */, + FA3250D514BA860800BF0781 /* Dock.m in Sources */, + FA3250D914BA860800BF0781 /* Path.m in Sources */, + FA3250DB14BA860800BF0781 /* Sound.m in Sources */, + FA3250C314BA85E700BF0781 /* ContentView.m in Sources */, + FA3250C514BA85E700BF0781 /* Utils.m in Sources */, + FA3250C714BA85E700BF0781 /* WebViewDelegate.m in Sources */, + FAE451CB14BA79C600190544 /* main.m in Sources */, + 6F169DB118CD906F005EDDF3 /* MenuItemProxy.m in Sources */, + FAE451D214BA79C600190544 /* AppDelegate.m in Sources */, + 6F169DA718CC332E005EDDF3 /* Command.m in Sources */, + 6FD672B618FE618E00C0DAAD /* UserDefaults.m in Sources */, + 88C0646014BDE10A00E4BCE2 /* Window.m in Sources */, + 6F169DB218CD906F005EDDF3 /* MenuProxy.m in Sources */, + 88C0646D14BDF6A600E4BCE2 /* WindowController.m in Sources */, + 6FD6E4ED18C2D48C00DFFBE6 /* fonts.m in Sources */, + 88746BEE14CCA435001E160E /* JSEventHelper.m in Sources */, + 1495814F15C15CCC00E1CFE5 /* Notice.m in Sources */, + F2B80016179E0FC100B069A8 /* Clipboard.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 88C0646414BDEC5800E4BCE2 /* Window.xib */ = { + isa = PBXVariantGroup; + children = ( + 88C0646514BDEC5800E4BCE2 /* en */, + ); + name = Window.xib; + sourceTree = ""; + }; + FAE451C714BA79C600190544 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + FAE451C814BA79C600190544 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + FAE451CD14BA79C600190544 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + FAE451CE14BA79C600190544 /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + FAE451D314BA79C600190544 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + FAE451D414BA79C600190544 /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + FAE451D614BA79C600190544 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "ZeroTier One"; + SDKROOT = ""; + }; + name = Debug; + }; + FAE451D714BA79C600190544 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "ZeroTier One"; + SDKROOT = ""; + }; + name = Release; + }; + FAE451D914BA79C600190544 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/MacGap\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MacGap/MacGap-Prefix.pch"; + GCC_VERSION = ""; + INFOPLIST_FILE = "MacGap/MacGap-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "ZeroTier One"; + SDKROOT = macosx; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + FAE451DA14BA79C600190544 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; + CLANG_CXX_LIBRARY = "compiler-default"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/MacGap\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MacGap/MacGap-Prefix.pch"; + GCC_VERSION = ""; + INFOPLIST_FILE = "MacGap/MacGap-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "ZeroTier One"; + SDKROOT = macosx; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FAE451B414BA79C600190544 /* Build configuration list for PBXProject "MacGap" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FAE451D614BA79C600190544 /* Debug */, + FAE451D714BA79C600190544 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FAE451D814BA79C600190544 /* Build configuration list for PBXNativeTarget "MacGap" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FAE451D914BA79C600190544 /* Debug */, + FAE451DA14BA79C600190544 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FAE451B114BA79C600190544 /* Project object */; +} diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..88f36fc7 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout new file mode 100644 index 00000000..2a06dbc5 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcshareddata/MacGap.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 4D486E78-E297-4CC3-AAAE-1A58EDAC87E6 + IDESourceControlProjectName + MacGap + IDESourceControlProjectOriginsDictionary + + ABA3617E9F0148F844A82502F0D808DE6591AA97 + http://adam.ierymenko@git.int.zerotier.com/zerotier/zerotierone + + IDESourceControlProjectPath + ext/mac-ui-macgap1-wrapper/MacGap.xcodeproj + IDESourceControlProjectRelativeInstallPathDictionary + + ABA3617E9F0148F844A82502F0D808DE6591AA97 + ../../../.. + + IDESourceControlProjectURL + http://adam.ierymenko@git.int.zerotier.com/zerotier/zerotierone + IDESourceControlProjectVersion + 111 + IDESourceControlProjectWCCIdentifier + ABA3617E9F0148F844A82502F0D808DE6591AA97 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + ABA3617E9F0148F844A82502F0D808DE6591AA97 + IDESourceControlWCCName + ZeroTierOne + + + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 00000000..20281812 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..659c8766 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/api.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 00000000..822ed3cb Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..6ff33e60 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap.xcodeproj/project.xcworkspace/xcuserdata/liamks.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,10 @@ + + + + + IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges + + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.h new file mode 100644 index 00000000..bf7370b5 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.h @@ -0,0 +1,18 @@ +// +// AppDelegate.h +// MacGap +// +// Created by Alex MacCaw on 08/01/2012. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import +#import "Classes/ContentView.h" + +#import "WindowController.h" + +@interface AppDelegate : NSObject + +@property (retain, nonatomic) WindowController *windowController; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.m new file mode 100644 index 00000000..3e25ca13 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/AppDelegate.m @@ -0,0 +1,145 @@ +// +// AppDelegate.m +// MacGap +// +// Created by Alex MacCaw on 08/01/2012. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "AppDelegate.h" +#include +#include + +@implementation AppDelegate + +@synthesize windowController; + +- (void) applicationWillFinishLaunching:(NSNotification *)aNotification +{ +} + +-(BOOL)applicationShouldHandleReopen:(NSApplication*)application + hasVisibleWindows:(BOOL)visibleWindows{ + if(!visibleWindows){ + [self.windowController.window makeKeyAndOrderFront: nil]; + } + return YES; +} + +- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication { + return YES; +} + +- (void) applicationDidFinishLaunching:(NSNotification *)aNotification { + char buf[16384],userAuthTokenPath[4096]; + + FILE *pf = fopen("/Library/Application Support/ZeroTier/One/zerotier-one.port","r"); + long port = 9993; // default + if (pf) { + long n = fread(buf,1,sizeof(buf)-1,pf); + if (n > 0) { + buf[n] = (char)0; + port = strtol(buf,(char **)0,10); + } + fclose(pf); + } + + char url[16384]; + memset(url,0,sizeof(url)); + + const char *homeDir = getenv("HOME"); + if (homeDir) { + snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One/authtoken.secret",homeDir); + pf = fopen(userAuthTokenPath,"r"); + if (pf) { + long n = fread(buf,1,sizeof(buf)-1,pf); + if (n > 0) { + buf[n] = (char)0; + snprintf(url,sizeof(url),"http://127.0.0.1:%ld/index.html?authToken=%s",port,buf); + } + fclose(pf); + } + } + + if (!url[0]) { + // Create authorization reference + OSStatus status; + AuthorizationRef authorizationRef; + + // AuthorizationCreate and pass NULL as the initial + // AuthorizationRights set so that the AuthorizationRef gets created + // successfully, and then later call AuthorizationCopyRights to + // determine or extend the allowable rights. + // http://developer.apple.com/qa/qa2001/qa1172.html + status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &authorizationRef); + if (status != errAuthorizationSuccess) + { + NSLog(@"Error Creating Initial Authorization: %d", status); + return; + } + + // kAuthorizationRightExecute == "system.privilege.admin" + AuthorizationItem right = {kAuthorizationRightExecute, 0, NULL, 0}; + AuthorizationRights rights = {1, &right}; + AuthorizationFlags flags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed | + kAuthorizationFlagPreAuthorize | kAuthorizationFlagExtendRights; + + // Call AuthorizationCopyRights to determine or extend the allowable rights. + status = AuthorizationCopyRights(authorizationRef, &rights, NULL, flags, NULL); + if (status != errAuthorizationSuccess) + { + NSLog(@"Copy Rights Unsuccessful: %d", status); + return; + } + + // use rm tool with -rf + char *tool = "/bin/cat"; + char *args[] = {"/Library/Application Support/ZeroTier/One/authtoken.secret", NULL}; + FILE *pipe = NULL; + + status = AuthorizationExecuteWithPrivileges(authorizationRef, tool, kAuthorizationFlagDefaults, args, &pipe); + if (status != errAuthorizationSuccess) + { + NSLog(@"Error: %d", status); + } + + if (pipe) { + long n = (long)fread(buf,1,sizeof(buf)-1,pipe); + if (n > 0) { + buf[n] = (char)0; + snprintf(url,sizeof(url),"http://127.0.0.1:%ld/index.html?authToken=%s",port,buf); + + if (homeDir) { + snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier",homeDir); + mkdir(userAuthTokenPath,0755); + snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One",homeDir); + mkdir(userAuthTokenPath,0755); + snprintf(userAuthTokenPath,sizeof(userAuthTokenPath),"%s/Library/Application Support/ZeroTier/One/authtoken.secret",homeDir); + pf = fopen(userAuthTokenPath,"w"); + if (pf) { + fwrite(buf,1,strlen(buf),pf); + fclose(pf); + chmod(userAuthTokenPath,0600); + } + } + } + fclose(pipe); + } + + // The only way to guarantee that a credential acquired when you + // request a right is not shared with other authorization instances is + // to destroy the credential. To do so, call the AuthorizationFree + // function with the flag kAuthorizationFlagDestroyRights. + // http://developer.apple.com/documentation/Security/Conceptual/authorization_concepts/02authconcepts/chapter_2_section_7.html + status = AuthorizationFree(authorizationRef, kAuthorizationFlagDestroyRights); + } + + NSString *urlStr = [[NSString alloc] initWithCString:url]; + self.windowController = [[WindowController alloc] initWithURL: urlStr]; + [self.windowController showWindow: [NSApplication sharedApplication].delegate]; + self.windowController.contentView.webView.alphaValue = 1.0; + self.windowController.contentView.alphaValue = 1.0; + [self.windowController showWindow:self]; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.h new file mode 100755 index 00000000..0f31ee41 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.h @@ -0,0 +1,20 @@ +// +// CallbackDelegate.h +// MacGap +// +// Created by Joe Hildebrand on 1/10/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "Command.h" + +@interface CallbackDelegate : Command { +} + +@property JSObjectRef callback; + +- (id) initWithContext:(JSContextRef)aContext forCallback:(WebScriptObject*)aCallback; +- (id) call; +- (id) callWithParams:(id)firstOrNil, ... NS_REQUIRES_NIL_TERMINATION; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.m new file mode 100755 index 00000000..5ce8fbe3 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/CallbackDelegate.m @@ -0,0 +1,168 @@ +// +// CallbackDelegate.m +// MacGap +// +// Created by Joe Hildebrand on 1/10/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "CallbackDelegate.h" +#import + +@implementation CallbackDelegate + +@synthesize callback; + +- (id) initWithContext:(JSContextRef)aContext forCallback:(WebScriptObject*)aCallback +{ + if (!aCallback) + return nil; + if ([aCallback isKindOfClass:[WebUndefined class]]) + return nil; + + self = [super initWithContext:aContext]; + if (!self) + return nil; + + callback = [aCallback JSObject]; + JSValueProtect(context, callback); + return self; +} + +- (void) dealloc +{ + if (callback) + { + JSValueUnprotect(context, callback); + callback = nil; + } +} + +- (id) objectFromValue:(JSValueRef)val +{ + JSStringRef jstr; + NSString *rets; + + switch(JSValueGetType(context, val)) + { + case kJSTypeUndefined: + case kJSTypeNull: + return nil; + case kJSTypeBoolean: + return [NSNumber numberWithBool:JSValueToBoolean(context, val)]; + case kJSTypeNumber: + return [NSNumber numberWithDouble:JSValueToNumber(context, val, NULL)]; + case kJSTypeString: + jstr = JSValueToStringCopy(context, val, NULL); + size_t sz = JSStringGetMaximumUTF8CStringSize(jstr); + char *buf = (char*)malloc(sz); + JSStringGetUTF8CString(jstr, buf, sz); + rets = [NSString stringWithUTF8String:buf]; + free(buf); + return rets; + case kJSTypeObject: + // TODO: dictionary or something + return nil; + default: + NSAssert(false, @"Invalid JavaScript type"); + return nil; + } +} + +- (JSValueRef) valueFromObject:(id)obj +{ + JSValueRef val = nil; + if (!obj) + { + val = JSValueMakeNull(context); + } + else if ([obj isKindOfClass:[NSString class]]) + { + JSStringRef jstr = JSStringCreateWithUTF8CString([obj UTF8String]); + val = JSValueMakeString(context, jstr); + JSStringRelease(jstr); + } + else if ([obj isKindOfClass:[NSNumber class]]) + { + val = JSValueMakeNumber(context, [obj doubleValue]); + } + else if ([obj isKindOfClass:[NSDictionary class]]) + { + JSObjectRef o = JSObjectMake(context, NULL, NULL); + for (NSString *key in obj) + { + JSStringRef kstr = JSStringCreateWithUTF8CString([key UTF8String]); + JSValueRef v = [self valueFromObject:[obj objectForKey:key]]; + + JSObjectSetProperty(context, o, kstr, v, kJSPropertyAttributeNone, NULL); + JSStringRelease(kstr); + } + val = o; + } + else if ([obj isKindOfClass:[NSArray class]]) + { + NSUInteger pcount = [obj count]; + JSValueRef jsArgs[pcount]; + NSUInteger i=0; + for (id v in obj) + { + jsArgs[i++] = [self valueFromObject:v]; + } + val = JSObjectMakeArray(context, pcount, jsArgs, NULL); + } + else if ([obj isKindOfClass:[NSDate class]]) + { + NSTimeInterval secs = [obj timeIntervalSince1970]; + JSValueRef jsArgs[1]; + // call the Date(milliseconds) constructor in JS + jsArgs[0] = JSValueMakeNumber(context, secs * 1000.0); + val = JSObjectMakeDate(context, 1, jsArgs, NULL); + } + else + { + NSLog(@"Warning: unknown object type for: %@", obj); + val = JSValueMakeUndefined(context); + } + return val; +} + +- (id) call +{ + NSAssert(callback, @"Callback required"); + if (!JSObjectIsFunction(context, callback)) + return nil; + + JSValueRef jsArgs[0]; + JSValueRef ret = JSObjectCallAsFunction(context, callback, NULL, 0, jsArgs, NULL); + return [self objectFromValue:ret]; +} + +- (id) callWithParams:(id)firstOrNil, ... +{ + NSAssert(callback, @"Callback required"); + if (!JSObjectIsFunction(context, callback)) + return nil; + NSUInteger pcount = 0; + id p; + va_list args; + va_start(args, firstOrNil); + for (p=firstOrNil; p; p=va_arg(args, id)) + { + pcount++; + } + va_end(args); + + JSValueRef jsArgs[pcount]; + NSUInteger j = 0; + va_start(args, firstOrNil); + for (p=firstOrNil; p; p=va_arg(args, id)) + { + jsArgs[j++] = [self valueFromObject:p]; + } + va_end(args); + + JSValueRef ret = JSObjectCallAsFunction(context, callback, NULL, j, jsArgs, NULL); + return [self objectFromValue:ret]; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.h new file mode 100644 index 00000000..f65ba61e --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.h @@ -0,0 +1,21 @@ +#import + +#import "WindowController.h" + +@interface App : NSObject { + +} + +@property (nonatomic, retain) WebView *webView; + +- (id) initWithWebView:(WebView *)view; + +- (void) terminate; +- (void) activate; +- (void) hide; +- (void) unhide; +- (void) beep; +- (void) bounce; +- (void) setCustomUserAgent:(NSString *)userAgentString; +- (NSNumber*) systemIdleTime; +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.m new file mode 100644 index 00000000..6d47a17e --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/App.m @@ -0,0 +1,128 @@ +#import "App.h" + +#import "JSEventHelper.h" + +@implementation App + +@synthesize webView; + +- (id) initWithWebView:(WebView *) view{ + self = [super init]; + + if (self) { + self.webView = view; + [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self + selector: @selector(receiveSleepNotification:) + name: NSWorkspaceWillSleepNotification object: NULL]; + [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self + selector: @selector(receiveWakeNotification:) + name: NSWorkspaceDidWakeNotification object: NULL]; + [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self + selector: @selector(receiveActivateNotification:) + name: NSWorkspaceDidActivateApplicationNotification object: NULL]; + } + + return self; +} + +- (void) terminate { + [NSApp terminate:nil]; +} + +- (void) activate { + [NSApp activateIgnoringOtherApps:YES]; +} + +- (void) hide { + [NSApp hide:nil]; +} + +- (void) unhide { + [NSApp unhide:nil]; +} + +- (void)beep { + NSBeep(); +} + +- (void) bounce { + [NSApp requestUserAttention:NSInformationalRequest]; +} + +- (void)setCustomUserAgent:(NSString *)userAgentString { + [self.webView setCustomUserAgent: userAgentString]; +} + +- (void) open:(NSString*)url { + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]]; +} + +- (void) launch:(NSString *)name { + [[NSWorkspace sharedWorkspace] launchApplication:name]; +} + +- (void)receiveSleepNotification:(NSNotification*)note{ + [JSEventHelper triggerEvent:@"sleep" forWebView:self.webView]; +} + +- (void) receiveWakeNotification:(NSNotification*)note{ + [JSEventHelper triggerEvent:@"wake" forWebView:self.webView]; +} + +- (void) receiveActivateNotification:(NSNotification*)notification{ + NSDictionary* userInfo = [notification userInfo]; + NSRunningApplication* runningApplication = [userInfo objectForKey:NSWorkspaceApplicationKey]; + if (runningApplication) { + NSMutableDictionary* applicationDidGetFocusDict = [[NSMutableDictionary alloc] initWithCapacity:2]; + [applicationDidGetFocusDict setObject:runningApplication.localizedName + forKey:@"localizedName"]; + [applicationDidGetFocusDict setObject:[runningApplication.bundleURL absoluteString] + forKey:@"bundleURL"]; + + [JSEventHelper triggerEvent:@"appActivated" withArgs:applicationDidGetFocusDict forWebView:self.webView]; + } +} + + + + +/* + To get the elapsed time since the previous input event—keyboard, mouse, or tablet—specify kCGAnyInputEventType. + */ +- (NSNumber*)systemIdleTime { + CFTimeInterval timeSinceLastEvent = CGEventSourceSecondsSinceLastEventType(kCGEventSourceStateHIDSystemState, kCGAnyInputEventType); + + return [NSNumber numberWithDouble:timeSinceLastEvent]; +} + + + + ++ (NSString*) webScriptNameForSelector:(SEL)selector +{ + id result = nil; + + if (selector == @selector(open:)) { + result = @"open"; + } else if (selector == @selector(launch:)) { + result = @"launch"; + } else if (selector == @selector(setCustomUserAgent:)) { + result = @"setCustomUserAgent"; + } else if (selector == @selector(systemIdleTime)) { + result = @"systemIdleTime"; + } + + return result; +} + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return NO; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.h new file mode 100755 index 00000000..65d6b6d4 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.h @@ -0,0 +1,18 @@ +// +// Command.h +// MacGap +// +// Created by Joe Hildebrand on 1/10/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import +#import + +@interface Command : NSObject { + JSContextRef context; +} + +- (id) initWithContext:(JSContextRef)aContext; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.m new file mode 100755 index 00000000..39b85630 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Command.m @@ -0,0 +1,28 @@ +// +// Command.m +// MacGap +// +// Created by Joe Hildebrand on 1/10/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "Command.h" +#import + +@implementation Command + +- (id) initWithContext:(JSContextRef)aContext { + self = [super init]; + if (!self) + return nil; + context = aContext; + JSGlobalContextRetain((JSGlobalContextRef)context); + return self; +} + +- (void)dealloc +{ + if (context) + JSGlobalContextRelease((JSGlobalContextRef)context); +} +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.h new file mode 100644 index 00000000..b3c533d7 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.h @@ -0,0 +1,11 @@ +#import + +@interface Dock : NSObject { + +} +- (void) setBadge:(NSString*)value; +- (NSString *) badge; + +@property (readwrite, copy) NSString *badge; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.m new file mode 100644 index 00000000..a4494d16 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Dock.m @@ -0,0 +1,31 @@ +#import "Dock.h" + +@implementation Dock + +@synthesize badge; + +- (void) setBadge:(NSString *)value +{ + NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; + [tile setBadgeLabel:value]; +} + +- (NSString *) badge +{ + NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; + return [tile badgeLabel]; +} + +#pragma mark WebScripting Protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return NO; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return NO; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.h new file mode 100755 index 00000000..d765978f --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.h @@ -0,0 +1,31 @@ +// +// MenuItemProxy.h +// MacGap +// +// Created by Joe Hildebrand on 1/15/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "Command.h" +#import "CallbackDelegate.h" + +@class MenuProxy; + +@interface MenuItemProxy : Command { + NSMenuItem *item; + CallbackDelegate *callback; +} + ++ (MenuItemProxy*) proxyWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem; + +- (MenuProxy*)addSubmenu; + +- (void) remove; +- (void) setCallback:(WebScriptObject*)aCallback; +- (void) setKey:(NSString*)keyCommand; +- (void) setTitle:(NSString*)title; +- (void) enable; +- (void) disable; +- (MenuProxy*)submenu; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.m new file mode 100755 index 00000000..7b9702cc --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuItemProxy.m @@ -0,0 +1,150 @@ +// +// MenuItemProxy.m +// MacGap +// +// Created by Joe Hildebrand on 1/15/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "MenuItemProxy.h" +#import "MenuProxy.h" + +@implementation MenuItemProxy + +- (id) initWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem +{ + NSAssert(anItem, @"anItem required"); + self = [super initWithContext:aContext]; + if (!self) + return nil; + item = anItem; + item.representedObject = self; + + return self; +} + ++ (MenuItemProxy*) proxyWithContext:(JSContextRef)aContext andMenuItem:(NSMenuItem*)anItem +{ + MenuItemProxy *proxy = [anItem representedObject]; + if (proxy) + { + NSLog(@"MIP Cache hit"); + NSAssert([proxy class] == [MenuItemProxy class], @"Bad proxy"); + return proxy; + } + return [[MenuItemProxy alloc] initWithContext:aContext andMenuItem:anItem]; +} + +- (NSString*) description +{ + return [item description]; +} + +- (MenuProxy*)addSubmenu +{ + NSMenu *s = [item submenu]; + if (!s) + { + s = [[NSMenu alloc] initWithTitle:@"FFFFFFOOOOO"]; + [item setSubmenu:s]; + } + return [MenuProxy proxyWithContext:context andMenu:s]; +} + +- (void) remove +{ + NSMenu *menu = [item menu]; + [menu removeItem:item]; +} + +- (void)callCallback:(id)sender +{ + [callback callWithParams:[sender title], nil]; +} + +- (void) setCallback:(WebScriptObject*)aCallback +{ + NSAssert(item, @"item required"); + callback = [[CallbackDelegate alloc] initWithContext:context forCallback:aCallback]; + [item setAction:@selector(callCallback:)]; + [item setTarget:self]; +} + +- (void)setKey:(NSString*)keyCommand +{ + NSString *aKey = [MenuProxy getKeyFromString:keyCommand]; + [item setKeyEquivalent:aKey]; + + NSUInteger modifiers = [MenuProxy getModifiersFromString:keyCommand]; + [item setKeyEquivalentModifierMask:modifiers]; +} + +- (void) setTitle:(NSString*)title +{ + [item setTitle:title]; +} + +- (MenuProxy*)submenu; +{ + // TODO: make this work as a property + NSMenu *s = [item submenu]; + if (!s) + return nil; + return [MenuProxy proxyWithContext:context andMenu:s]; +} + +- (void) enable +{ + [item setEnabled:YES]; +} + +- (void) disable +{ + [item setEnabled:NO]; +} + +#pragma mark WebScripting protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return [self webScriptNameForSelector:selector] == nil; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector +{ + id result = nil; + + if (selector == @selector(addSubmenu)) { + result = @"addSubmenu"; + } + else if (selector == @selector(remove)) { + result = @"remove"; + } + else if (selector == @selector(setCallback:)) { + result = @"setCallback"; + } + else if (selector == @selector(setKey:)) { + result = @"setKey"; + } + else if (selector == @selector(setTitle:)) { + result = @"setTitle"; + } + else if (selector == @selector(submenu)) { + result = @"submenu"; + } + else if (selector == @selector(enable)) { + result = @"enable"; + } + else if (selector == @selector(disable)) { + result = @"disable"; + } + + return result; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.h new file mode 100755 index 00000000..afd6c6ed --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.h @@ -0,0 +1,31 @@ +// +// MenuProxy.h +// MacGap +// +// Created by Joe Hildebrand on 1/14/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "Command.h" + +@class MenuItemProxy; + +@interface MenuProxy : Command { + NSMenu *menu; +} + ++ (MenuProxy*)proxyWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu; + +- (MenuItemProxy*)addItemWithTitle:(NSString*)title + keyEquivalent:(NSString*)aKey + callback:(WebScriptObject*)aCallback + atIndex:(NSInteger)index; + +- (MenuItemProxy*)addSeparator; +- (MenuItemProxy*)itemForKey:(id)key; +- (MenuProxy*)removeItem:(id)key; + ++ (NSString*)getKeyFromString:(NSString*)keyCommand; ++ (NSUInteger*)getModifiersFromString:(NSString*)keyCommand; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.m new file mode 100755 index 00000000..5bc10a76 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/MenuProxy.m @@ -0,0 +1,233 @@ +// +// MenuProxy.m +// MacGap +// +// Created by Joe Hildebrand on 1/14/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import +#import + +#import "MenuProxy.h" +#import "MenuItemProxy.h" + +static char REPRESENTED_OBJECT; + +@interface NSMenu (represented) +@property (strong) id representedObject; +@end + +@implementation NSMenu (represented) + +- (id) representedObject +{ + return objc_getAssociatedObject(self, &REPRESENTED_OBJECT); +} + +- (void) setRepresentedObject:(id)representedObject +{ + objc_setAssociatedObject(self, + &REPRESENTED_OBJECT, + representedObject, + OBJC_ASSOCIATION_RETAIN); +} + +@end + +@implementation MenuProxy + +- (id) initWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu +{ + self = [super initWithContext:aContext]; + if (!self) + return nil; + menu = aMenu; + menu.representedObject = self; + return self; +} + ++ (MenuProxy*)proxyWithContext:(JSContextRef)aContext andMenu:(NSMenu*)aMenu +{ + // singleton-ish. + MenuProxy *ret = [aMenu representedObject]; + if (ret) + { + NSLog(@"MP cache hit"); + return ret; + } + return [[MenuProxy alloc] initWithContext:aContext andMenu:aMenu]; +} + +- (void) dealloc +{ + menu.representedObject = nil; +} + +- (NSString*) description +{ + return [menu description]; +} + +static BOOL isNullish(id o) +{ + if (!o) + return YES; + if ([o isKindOfClass:[WebUndefined class]]) + return YES; + return NO; +} + +- (MenuItemProxy*)addItemWithTitle:(NSString*)title + keyEquivalent:(NSString*)keyCommand + callback:(WebScriptObject*)aCallback + atIndex:(NSInteger)index +{ + if (isNullish(title)) + title = @""; + + NSString *aKey = [MenuProxy getKeyFromString:keyCommand]; + NSMenuItem *item = nil; + + if(index) { + item = [menu insertItemWithTitle:title action:nil keyEquivalent:aKey atIndex:index ]; + } else { + item = [menu addItemWithTitle:title action:nil keyEquivalent:aKey ]; + + } + + // Set the modifiers. + NSUInteger modifiers = [MenuProxy getModifiersFromString:keyCommand]; + [item setKeyEquivalentModifierMask:modifiers]; + + if(!menu.supermenu) { + NSMenu *s = [[NSMenu alloc] initWithTitle:title]; + [item setSubmenu:s]; + } + + MenuItemProxy *mip = [MenuItemProxy proxyWithContext:context andMenuItem:item]; + if (!isNullish(aCallback)) + [mip setCallback:aCallback]; + + + return mip; +} + ++ (NSString*)getKeyFromString:(NSString*)keyCommand { + if (isNullish(keyCommand)) + keyCommand = @""; + + // Obtain the key (if there are modifiers, it will be the last character). + NSString *aKey = @""; + if ([keyCommand length] > 0) { + aKey = [keyCommand substringFromIndex:[keyCommand length] - 1]; + } + + return aKey; +} + ++ (NSUInteger*)getModifiersFromString:(NSString*)keyCommand { + // aKeys may optionally specify one or more modifiers. + NSUInteger modifiers = 0; + + if ([keyCommand rangeOfString:@"caps"].location != NSNotFound) modifiers += NSAlphaShiftKeyMask; + if ([keyCommand rangeOfString:@"shift"].location != NSNotFound) modifiers += NSShiftKeyMask; + if ([keyCommand rangeOfString:@"cmd"].location != NSNotFound) modifiers += NSCommandKeyMask; + if ([keyCommand rangeOfString:@"ctrl"].location != NSNotFound) modifiers += NSControlKeyMask; + if ([keyCommand rangeOfString:@"opt"].location != NSNotFound) modifiers += NSAlternateKeyMask; + if ([keyCommand rangeOfString:@"alt"].location != NSNotFound) modifiers += NSAlternateKeyMask; + + return modifiers; +} + +- (MenuItemProxy*)addSeparator +{ + NSMenuItem *sep = [NSMenuItem separatorItem]; + [menu addItem:sep]; + return [MenuItemProxy proxyWithContext:context andMenuItem:sep]; +} + +- (MenuItemProxy*)itemForKey:(id)key +{ + if (isNullish(key)) + return nil; + NSMenuItem *item = nil; + if ([key isKindOfClass:[NSNumber class]]) + { + item = [menu itemAtIndex:[key intValue]]; + } + else if ([key isKindOfClass:[NSString class]]) + { + item = [menu itemWithTitle:key]; + if (!item) + { + // Try again, with ... appended. e.g. "Save..." + item = [menu itemWithTitle: + [key stringByAppendingString:@"\u2026"]]; + } + } + if (!item) + return nil; + + return [MenuItemProxy proxyWithContext:context andMenuItem:item]; +} + +- (MenuProxy*)removeItem:(id)key +{ + if (isNullish(key)) + return nil; + + NSMenuItem *item = nil; + if ([key isKindOfClass:[NSNumber class]]) + { + item = [menu itemAtIndex:[key intValue]]; + } + else if ([key isKindOfClass:[NSString class]]) + { + item = [menu itemWithTitle:key]; + if (!item) + { + // Try again, with ... appended. e.g. "Save..." + item = [menu itemWithTitle: + [key stringByAppendingString:@"\u2026"]]; + } + } + if (!item) + return nil; + + [menu removeItem:item]; + return [MenuProxy proxyWithContext:context andMenu:menu]; +} + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return [self webScriptNameForSelector:selector] == nil; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector +{ + id result = nil; + + if (selector == @selector(addItemWithTitle:keyEquivalent:callback:atIndex:)) { + result = @"addItem"; + } + else if (selector == @selector(addSeparator)) { + result = @"addSeparator"; + } + else if (selector == @selector(itemForKey:)) { + result = @"getItem"; + } + else if (selector == @selector(removeItem:)) { + result = @"removeMenu"; + } + + return result; +} + + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.h new file mode 100644 index 00000000..51077a43 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.h @@ -0,0 +1,26 @@ +// +// Notice.h +// MacGap +// +// Created by Christian Sullivan on 7/26/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import +#import "WindowController.h" + +#define APP_NOTICE_NOTIFICATION @"Notice" + +@interface Notice : NSObject { + +} + +@property (nonatomic, retain) WebView *webView; + +- (id) initWithWebView:(WebView *)view; +- (void) notify:(NSDictionary*)message; +- (void) close:(NSString*)notificationId; ++ (BOOL) available; + +@end + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.m new file mode 100644 index 00000000..a4095f9f --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Notice.m @@ -0,0 +1,108 @@ +// +// Notice.m +// MacGap +// +// Created by Christian Sullivan on 7/26/12. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "Notice.h" + +#import "JSEventHelper.h" + +@implementation Notice + +- (id) initWithWebView:(WebView*)view +{ + if(self = [super init]) { + self.webView = view; + [[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self]; + } + return self; +} + +- (void) notify:(NSDictionary *)message { + NSUserNotification *notification = [[NSUserNotification alloc] init]; + [notification setTitle:[message valueForKey:@"title"]]; + [notification setInformativeText:[message valueForKey:@"content"]]; + [notification setDeliveryDate:[NSDate dateWithTimeInterval:0 sinceDate:[NSDate date]]]; + BOOL playSound = true; // optional parameter, false only when {sound: false} + @try { + NSNumber *s = [message valueForKey:@"sound"]; + if ([[s className] isEqual: @"__NSCFBoolean"]) { + playSound = [s boolValue]; + } + } + @catch (NSException *exception) { + } + if (playSound) { + [notification setSoundName:NSUserNotificationDefaultSoundName]; + } + NSString *id = @""; // optional, needed for close + @try { + id = [message valueForKey:@"id"]; + } + @catch (NSException *exception) { + } + [notification setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:id, @"id", nil]]; + NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter]; + [center scheduleNotification:notification]; +} + +// close all notifications with id == notificationId or close all notifications if notificationId == "*" +- (void) close:(NSString*)notificationId { + NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter]; + for(NSUserNotification * deliveredNote in center.deliveredNotifications) { + if ([notificationId isEqualToString:@"*"] || [deliveredNote.userInfo[@"id"] isEqualToString:notificationId]) { + [center removeDeliveredNotification: deliveredNote]; + } + } +} + ++ (BOOL) available { + if ([NSUserNotificationCenter respondsToSelector:@selector(defaultUserNotificationCenter)]) + return YES; + + return NO; +} + +- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification +{ + NSString *notificationId = [notification.userInfo valueForKey:@"id"]; + [JSEventHelper triggerEvent:@"macgap.notify.activated" forDetail:notificationId forWebView:self.webView]; +} + +#pragma mark WebScripting Protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + BOOL result = YES; + if (selector == @selector(notify:)) + result = NO; + if (selector == @selector(close:)) + result = NO; + + return result; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector +{ + id result = nil; + + if (selector == @selector(notify:)) { + result = @"notify"; + } + if (selector == @selector(close:)) { + result = @"close"; + } + + return result; +} + +// right now exclude all properties (eg keys) ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.h new file mode 100644 index 00000000..f931340d --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.h @@ -0,0 +1,21 @@ +#import + +@interface Path : NSObject { + +} + +- (NSString *) application; +- (NSString *) resource; +- (NSString *) documents; +- (NSString *) library; +- (NSString *) home; +- (NSString *) temp; + +@property (readonly,copy) NSString* application; +@property (readonly,copy) NSString* resource; +@property (readonly,copy) NSString* documents; +@property (readonly,copy) NSString* library; +@property (readonly,copy) NSString* home; +@property (readonly,copy) NSString* temp; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.m new file mode 100644 index 00000000..8c54100f --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Path.m @@ -0,0 +1,53 @@ +#import "Path.h" + +@implementation Path + +@synthesize application; +@synthesize resource; +@synthesize documents; +@synthesize library; +@synthesize home; +@synthesize temp; + +- (NSString *)application { + return [[NSBundle mainBundle] bundlePath]; +} + +- (NSString *)resource { + return [[NSBundle mainBundle] resourcePath]; +} + +- (NSString *)documents { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + return [paths objectAtIndex:0]; +} + +- (NSString *)library { + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); + NSLog( @"%@", paths ); + return [paths objectAtIndex:0]; +} + +- (NSString *)home { + return NSHomeDirectory(); +} + +- (NSString *)temp { + return NSTemporaryDirectory(); +} + +#pragma mark WebScripting Protocol + +/* checks whether a selector is acceptable to be called from JavaScript */ ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return NO; +} + +// right now exclude all properties (eg keys) ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return NO; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.h new file mode 100644 index 00000000..06707643 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.h @@ -0,0 +1,17 @@ +#import +#import "Command.h" +#import "CallbackDelegate.h" + + +@interface Sound : Command { + +} + +// pending callbacks for sounds being played, to keep +// ARC from freeing them too early +@property (nonatomic, strong) NSMutableSet *pending; + +- (void) play:(NSString*)file onComplete:(WebScriptObject*)callback; +- (void) playSystem:(NSString*)name onComplete:(WebScriptObject*)callback; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.m new file mode 100644 index 00000000..9f4a44db --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/Sound.m @@ -0,0 +1,97 @@ +#import "Sound.h" + + +@interface PlayDelegate : CallbackDelegate { +} + +@property (nonatomic, weak) Sound *sound; + +- (id) initWithContext:(JSContextRef)aContext + forCallback:(WebScriptObject*)aCallback + withSound:(Sound*)aSound; +@end + +@implementation PlayDelegate + +@synthesize sound; + +- (id) initWithContext:(JSContextRef)aContext + forCallback:(WebScriptObject*)aCallback + withSound:(Sound*)aSound +{ + self = [super initWithContext:aContext forCallback:aCallback]; + if (!self) + return nil; + sound = aSound; + return self; +} + +- (void)sound:(NSSound *)aSound didFinishPlaying:(BOOL)finishedPlaying { + [self callWithParams:[aSound name], nil]; + [sound.pending removeObject:self]; +} + +@end + +@implementation Sound + +@synthesize pending; + +- (id) initWithContext:(JSContextRef)aContext { + self = [super initWithContext:aContext]; + if (!self) { + return nil; + } + + pending = [NSMutableSet new]; + return self; +} + +- (void) playSound:(NSSound*)sound onComplete:(WebScriptObject*)callback { + if (callback != (id)[WebUndefined undefined]) { + PlayDelegate *d = [[PlayDelegate alloc] initWithContext:context + forCallback:callback + withSound:self]; + [pending addObject:d]; + [sound setDelegate:d]; + } + [sound play]; +} + +- (void) play:(NSString*)file onComplete:(WebScriptObject*)callback { + NSURL* fileUrl = [NSURL fileURLWithPath:[[Utils sharedInstance] pathForResource:file]]; + DebugNSLog(@"Sound file:%@", [fileUrl description]); + + NSSound* sound = [[NSSound alloc] initWithContentsOfURL:fileUrl byReference:YES]; + [self playSound:sound onComplete:callback]; +} + +- (void) playSystem:(NSString*)name onComplete:(WebScriptObject*)callback { + NSSound *systemSound = [NSSound soundNamed:name]; + [self playSound:systemSound onComplete:callback]; +} + +#pragma mark WebScripting Protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { + return [self webScriptNameForSelector:selector] == nil; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name { + return YES; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector { + id result = nil; + + if (selector == @selector(play:onComplete:)) { + result = @"play"; + } + else if (selector == @selector(playSystem:onComplete:)) { + result = @"playSystem"; + } + + return result; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.h new file mode 100644 index 00000000..269191b3 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.h @@ -0,0 +1,43 @@ +// +// UserDefaults.h +// MacGap +// +// Created by Jeff Hanbury on 16/04/2014. +// Copyright (c) 2014 Twitter. All rights reserved. +// + +#import + +#import "WindowController.h" + +@interface UserDefaults : NSObject + +@property (nonatomic, retain) WebView *webView; + +- (id) initWithWebView:(WebView *)view; +- (NSString*) getMyDefaults; +- (NSDictionary*) myDefaultsDictionary; +- (void) removeObjectForKey:(NSString*)key; +- (NSArray*) getUserDefaultsKeys; + +- (NSString*) addPrefix:(NSString*)key; + +- (void) setString:(NSString*)key withValue:(NSString*)value; +- (NSString*) getString:(NSString*)key; + +- (void) setInteger:(NSString*)key withValue:(NSString*)value; +- (NSNumber*) getInteger:(NSString*)key; + +- (void) setBool:(NSString*)key withValue:(NSString*)value; +- (NSNumber*) getBool:(NSString*)key; + +- (void) setFloat:(NSString*)key withValue:(NSString*)value; +- (NSNumber*) getFloat:(NSString*)key; + +// Could also be implemented: +//– setObject:forKey: +//– setDouble:forKey: +//– setURL:forKey: + +@end + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.m new file mode 100644 index 00000000..48568710 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/UserDefaults.m @@ -0,0 +1,211 @@ +// +// UserDefaults.m +// MacGap +// +// Created by Jeff Hanbury on 16/04/2014. +// Copyright (c) 2014 Twitter. All rights reserved. +// + +#import "UserDefaults.h" +#import "JSEventHelper.h" + +@interface UserDefaults() { + +} + +-(void) setupNotificationCenter; + +@end + + +@implementation UserDefaults + +- (id) initWithWebView:(WebView *) view{ + self = [super init]; + + if (self) { + self.webView = view; + [self setupNotificationCenter]; + } + + return self; +} + + +-(void) setupNotificationCenter{ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(defaultsChanged:) + name:NSUserDefaultsDidChangeNotification + object:nil]; +} + +- (void)defaultsChanged:(NSNotification *)notification { + NSDictionary* returnDict = [self myDefaultsDictionary]; + [JSEventHelper triggerEvent:@"userDefaultsChanged" withArgs:returnDict forWebView:self.webView]; +} + +- (NSString*) getMyDefaults { + NSDictionary* myDefaults = [self myDefaultsDictionary]; + + return [[Utils sharedInstance] convertDictionaryToJSON:myDefaults]; +} + +- (NSDictionary*) myDefaultsDictionary { + NSString* prefix = [kWebScriptNamespace stringByAppendingString:@"_"]; + NSMutableDictionary* returnDict = [[NSMutableDictionary alloc] init]; + + // Get the user defaults. + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + + // Build up a dictionary containing just the items beginning with our + // prefix. + for (NSString* key in [self getUserDefaultsKeys]) { + if ([key hasPrefix:prefix]) { + id val = [defaults valueForKey:key]; + [returnDict setObject:val forKey:key]; + } + } + + return returnDict; +} + +- (NSArray*) getUserDefaultsKeys { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + return [[prefs dictionaryRepresentation] allKeys]; +} + +- (void) removeObjectForKey:(NSString*)key { + NSString* prefixedKey; + prefixedKey = [self addPrefix:key]; + + [[NSUserDefaults standardUserDefaults] removeObjectForKey:prefixedKey]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +// Check we have a standard prefix for JS-modified keys, for security purposes. +// If not, add it. This stops JavaScript from ever being able to modify keys +// it did not create. +- (NSString*) addPrefix:(NSString*)key { + NSString* prefix; + prefix = [kWebScriptNamespace stringByAppendingString:@"_"]; + + if (![key hasPrefix:prefix]) { + key = [prefix stringByAppendingString:key]; + } + return key; +} + +// String + +- (void) setString:(NSString*)key withValue:(NSString*)value { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + NSString* prefixedKey; + prefixedKey = [self addPrefix:key]; + [prefs setObject:value forKey:prefixedKey]; +} + +- (NSString*) getString:(NSString *)key { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + return [prefs stringForKey:key]; +} + +// All the following must convert their type to NSNumber for JavaScript. + +// Integer + +- (void) setInteger:(NSString*)key withValue:(NSString*)value { + NSString* prefixedKey; + prefixedKey = [self addPrefix:key]; + + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + NSInteger myInt = [value intValue]; + [prefs setInteger:myInt forKey:prefixedKey]; +} + +- (NSNumber*) getInteger:(NSString *)key { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + return [NSNumber numberWithInteger:[prefs integerForKey:key]]; +} + +// Boolean + +- (void) setBool:(NSString*)key withValue:(NSString*)value { + NSString* prefixedKey; + prefixedKey = [self addPrefix:key]; + + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + BOOL myBool = [value boolValue]; + [prefs setBool:myBool forKey:prefixedKey]; +} + +- (NSNumber*) getBool:(NSString *)key { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + return [NSNumber numberWithBool:[prefs boolForKey:key]]; +} + +// Float + +- (void) setFloat:(NSString*)key withValue:(NSString*)value { + NSString* prefixedKey; + prefixedKey = [self addPrefix:key]; + + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + float myFloat = [value floatValue]; + [prefs setFloat:myFloat forKey:prefixedKey]; +} + +- (NSNumber*) getFloat:(NSString *)key { + NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; + return [NSNumber numberWithFloat:[prefs floatForKey:key]]; +} + + +#pragma mark WebScripting Protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { + return NO; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector { + id result = nil; + + if (selector == @selector(getMyDefaults)) { + result = @"getMyDefaults"; + } + + if (selector == @selector(removeObjectForKey:)) { + result = @"removeObjectForKey"; + } + + else if (selector == @selector(setString:withValue:)) { + result = @"setString"; + } else if (selector == @selector(getString:)) { + result = @"getString"; + } + + else if (selector == @selector(setInteger:withValue:)) { + result = @"setInteger"; + } else if (selector == @selector(getInteger:)) { + result = @"getInteger"; + } + + else if (selector == @selector(setBool:withValue:)) { + result = @"setBool"; + } else if (selector == @selector(getBool:)) { + result = @"getBool"; + } + + else if (selector == @selector(setFloat:withValue:)) { + result = @"setFloat"; + } else if (selector == @selector(getFloat:)) { + result = @"getFloat"; + } + + return result; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name { + return NO; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.h new file mode 100644 index 00000000..62c7b7e8 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.h @@ -0,0 +1,9 @@ +@interface Fonts : NSObject { +} + +- (NSArray*) availableFonts; +- (NSArray*) availableFontFamilies; +- (NSArray*) availableMembersOfFontFamily:(NSString*)fontFamily; +- (CGFloat) defaultLineHeightForFont:(NSString *)theFontName ofSize:(CGFloat)theFontSize; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.m new file mode 100644 index 00000000..b17818a5 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Commands/fonts.m @@ -0,0 +1,48 @@ +#import "fonts.h" + +@implementation Fonts + + +- (NSArray*) availableFonts { + return [[NSFontManager sharedFontManager] availableFonts]; +} + +- (NSArray*) availableFontFamilies { + return [[NSFontManager sharedFontManager] availableFontFamilies]; +} + +- (NSArray*) availableMembersOfFontFamily:(NSString *)fontFamily { + return [[NSFontManager sharedFontManager] availableMembersOfFontFamily:fontFamily]; +} + +- (CGFloat) defaultLineHeightForFont:(NSString*)theFontName ofSize:(CGFloat)theFontSize { + NSFont *theFont = [NSFont fontWithName:theFontName size:theFontSize]; + NSLayoutManager *lm = [[NSLayoutManager alloc] init]; + + return [lm defaultLineHeightForFont:theFont]; +} + + +#pragma mark WebScripting Protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector { + return NO; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector { + id result = nil; + + if (selector == @selector(availableMembersOfFontFamily:)) { + result = @"availableMembersOfFontFamily"; + } else if (selector == @selector(defaultLineHeightForFont:ofSize:)) { + result = @"defaultLineHeightForFont"; + } + + return result; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name { + return NO; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Constants.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Constants.h new file mode 100644 index 00000000..1fe59d6c --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Constants.h @@ -0,0 +1,7 @@ +// Application constants + +#define kStartPage @"http://127.0.0.1:9993/" + +#define kStartFolder @"." + +#define kWebScriptNamespace @"macgap" \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.h new file mode 100644 index 00000000..65890a5e --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.h @@ -0,0 +1,15 @@ +#import +#import + +@class WebViewDelegate; + +@interface ContentView : NSView { + IBOutlet WebView* webView; + WebViewDelegate* delegate; +} + +@property (retain) WebView* webView; +@property (retain) WebViewDelegate* delegate; +@property (strong) IBOutlet NSMenu *mainMenu; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.m new file mode 100644 index 00000000..24e58cd1 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/ContentView.m @@ -0,0 +1,68 @@ +#import "ContentView.h" +#import "WebViewDelegate.h" +#import "AppDelegate.h" +#import "JSEventHelper.h" + +@interface WebPreferences (WebPreferencesPrivate) + - (void)_setLocalStorageDatabasePath:(NSString *)path; + - (void) setLocalStorageEnabled: (BOOL) localStorageEnabled; + - (void) setDatabasesEnabled:(BOOL)databasesEnabled; + - (void) setDeveloperExtrasEnabled:(BOOL)developerExtrasEnabled; + - (void) setWebGLEnabled:(BOOL)webGLEnabled; + - (void) setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled; +@end + +@implementation ContentView + +@synthesize webView, delegate, mainMenu; + +- (void) awakeFromNib +{ + WebPreferences *webPrefs = [WebPreferences standardPreferences]; + + NSString *cappBundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]; + NSString *applicationSupportFile = [@"~/Library/Application Support/" stringByExpandingTildeInPath]; + NSString *savePath = [NSString pathWithComponents:[NSArray arrayWithObjects:applicationSupportFile, cappBundleName, @"LocalStorage", nil]]; + [webPrefs _setLocalStorageDatabasePath:savePath]; + [webPrefs setLocalStorageEnabled:YES]; + [webPrefs setDatabasesEnabled:YES]; + [webPrefs setDeveloperExtrasEnabled:[[NSUserDefaults standardUserDefaults] boolForKey: @"developer"]]; + [webPrefs setOfflineWebApplicationCacheEnabled:YES]; + [webPrefs setWebGLEnabled:YES]; + + [self.webView setPreferences:webPrefs]; + + NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage + sharedHTTPCookieStorage]; + [cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; + + [self.webView setApplicationNameForUserAgent: @"MacGap"]; + + self.delegate = [[WebViewDelegate alloc] initWithMenu:[NSApp mainMenu]]; + [self.webView setFrameLoadDelegate:self.delegate]; + [self.webView setUIDelegate:self.delegate]; + [self.webView setResourceLoadDelegate:self.delegate]; + [self.webView setDownloadDelegate:self.delegate]; + [self.webView setPolicyDelegate:self.delegate]; + [self.webView setDrawsBackground:NO]; + [self.webView setShouldCloseWithWindow:NO]; + + [self.webView setGroupName:@"MacGap"]; + +} + +- (void) windowResized:(NSNotification*)notification; +{ + NSWindow* window = (NSWindow*)notification.object; + NSSize size = [window frame].size; + + DebugNSLog(@"window width = %f, window height = %f", size.width, size.height); + + bool isFullScreen = (window.styleMask & NSFullScreenWindowMask) == NSFullScreenWindowMask; + int titleBarHeight = isFullScreen ? 0 : [[Utils sharedInstance] titleBarHeight:window]; + + [self.webView setFrame:NSMakeRect(0, 0, size.width, size.height - titleBarHeight)]; + [JSEventHelper triggerEvent:@"orientationchange" forWebView:self.webView]; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.h new file mode 100644 index 00000000..401f3e39 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.h @@ -0,0 +1,20 @@ +// +// Helper.h +// MacGap +// +// Created by Liam Kaufman Simpkins on 12-01-22. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import +#import "WindowController.h" + +@interface JSEventHelper : NSObject + ++ (void) triggerEvent:(NSString *)event forWebView:(WebView *)webView; ++ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forWebView:(WebView *)webView; ++ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forObject:(NSString *)objName forWebView:(WebView *)webView; ++ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forWebView:(WebView *)webView; ++ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forObject:(NSString *)objName forWebView:(WebView *)webView; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.m new file mode 100644 index 00000000..65406b3c --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/JSEventHelper.m @@ -0,0 +1,41 @@ +// +// Helper.m +// MacGap +// +// Created by Liam Kaufman Simpkins on 12-01-22. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import "JSEventHelper.h" + +@implementation JSEventHelper + ++ (void) triggerEvent:(NSString *)event forWebView:(WebView *)webView { + [self triggerEvent:event withArgs:[NSMutableDictionary dictionary] forObject:@"document" forWebView:webView]; +} + ++ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forWebView:(WebView *)webView { + [self triggerEvent:event withArgs:args forObject:@"document" forWebView:webView]; +} + ++ (void) triggerEvent:(NSString *)event withArgs:(NSDictionary *)args forObject:(NSString *)objName forWebView:(WebView *)webView { + + // Convert args Dictionary to JSON. + NSString* jsonString = [[Utils sharedInstance] convertDictionaryToJSON:args]; + + // Create the event JavaScript and run it. + NSString * str = [NSString stringWithFormat:@"var e = document.createEvent('Events'); e.initEvent('%@', true, false); e.data=%@; %@.dispatchEvent(e); ", event, jsonString, objName]; + [webView stringByEvaluatingJavaScriptFromString:str]; +} + ++ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forWebView:(WebView *)webView { + [self triggerEvent:event forDetail:detail forObject:@"document" forWebView:webView]; +} + ++ (void) triggerEvent:(NSString *)event forDetail:(NSString *)detail forObject:(NSString *)objName forWebView:(WebView *)webView { + NSString *detailEscaped = [detail stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; + NSString *str = [NSString stringWithFormat:@"var e = new CustomEvent('%@', { 'detail': decodeURIComponent(\"%@\") }); %@.dispatchEvent(e); ", event, detailEscaped, objName]; + [webView stringByEvaluatingJavaScriptFromString:str]; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.h new file mode 100644 index 00000000..f573d881 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.h @@ -0,0 +1,20 @@ +#import +#import + +#define DEG_EPS 0.001 +#define fequal(a,b) (fabs((a) - (b)) < DEG_EPS) +#define fequalzero(a) (fabs(a) < DEG_EPS) + +@class LoadingView; + +@interface Utils : NSObject { +} + +- (float) titleBarHeight:(NSWindow*)aWindow; +- (NSString*) pathForResource:(NSString*)resourcepath; +- (NSString*) convertDictionaryToJSON:(NSDictionary*)dict; +- (NSArray*) convertJSarrayToNSArray:(WebScriptObject*)jsArray; + ++ (Utils*) sharedInstance; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.m new file mode 100644 index 00000000..8d85c294 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Utils.m @@ -0,0 +1,93 @@ +#import "Utils.h" +#import + +static Utils* sharedInstance = nil; + +@implementation Utils + +- (float) titleBarHeight:(NSWindow*)aWindow +{ + NSRect frame = [aWindow frame]; + NSRect contentRect = [NSWindow contentRectForFrameRect: frame + styleMask: NSTitledWindowMask]; + + return (frame.size.height - contentRect.size.height); +} + +- (NSString*) pathForResource:(NSString*)resourcepath +{ + NSBundle * mainBundle = [NSBundle mainBundle]; + NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[resourcepath componentsSeparatedByString:@"/"]]; + NSString *filename = [directoryParts lastObject]; + [directoryParts removeLastObject]; + + NSString *directoryStr = [NSString stringWithFormat:@"%@/%@", kStartFolder, [directoryParts componentsJoinedByString:@"/"]]; + return [mainBundle pathForResource:filename + ofType:@"" + inDirectory:directoryStr]; +} + +- (NSString*) convertDictionaryToJSON:(NSDictionary*)dict { + // Convert defaults Dictionary to JSON. + NSError *error; + NSData *jsonData = [NSJSONSerialization + dataWithJSONObject:dict + options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string + error:&error]; + + NSString *jsonString; + if (! jsonData) { + NSLog(@"Got an error converting to JSON: %@", error); + } + else { + jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + } + + return jsonString; +} + +// Convert JavaScript array (arrives as a WebScriptObject) into an NSArray of strings. +- (NSArray*) convertJSarrayToNSArray:(WebScriptObject*)jsArray { + NSInteger count = [[jsArray valueForKey:@"length"] integerValue]; + + NSMutableArray *args = [NSMutableArray array]; + for (int i = 0; i < count; i++) { + NSString *item = [jsArray webScriptValueAtIndex:i]; + if ([item isKindOfClass:[NSString class]]) { + [args addObject:item]; + } + } + + return args; +} + +#pragma mark - +#pragma mark Singleton methods + ++ (Utils*) sharedInstance +{ + @synchronized(self) + { + if (sharedInstance == nil){ + sharedInstance = [[Utils alloc] init]; + } + } + return sharedInstance; +} + ++ (id) allocWithZone:(NSZone *)zone { + @synchronized(self) { + if (sharedInstance == nil) { + sharedInstance = [super allocWithZone:zone]; + return sharedInstance; // assignment and return on first allocation + } + } + return nil; // on subsequent allocation attempts return nil +} + +- (id) copyWithZone:(NSZone *)zone +{ + return self; +} + +@end \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.h new file mode 100644 index 00000000..49c6da6b --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.h @@ -0,0 +1,49 @@ +#import +#import + +@class Sound; +@class Dock; +@class Growl; +@class Notice; +@class Path; +@class App; +@class Window; +@class Clipboard; +@class Fonts; +@class MenuProxy; +@class UserDefaults; + +@class WindowController; + +@interface WebViewDelegate : NSObject { + Sound* sound; + Dock* dock; + Growl* growl; + Notice* notice; + Path* path; + App* app; + Window* window; + Clipboard* clipboard; + Fonts* fonts; + NSMenu *mainMenu; + UserDefaults* userDefaults; +} + + + +@property (nonatomic, retain) Sound* sound; +@property (nonatomic, retain) Dock* dock; +@property (nonatomic, retain) Growl* growl; +@property (nonatomic, retain) Notice* notice; +@property (nonatomic, retain) Path* path; +@property (nonatomic, retain) App* app; +@property (nonatomic, retain) Window* window; +@property (nonatomic, retain) Clipboard* clipboard; +@property (nonatomic, retain) Fonts* fonts; +@property (nonatomic, retain) MenuProxy* menu; +@property (nonatomic, retain) UserDefaults* userDefaults; + +@property (nonatomic, retain) WindowController *requestedWindow; + +- (id) initWithMenu:(NSMenu*)menu; +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.m new file mode 100644 index 00000000..50578018 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/WebViewDelegate.m @@ -0,0 +1,206 @@ +#import "WebViewDelegate.h" +#import "Sound.h" +#import "Dock.h" +#import "Notice.h" +#import "Path.h" +#import "App.h" +#import "Window.h" +#import "WindowController.h" +#import "Clipboard.h" +#import "Fonts.h" +#import "MenuProxy.h" +#import "UserDefaults.h" + +@implementation WebViewDelegate + +@synthesize sound; +@synthesize dock; +@synthesize growl; +@synthesize notice; +@synthesize path; +@synthesize app; +@synthesize window; +@synthesize requestedWindow; +@synthesize clipboard; +@synthesize fonts; +@synthesize menu; +@synthesize userDefaults; + +- (id) initWithMenu:(NSMenu*)aMenu +{ + self = [super init]; + if (!self) + return nil; + + mainMenu = aMenu; + return self; +} + +- (void) webView:(WebView*)webView didClearWindowObject:(WebScriptObject*)windowScriptObject forFrame:(WebFrame *)frame +{ + JSContextRef context = [frame globalContext]; + if (self.sound == nil) { self.sound = [[Sound alloc] initWithContext:context]; } + if (self.dock == nil) { self.dock = [Dock new]; } + if (self.path == nil) { self.path = [Path new]; } + if (self.clipboard == nil) { self.clipboard = [Clipboard new]; } + if (self.fonts == nil) { self.fonts = [Fonts new]; } + + if (self.notice == nil && [Notice available] == YES) { + self.notice = [[Notice alloc] initWithWebView:webView]; + } + + if (self.app == nil) { + self.app = [[App alloc] initWithWebView:webView]; + } + + if (self.window == nil) { + self.window = [[Window alloc] initWithWebView:webView]; + } + + if (self.menu == nil) { + self.menu = [MenuProxy proxyWithContext:context andMenu:mainMenu]; + } + + if (self.userDefaults == nil) { + self.userDefaults = [[UserDefaults alloc] initWithWebView:webView]; + } + + [windowScriptObject setValue:self forKey:kWebScriptNamespace]; +} + + +- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id < WebOpenPanelResultListener >)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles{ + + NSOpenPanel * openDlg = [NSOpenPanel openPanel]; + + [openDlg setCanChooseFiles:YES]; + [openDlg setCanChooseDirectories:NO]; + + [openDlg beginWithCompletionHandler:^(NSInteger result){ + if (result == NSFileHandlingPanelOKButton) { + NSArray * files = [[openDlg URLs] valueForKey: @"relativePath"]; + [resultListener chooseFilenames: files]; + } else { + [resultListener cancel]; + } + }]; +} + +- (void) webView:(WebView*)webView addMessageToConsole:(NSDictionary*)message +{ + if (![message isKindOfClass:[NSDictionary class]]) { + return; + } + + NSLog(@"JavaScript console: %@:%@: %@", + [[message objectForKey:@"sourceURL"] lastPathComponent], // could be nil + [message objectForKey:@"lineNumber"], + [message objectForKey:@"message"]); +} + +- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame +{ + NSAlert *alert = [[NSAlert alloc] init]; + [alert addButtonWithTitle:@"OK"]; + [alert setMessageText:message]; + [alert setAlertStyle:NSWarningAlertStyle]; + [alert runModal]; +} + +- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame +{ + NSAlert *alert = [[NSAlert alloc] init]; + [alert addButtonWithTitle:@"Yes"]; + [alert addButtonWithTitle:@"No"]; + [alert setMessageText:message]; + [alert setAlertStyle:NSWarningAlertStyle]; + + if ([alert runModal] == NSAlertFirstButtonReturn) + return YES; + else + return NO; +} + +/* + By default the size of a database is set to 0 [1]. When a database is being created + it calls this delegate method to get an increase in quota size - or call an error. + PS this method is defined in WebUIDelegatePrivate and may make it difficult, but + not impossible [2], to get an app accepted into the mac app store. + + Further reading: + [1] http://stackoverflow.com/questions/353808/implementing-a-webview-database-quota-delegate + [2] http://stackoverflow.com/questions/4527905/how-do-i-enable-local-storage-in-my-webkit-based-application/4608549#4608549 + */ +- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(id) origin database:(NSString *)databaseIdentifier +{ + static const unsigned long long defaultQuota = 5 * 1024 * 1024; + if ([origin respondsToSelector: @selector(setQuota:)]) { + [origin performSelector:@selector(setQuota:) withObject:[NSNumber numberWithLongLong: defaultQuota]]; + } else { + NSLog(@"could not increase quota for %lld", defaultQuota); + } +} + +- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems +{ + NSMutableArray *webViewMenuItems = [defaultMenuItems mutableCopy]; + + if (webViewMenuItems) + { + NSEnumerator *itemEnumerator = [defaultMenuItems objectEnumerator]; + NSMenuItem *menuItem = nil; + while ((menuItem = [itemEnumerator nextObject])) + { + NSInteger tag = [menuItem tag]; + + switch (tag) + { + case WebMenuItemTagOpenLinkInNewWindow: + case WebMenuItemTagDownloadLinkToDisk: + case WebMenuItemTagCopyLinkToClipboard: + case WebMenuItemTagOpenImageInNewWindow: + case WebMenuItemTagDownloadImageToDisk: + case WebMenuItemTagCopyImageToClipboard: + case WebMenuItemTagOpenFrameInNewWindow: + case WebMenuItemTagGoBack: + case WebMenuItemTagGoForward: + case WebMenuItemTagStop: + case WebMenuItemTagOpenWithDefaultApplication: + case WebMenuItemTagReload: + [webViewMenuItems removeObjectIdenticalTo: menuItem]; + } + } + } + + return webViewMenuItems; +} + +- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request{ + requestedWindow = [[WindowController alloc] initWithRequest:request]; + return requestedWindow.contentView.webView; +} + +- (void)webViewShow:(WebView *)sender{ + [requestedWindow showWindow:sender]; +} + +- (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id < WebPolicyDecisionListener >)listener +{ + [[NSWorkspace sharedWorkspace] openURL:[request URL]]; + [listener ignore]; +} + +#pragma mark WebScripting protocol + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return YES; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return NO; +} + + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.h new file mode 100644 index 00000000..f721376e --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.h @@ -0,0 +1,23 @@ +#import + +#import "WindowController.h" + +@interface Window : NSObject{ + CGRect _oldRestoreFrame; +} + +@property (retain, nonatomic) WindowController *windowController; +@property (nonatomic, retain) WebView *webView; + +- (id) initWithWebView:(WebView *)view; +- (void) open:(NSDictionary *)properties; +- (void) move:(NSDictionary *)properties; +- (void) resize:(NSDictionary *) properties; +- (Boolean) isMaximized; +- (CGFloat) getX; +- (CGFloat) getY; +- (void) maximize; +- (void) restore; +- (void) toggleFullscreen; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.m new file mode 100644 index 00000000..2444f62e --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Classes/Window.m @@ -0,0 +1,94 @@ +#import "Window.h" + +@implementation Window + +@synthesize windowController, webView; + +- (id) initWithWebView:(WebView*)view +{ + if(self = [super init]) { + self.webView = view; + } + return self; +} + +- (void) open:(NSDictionary *)properties +{ + self.windowController = [[WindowController alloc] initWithURL:[properties valueForKey:@"url"]]; + [self.windowController showWindow: [NSApplication sharedApplication].delegate]; + [self.windowController.window makeKeyWindow]; +} + +- (void) minimize { + [[NSApp mainWindow] miniaturize:[NSApp mainWindow]]; +} + +- (void) toggleFullscreen { + [[NSApp mainWindow] toggleFullScreen:[NSApp mainWindow]]; +} + +- (void) maximize { + CGRect a = [NSApp mainWindow].frame; + _oldRestoreFrame = CGRectMake(a.origin.x, a.origin.y, a.size.width, a.size.height); + [[NSApp mainWindow] setFrame:[[NSScreen mainScreen] visibleFrame] display:YES]; +} + +- (Boolean) isMaximized { + NSRect a = [NSApp mainWindow].frame; + NSRect b = [[NSScreen mainScreen] visibleFrame]; + return a.origin.x == b.origin.x && a.origin.y == b.origin.y && a.size.width == b.size.width && a.size.height == b.size.height; +} + +- (CGFloat) getX { + NSRect frame = [self.webView window].frame; + return frame.origin.x; +} + +- (CGFloat) getY { + NSRect frame = [self.webView window].frame; + return frame.origin.y; +} + +- (void) move:(NSDictionary *)properties +{ + NSRect frame = [self.webView window].frame; + frame.origin.x = [[properties valueForKey:@"x"] doubleValue]; + frame.origin.y = [[properties valueForKey:@"y"] doubleValue]; + [[self.webView window] setFrame:frame display:YES]; + +} + +- (void) resize:(NSDictionary *) properties +{ + NSRect frame = [self.webView window].frame; + frame.size.width = [[properties valueForKey:@"width"] doubleValue]; + frame.size.height = [[properties valueForKey:@"height"] doubleValue]; + [[self.webView window] setFrame:frame display:YES]; +} + + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return NO; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector{ + id result = nil; + + if (selector == @selector(open:)) { + result = @"open"; + }else if (selector == @selector(move:)){ + result = @"move"; + }else if (selector == @selector(resize:)){ + result = @"resize"; + } + + return result; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.h new file mode 100644 index 00000000..6c1a2f51 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.h @@ -0,0 +1,10 @@ +#import + +@interface Clipboard : NSObject { + +} + +- (void) copy:(NSString*)text; +- (NSString *) paste; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.m new file mode 100644 index 00000000..1c18dea3 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Clipboard.m @@ -0,0 +1,51 @@ +// +// clipboard.m +// MacGap +// +// Created by David Zorychta on 2013-07-22. +// Copyright (c) 2013 Twitter. All rights reserved. +// + +#import "Clipboard.h" + +@implementation Clipboard + +- (void) copy:(NSString*)text { + [[NSPasteboard generalPasteboard] clearContents]; + [[NSPasteboard generalPasteboard] setString:text forType:NSStringPboardType]; +} + +- (NSString *) paste { + NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; + NSArray *classArray = [NSArray arrayWithObject:[NSString class]]; + NSDictionary *options = [NSDictionary dictionary]; + BOOL ok = [pasteboard canReadObjectForClasses:classArray options:options]; + if (ok) { + NSArray *objectsToPaste = [pasteboard readObjectsForClasses:classArray options:options]; + return (NSString *) [objectsToPaste objectAtIndex:0]; + } + return @""; +} + ++ (NSString*) webScriptNameForSelector:(SEL)selector +{ + id result = nil; + + if (selector == @selector(copy:)) { + result = @"copy"; + } + + return result; +} + ++ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector +{ + return NO; +} + ++ (BOOL) isKeyExcludedFromWebScript:(const char*)name +{ + return YES; +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..2592eae9 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,63 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "application16x16.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "application32x32.png", + "scale" : "1x" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "application128x128.png", + "scale" : "1x" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "application256x256.png", + "scale" : "1x" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "application512x512.png", + "scale" : "1x" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png new file mode 100644 index 00000000..93dd80a1 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application128x128.png differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png new file mode 100644 index 00000000..3aa19da6 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application16x16.png differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png new file mode 100644 index 00000000..c30106b7 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application256x256.png differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png new file mode 100644 index 00000000..05ff6cb8 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application32x32.png differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png new file mode 100644 index 00000000..b6b9da61 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/MacGap/Images.xcassets/AppIcon.appiconset/application512x512.png differ diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Info.plist b/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Info.plist new file mode 100644 index 00000000..3730da8f --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ZeroTier One + CFBundleIdentifier + com.zerotier.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ZeroTier One + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Prefix.pch b/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Prefix.pch new file mode 100644 index 00000000..ad05e842 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/MacGap-Prefix.pch @@ -0,0 +1,15 @@ +// +// Prefix header for all source files of the 'MacGap' target in the 'MacGap' project +// + +#ifdef __OBJC__ + #ifdef _DEBUG + #define DebugNSLog(format, ...) NSLog(format, ## __VA_ARGS__) + #else + #define DebugNSLog(format, ...) + #endif + + #import + #import "Constants.h" + #import "Utils.h" +#endif diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.h b/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.h new file mode 100644 index 00000000..72927eff --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.h @@ -0,0 +1,13 @@ +#import +#import "ContentView.h" + +@interface WindowController : NSWindowController { + +} + +- (id) initWithURL:(NSString *) url; +- (id) initWithRequest: (NSURLRequest *)request; +@property (retain) NSURL * url; +@property (retain) IBOutlet ContentView *contentView; + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.m new file mode 100644 index 00000000..2765a2e3 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/WindowController.m @@ -0,0 +1,54 @@ +#import "WindowController.h" + + +@interface WindowController() { + +} + +-(void) notificationCenter; + +@end + +@implementation WindowController + +@synthesize contentView, url; + +- (id) initWithURL:(NSString *) relativeURL{ + self = [super initWithWindowNibName:@"Window"]; + self.url = [NSURL URLWithString:relativeURL relativeToURL:[[NSBundle mainBundle] resourceURL]]; + + [self.window setFrameAutosaveName:@"MacGapWindow"]; + [self notificationCenter]; + + return self; +} + +-(id) initWithRequest: (NSURLRequest *)request{ + self = [super initWithWindowNibName:@"Window"]; + [self notificationCenter]; + [[self.contentView.webView mainFrame] loadRequest:request]; + + return self; +} + +-(void) notificationCenter{ + [[NSNotificationCenter defaultCenter] addObserver:self.contentView + selector:@selector(windowResized:) + name:NSWindowDidResizeNotification + object:[self window]]; +} + +- (void)windowDidLoad +{ + [super windowDidLoad]; + + if (self.url != nil) { + [self.contentView.webView setMainFrameURL:[self.url absoluteString]]; + } + + + // Implement this method to handle any initialization after your + // window controller's window has been loaded from its nib file. +} + +@end diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Credits.rtf b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Credits.rtf new file mode 100644 index 00000000..6f388f66 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Credits.rtf @@ -0,0 +1,13 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1347\cocoasubrtf570 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\vieww9600\viewh8400\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\b\fs24 \cf0 (c)2011-2015 ZeroTier, Inc.\ +Licensed under the GNU GPLv3\ +\ +UI Wrapper MacGap (c) Twitter, Inc.\ +Licensed under the MIT License\ +http://macgap.com/\ +} \ No newline at end of file diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/InfoPlist.strings b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/InfoPlist.strings new file mode 100644 index 00000000..477b28ff --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/MainMenu.xib b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/MainMenu.xib new file mode 100644 index 00000000..998c505a --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/MainMenu.xib @@ -0,0 +1,3404 @@ + + + + 1080 + 14D136 + 7702 + 1347.57 + 758.70 + + com.apple.InterfaceBuilder.CocoaPlugin + 7702 + + + NSCustomObject + NSMenu + NSMenuItem + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AppDelegate + + + AMainMenu + + + + ZeroTier One + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + + ZeroTier One + + + + About ZeroTier One + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide MacGap + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit ZeroTier One + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save… + s + 1048576 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find and Replace… + f + 1572864 + 2147483647 + + + 12 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + + Spelling and Grammar + + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + + Substitutions + + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + + Transformations + + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + + Speech + + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + + Format + + + + Font + + 2147483647 + + + submenuAction: + + + Font + + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + + Kern + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + + Ligature + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + + Baseline + + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + + Text + + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + + Writing Direction + + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + + View + + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + + Help + + + + ZeroTier One Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 547 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + saveDocument: + + + + 362 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + toggleAutomaticSpellingCorrection: + + + + 456 + + + + orderFrontSubstitutionsPanel: + + + + 458 + + + + toggleAutomaticDashSubstitution: + + + + 461 + + + + toggleAutomaticTextReplacement: + + + + 463 + + + + uppercaseWord: + + + + 464 + + + + capitalizeWord: + + + + 467 + + + + lowercaseWord: + + + + 468 + + + + pasteAsPlainText: + + + + 486 + + + + performFindPanelAction: + + + + 487 + + + + performFindPanelAction: + + + + 488 + + + + performFindPanelAction: + + + + 489 + + + + showHelp: + + + + 493 + + + + alignCenter: + + + + 518 + + + + pasteRuler: + + + + 519 + + + + toggleRuler: + + + + 520 + + + + alignRight: + + + + 521 + + + + copyRuler: + + + + 522 + + + + alignJustified: + + + + 523 + + + + alignLeft: + + + + 524 + + + + makeBaseWritingDirectionNatural: + + + + 525 + + + + makeBaseWritingDirectionLeftToRight: + + + + 526 + + + + makeBaseWritingDirectionRightToLeft: + + + + 527 + + + + makeTextWritingDirectionNatural: + + + + 528 + + + + makeTextWritingDirectionLeftToRight: + + + + 529 + + + + makeTextWritingDirectionRightToLeft: + + + + 530 + + + + performFindPanelAction: + + + + 535 + + + + delegate + + + + 545 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + + + + 19 + + + + + + + + 56 + + + + + + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + + + 75 + + + + + 78 + + + + + 72 + + + + + 82 + + + + + 124 + + + + + + + + 77 + + + + + 73 + + + + + 79 + + + + + 112 + + + + + 74 + + + + + 125 + + + + + + + + 126 + + + + + 205 + + + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 57 + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + + + + + + 296 + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + + + + + + 212 + + + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + + + + + + 349 + + + + + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 375 + + + + + + + + 376 + + + + + + + + + 377 + + + + + + + + 388 + + + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + + + + + + 398 + + + + + + + + 399 + + + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 450 + + + + + + + + 451 + + + + + + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 457 + + + + + 459 + + + + + 460 + + + + + 462 + + + + + 465 + + + + + 466 + + + + + 485 + + + + + 490 + + + + + + + + 491 + + + + + + + + 492 + + + + + 496 + + + + + + + + 497 + + + + + + + + + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + + + 503 + + + + + + + + 504 + + + + + 505 + + + + + 506 + + + + + 507 + + + + + 508 + + + + + + + + + + + + + + + + 509 + + + + + 510 + + + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 516 + + + + + 517 + + + + + 534 + + + + + 546 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 547 + + + + + AppDelegate + NSObject + + IBProjectSource + ../MacGap/AppDelegate.h + + + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSBrowser + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSBrowser.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSDocument + NSObject + + id + id + id + id + id + id + + + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocumentController + NSObject + + id + id + id + id + + + + clearRecentDocuments: + id + + + newDocument: + id + + + openDocument: + id + + + saveAllDocuments: + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentController.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMatrix + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSMatrix.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMovieView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMovieView.h + + + + NSPopover + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSPopover.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSTableView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSView + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSViewController + NSResponder + + view + NSView + + + view + + view + NSView + + + + IBFrameworkSource + AppKit.framework/Headers/NSViewController.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + WebView + NSView + + id + id + id + id + id + id + id + id + id + id + id + + + + goBack: + id + + + goForward: + id + + + makeTextLarger: + id + + + makeTextSmaller: + id + + + makeTextStandardSize: + id + + + reload: + id + + + reloadFromOrigin: + id + + + stopLoading: + id + + + takeStringURLFrom: + id + + + toggleContinuousSpellChecking: + id + + + toggleSmartInsertDelete: + id + + + + IBFrameworkSource + WebKit.framework/Headers/WebView.h + + + + + 0 + IBCocoaFramework + NO + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + {12, 12} + {10, 2} + + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Window.xib b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Window.xib new file mode 100644 index 00000000..70d0c57b --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/en.lproj/Window.xib @@ -0,0 +1,337 @@ + + + + 1070 + 11C74 + 1938 + 1138.23 + 567.00 + + YES + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin + + + YES + 1938 + 822 + + + + YES + NSWindowTemplate + NSView + NSCustomObject + WebView + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + WindowController + + + FirstResponder + + + NSApplication + + + 15 + 2 + {{196, 240}, {758, 410}} + 544735232 + Window + NSWindow + + + + + 256 + + YES + + + 274 + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple URL pasteboard type + Apple Web Archive pasteboard type + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + WebURLsWithTitlesPboardType + public.png + public.url + public.url-name + + + {758, 410} + + + + 2 + _NS:51 + + + + + + YES + + YES + WebKitDefaultFixedFontSize + WebKitDefaultFontSize + WebKitMinimumFontSize + + + YES + + + + + + + YES + YES + + + {758, 410} + + + + + {{0, 0}, {1920, 1178}} + {10000000000000, 10000000000000} + 128 + YES + + + + + YES + + + contentView + + + + 23 + + + + window + + + + 25 + + + + title: contentView.webView.mainFrameTitle + + + + + + title: contentView.webView.mainFrameTitle + title + contentView.webView.mainFrameTitle + 2 + + + 31 + + + + webView + + + + 19 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + + + 2 + + + YES + + + + + + 5 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 1.IBPluginDependency + 1.IBWindowTemplateEditedContentRect + 1.NSWindowTemplate.visibleAtLaunch + 2.CustomClassName + 2.IBPluginDependency + 5.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{357, 418}, {480, 270}} + + ContentView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin + + + + YES + + + + + + YES + + + + + 31 + + + + YES + + ContentView + NSView + + webView + WebView + + + webView + + webView + WebView + + + + IBProjectSource + ./Classes/ContentView.h + + + + WebView + + reloadFromOrigin: + id + + + reloadFromOrigin: + + reloadFromOrigin: + id + + + + IBProjectSource + ./Classes/WebView.h + + + + WindowController + NSWindowController + + contentView + ContentView + + + contentView + + contentView + ContentView + + + + IBProjectSource + ./Classes/WindowController.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + diff --git a/ext/mac-ui-macgap1-wrapper/src/MacGap/main.m b/ext/mac-ui-macgap1-wrapper/src/MacGap/main.m new file mode 100644 index 00000000..4ad50ad5 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/MacGap/main.m @@ -0,0 +1,14 @@ +// +// main.m +// MacGap +// +// Created by Alex MacCaw on 08/01/2012. +// Copyright (c) 2012 Twitter. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/ext/mac-ui-macgap1-wrapper/src/README.md b/ext/mac-ui-macgap1-wrapper/src/README.md new file mode 100644 index 00000000..daf3eae9 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/README.md @@ -0,0 +1,6 @@ +Mac Web UI Wrapper +====== + +This is a modified version of MacGap1 which launches a WebKit view and accesses the local ZeroTier service at its web URL. It builds the URL from the authtoken.secret file in the system home (or the user home) and the zerotier-one.port file that ZeroTier creates to advertise its control port. + +It's based on the original MacGap1 source by Twitter, Inc. which is licensed under the MIT license. diff --git a/ext/mac-ui-macgap1-wrapper/src/application.icns b/ext/mac-ui-macgap1-wrapper/src/application.icns new file mode 100644 index 00000000..e4bcb281 Binary files /dev/null and b/ext/mac-ui-macgap1-wrapper/src/application.icns differ diff --git a/ext/mac-ui-macgap1-wrapper/src/public/index.html b/ext/mac-ui-macgap1-wrapper/src/public/index.html new file mode 100644 index 00000000..9fab9325 --- /dev/null +++ b/ext/mac-ui-macgap1-wrapper/src/public/index.html @@ -0,0 +1,33 @@ + + + + MacGap + + + + + + + +

MacGap

+ + \ No newline at end of file -- cgit v1.2.3 From 8e888f8df9494ecb57673b4a356312131e198519 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 12:41:06 -0700 Subject: Hmm... will this work? Very first child of --- ui/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/index.html b/ui/index.html index e0f048b0..5ab32eb7 100644 --- a/ui/index.html +++ b/ui/index.html @@ -1,9 +1,9 @@ + ZeroTier One - -- cgit v1.2.3 From 257187a284108a8bc291aa093035ec17ecb65fa5 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 14:47:01 -0700 Subject: Fixes for Windows WebControl. --- ui/Makefile | 1 + ui/ZeroTierNetwork.jsx | 2 +- ui/ZeroTierNode.jsx | 13 +++++----- ui/index.html | 55 +++++++++++++++++++++++++++------------ ui/zerotier.css | 70 +++++++++++++++++++++++++++++--------------------- ui/ztui.min.js | 4 +-- 6 files changed, 89 insertions(+), 56 deletions(-) diff --git a/ui/Makefile b/ui/Makefile index 48b4446d..4be03228 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -1,5 +1,6 @@ all: mkdir -p build jsx --target es3 -x jsx . ./build + rm -f ztui.min.js minify build/*.js >>ztui.min.js rm -rf build diff --git a/ui/ZeroTierNetwork.jsx b/ui/ZeroTierNetwork.jsx index 1dda1117..f842d758 100644 --- a/ui/ZeroTierNetwork.jsx +++ b/ui/ZeroTierNetwork.jsx @@ -67,7 +67,7 @@ var ZeroTierNetwork = React.createClass({
- +
); } diff --git a/ui/ZeroTierNode.jsx b/ui/ZeroTierNode.jsx index 3782219e..956b892c 100644 --- a/ui/ZeroTierNode.jsx +++ b/ui/ZeroTierNode.jsx @@ -96,7 +96,7 @@ var ZeroTierNode = React.createClass({ }, handleNetworkIdEntry: function(event) { this.networkInputElement = event.target; - var nid = event.target.value; + var nid = this.networkInputElement.value; if (nid) { nid = nid.toLowerCase(); var nnid = ''; @@ -105,10 +105,10 @@ var ZeroTierNode = React.createClass({ nnid += nid.charAt(i); } this.networkToJoin = nnid; - event.target.value = nnid; + this.networkInputElement.value = nnid; } else { this.networkToJoin = ''; - event.target.value = ''; + this.networkInputElement.value = ''; } }, @@ -138,9 +138,8 @@ var ZeroTierNode = React.createClass({
   -
⏁ 
-
+
{ (this.tabIndex === 1) ? ( @@ -198,13 +197,13 @@ var ZeroTierNode = React.createClass({ ) }
-
+
{this.state.address}  {this.state.online ? 'ONLINE' : 'OFFLINE'}  {this.state.version}
-
+
diff --git a/ui/index.html b/ui/index.html index 5ab32eb7..857c7ddb 100644 --- a/ui/index.html +++ b/ui/index.html @@ -1,16 +1,39 @@ - - - - - ZeroTier One - - - - - - - - -
- - + + + + + + + ZeroTier One + + + + + + +
+ + + diff --git a/ui/zerotier.css b/ui/zerotier.css index 85ac9d6f..2211ac59 100644 --- a/ui/zerotier.css +++ b/ui/zerotier.css @@ -20,7 +20,6 @@ html,body { .zeroTierNode { width: 100%; height: 100%; - max-height: 100%; padding: 0; margin: 0; display: table; @@ -36,14 +35,6 @@ html,body { padding: 0; margin: 0; } -.zeroTierNode > .top > .logo { - display: inline-block; - padding: 0.1em 0 0 0; - margin: 0; - font-size: 12pt; - font-weight: bold; - float: right; -} .zeroTierNode > .top button { display: inline-block; padding: 0.25rem 0.75rem 0.25rem 0.75rem; @@ -63,33 +54,39 @@ html,body { } .zeroTierNode > .middle { - height: 100%; width: 100%; + height: 100%; padding: 0; margin: 0; overflow: hidden; display: table-row; } -.zeroTierNode > .middle > .middleScroll { +.zeroTierNode > .middle > .middleCell { + width: 100%; + height: 100%; + display: table-cell; +} +.zeroTierNode > .middle > .middleCell > .middleScroll { display: block; width: 100%; height: 100%; padding: 0; margin: 0; + overflow: scroll; overflow-x: hidden; overflow-y: scroll; background: #dddddd; } -.zeroTierNode > .middle > .middleScroll > .networks { +.zeroTierNode > .middle > .middleCell > .middleScroll > .networks { display: block; width: 100%; - padding: 0; + padding: 0 0 0.25rem 0; margin: 0; border: 0; text-align: left; border-collapse: collapse; } -.zeroTierNode > .middle > .middleScroll > .networks > .network { +.zeroTierNode > .middle > .middleCell > .middleScroll > .networks > .network { display: inline-block; padding: 0.25rem; margin: 0.25rem 0 0 1%; @@ -98,36 +95,36 @@ html,body { border: 1px solid #234447; background: #ffffff; } -.zeroTierNode > .middle > .middleScroll > .peers { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers { display: table; width: 100%; margin: 0; border-collapse: collapse; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer { width: 100%; display: table-row; background: #ffffff; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer:nth-child(odd) { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer:nth-child(odd) { background: #f3f3f3; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer:nth-child(even) { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer:nth-child(even) { } -.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathActive { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathActive { font-size: 10pt; color: #555555; font-style: italic; font-family: monospace; white-space: nowrap; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathPreferred { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathPreferred { font-size: 10pt; color: #000000; font-family: monospace; white-space: nowrap; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer .peerPathInactive { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathInactive { font-size: 10pt; font-family: monospace; color: #aaaaaa; @@ -135,18 +132,18 @@ html,body { text-decoration: line-through; white-space: nowrap; } -.zeroTierNode > .middle > .middleScroll > .peers > .peer > .f { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer > .f { display: table-cell; padding: 0.05rem 0.15rem 0.05rem 0.15rem; font-size: 10pt; } -.zeroTierNode > .middle > .middleScroll > .peers > .peerHeader { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peerHeader { width: 100%; display: table-row; background: #ffffff; border-bottom: 1px solid #000000; } -.zeroTierNode > .middle > .middleScroll > .peers > .peerHeader > .f { +.zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peerHeader > .f { display: table-cell; font-size: 10pt; padding: 0.05rem 0.15rem 0.05rem 0.15rem; @@ -154,6 +151,7 @@ html,body { } .zeroTierNode > .bottom { + font-size: 12pt; width: 100%; overflow: hidden; display: table-row; @@ -165,17 +163,24 @@ html,body { white-space: nowrap; float: left; padding: 0 0 0 0.5rem; + font-size: 12pt; + height: 100%; } .zeroTierNode > .bottom > .left > .statusLine { font-family: monospace; white-space: nowrap; font-size: 12pt; + height: 100%; } .zeroTierNode > .bottom > .right { - background: #91a2a3; text-align: right; + height: 100%; white-space: nowrap; float: right; + font-size: 12pt; +} +.zeroTierNode > .bottom > .right form { + height: 100%; } .zeroTierNode > .bottom > .right input { font-family: monospace; @@ -183,10 +188,13 @@ html,body { background: #ffffff; color: #000000; outline: none; - border: 1px solid #234447; + outline-style: none; + box-shadow: 0; + border: 0; margin: 0; - padding: 0.05rem 0.25rem 0.05rem 0.25rem; - display: inline-block; + padding: 0 0.25rem 0 0.25rem; + display: inline; + height: 100%; } .zeroTierNode > .bottom > .right button { display: inline-block; @@ -196,10 +204,14 @@ html,body { color: #000000; margin: 0; padding: 0.05rem 0.75rem 0.05rem 0.75rem; + outline: none; + outline-style: none; height: 100%; } .zeroTierNode > .bottom > .right button:hover { cursor: pointer; + outline: none; + outline-style: none; border: 1px solid #000000; } @@ -217,7 +229,7 @@ html,body { font-size: 12pt; } .zeroTierNetwork .networkInfo .networkId { - font-size: 10pt; + font-size: 11pt; font-family: monospace; color: #91a2a3; } diff --git a/ui/ztui.min.js b/ui/ztui.min.js index f4213a0f..cefd9e87 100644 --- a/ui/ztui.min.js +++ b/ui/ztui.min.js @@ -1,3 +1 @@ -var ZeroTierNetwork=React.createClass({displayName:"ZeroTierNetwork",getInitialState:function(){return{}},leaveNetwork:function(e){Ajax.call({url:"network/"+this.props.nwid+"?auth="+this.props.authToken,cache:!1,type:"DELETE",success:function(e){this.props.onNetworkDeleted&&this.props.onNetworkDeleted(this.props.nwid)}.bind(this),error:function(e){}.bind(this)}),e.preventDefault()},render:function(){return React.createElement("div",{className:"zeroTierNetwork"},React.createElement("div",{className:"networkInfo"},React.createElement("span",{className:"networkId"},this.props.nwid)," ",React.createElement("span",{className:"networkName"},this.props.name)),React.createElement("div",{className:"networkProps"},React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Status"),React.createElement("div",{className:"value"},this.props.status)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Type"),React.createElement("div",{className:"value"},this.props.type)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MAC"),React.createElement("div",{className:"value zeroTierAddress"},this.props.mac)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MTU"),React.createElement("div",{className:"value"},this.props.mtu)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Broadcast"),React.createElement("div",{className:"value"},this.props.broadcastEnabled?"ENABLED":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Bridging"),React.createElement("div",{className:"value"},this.props.bridge?"ACTIVE":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Device"),React.createElement("div",{className:"value"},this.props.portDeviceName?this.props.portDeviceName:"(none)")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Managed IPs"),React.createElement("div",{className:"value ipList"},this.props.assignedAddresses.map(function(e){return React.createElement("div",{key:e,className:"ipAddress"},e)})))),React.createElement("button",{className:"leaveNetworkButton",onClick:this.leaveNetwork},"Leave Network"))}}); var ZeroTierNode=React.createClass({displayName:"ZeroTierNode",getInitialState:function(){return{address:"----------",online:!1,version:"_._._",_networks:[],_peers:[]}},ago:function(e){if(e>0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=e.target.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,e.target.value=a}else this.networkToJoin="",e.target.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=this.networkInputElement.value;if(t){t=t.toLowerCase();for(var a="",n=0;nn;++n)"0123456789abcdef".indexOf(t.charAt(n))>=0&&(a+=t.charAt(n));this.networkToJoin=a,this.networkInputElement.value=a}else this.networkToJoin="",this.networkInputElement.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a Date: Fri, 8 May 2015 14:51:24 -0700 Subject: Fix some settings on WebControl implementation. --- windows/WebUIWrapper/Form1.Designer.cs | 5 ----- windows/WebUIWrapper/Form1.cs | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/windows/WebUIWrapper/Form1.Designer.cs b/windows/WebUIWrapper/Form1.Designer.cs index 350772e0..8d8eb9e9 100644 --- a/windows/WebUIWrapper/Form1.Designer.cs +++ b/windows/WebUIWrapper/Form1.Designer.cs @@ -35,18 +35,13 @@ // webContainer // this.webContainer.AllowNavigation = false; - this.webContainer.AllowWebBrowserDrop = false; this.webContainer.Dock = System.Windows.Forms.DockStyle.Fill; this.webContainer.IsWebBrowserContextMenuEnabled = false; this.webContainer.Location = new System.Drawing.Point(0, 0); this.webContainer.MinimumSize = new System.Drawing.Size(20, 20); this.webContainer.Name = "webContainer"; - this.webContainer.ScriptErrorsSuppressed = true; - this.webContainer.ScrollBarsEnabled = false; this.webContainer.Size = new System.Drawing.Size(1012, 556); this.webContainer.TabIndex = 0; - this.webContainer.Url = new System.Uri("", System.UriKind.Relative); - this.webContainer.WebBrowserShortcutsEnabled = false; // // Form1 // diff --git a/windows/WebUIWrapper/Form1.cs b/windows/WebUIWrapper/Form1.cs index 35ee5369..40d5da9d 100644 --- a/windows/WebUIWrapper/Form1.cs +++ b/windows/WebUIWrapper/Form1.cs @@ -62,7 +62,7 @@ namespace WebUIWrapper this.Close(); return; } - webContainer.Url = new System.Uri("http://127.0.0.1:" + port.ToString() + "/index.html?authToken=" + authToken); + webContainer.Navigate("http://127.0.0.1:" + port.ToString() + "/index.html?authToken=" + authToken); } catch { -- cgit v1.2.3 From 4565e9948f15060df531c9f4ce6a4e986d31b5bc Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 14:58:29 -0700 Subject: Now this works... Windows UI wrapper. Turns out there were workarounds, but IE does indeed suck. --- ext/win-ui-wrapper/ZeroTier One.exe | Bin 0 -> 761304 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ext/win-ui-wrapper/ZeroTier One.exe diff --git a/ext/win-ui-wrapper/ZeroTier One.exe b/ext/win-ui-wrapper/ZeroTier One.exe new file mode 100644 index 00000000..3e129be7 Binary files /dev/null and b/ext/win-ui-wrapper/ZeroTier One.exe differ -- cgit v1.2.3 From 2158d26bd7e69819961128be3a6d1a0084826ec3 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 15:01:05 -0700 Subject: Show last unicast and multicast frames. --- ui/ZeroTierNode.jsx | 4 +++- ui/ztui.min.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/ZeroTierNode.jsx b/ui/ZeroTierNode.jsx index 956b892c..95afde80 100644 --- a/ui/ZeroTierNode.jsx +++ b/ui/ZeroTierNode.jsx @@ -149,7 +149,8 @@ var ZeroTierNode = React.createClass({
Version
Latency
Data Paths
-
Last Frame
+
Last Unicast
+
Last Multicast
Role
{ @@ -178,6 +179,7 @@ var ZeroTierNode = React.createClass({ }
{this.ago(peer['lastUnicastFrame'])}
+
{this.ago(peer['lastMulticastFrame'])}
{peer['role']}
); diff --git a/ui/ztui.min.js b/ui/ztui.min.js index cefd9e87..d99321cc 100644 --- a/ui/ztui.min.js +++ b/ui/ztui.min.js @@ -1 +1 @@ -var ZeroTierNetwork=React.createClass({displayName:"ZeroTierNetwork",getInitialState:function(){return{}},leaveNetwork:function(e){Ajax.call({url:"network/"+this.props.nwid+"?auth="+this.props.authToken,cache:!1,type:"DELETE",success:function(e){this.props.onNetworkDeleted&&this.props.onNetworkDeleted(this.props.nwid)}.bind(this),error:function(e){}.bind(this)}),e.preventDefault()},render:function(){return React.createElement("div",{className:"zeroTierNetwork"},React.createElement("div",{className:"networkInfo"},React.createElement("span",{className:"networkId"},this.props.nwid)," ",React.createElement("span",{className:"networkName"},this.props.name)),React.createElement("div",{className:"networkProps"},React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Status"),React.createElement("div",{className:"value"},this.props.status)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Type"),React.createElement("div",{className:"value"},this.props.type)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MAC"),React.createElement("div",{className:"value zeroTierAddress"},this.props.mac)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"MTU"),React.createElement("div",{className:"value"},this.props.mtu)),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Broadcast"),React.createElement("div",{className:"value"},this.props.broadcastEnabled?"ENABLED":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Bridging"),React.createElement("div",{className:"value"},this.props.bridge?"ACTIVE":"DISABLED")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Device"),React.createElement("div",{className:"value"},this.props.portDeviceName?this.props.portDeviceName:"(none)")),React.createElement("div",{className:"row"},React.createElement("div",{className:"name"},"Managed IPs"),React.createElement("div",{className:"value ipList"},this.props.assignedAddresses.map(function(e){return React.createElement("div",{key:e,className:"ipAddress"},e)})))),React.createElement("button",{type:"button",className:"leaveNetworkButton",onClick:this.leaveNetwork},"Leave Network"))}}); var ZeroTierNode=React.createClass({displayName:"ZeroTierNode",getInitialState:function(){return{address:"----------",online:!1,version:"_._._",_networks:[],_peers:[]}},ago:function(e){if(e>0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=this.networkInputElement.value;if(t){t=t.toLowerCase();for(var a="",n=0;nn;++n)"0123456789abcdef".indexOf(t.charAt(n))>=0&&(a+=t.charAt(n));this.networkToJoin=a,this.networkInputElement.value=a}else this.networkToJoin="",this.networkInputElement.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a0){var t=Math.round((Date.now()-e)/1e3);return t>0?t:0}return 0},updatePeers:function(){Ajax.call({url:"peer?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_peers:t})}}.bind(this),error:function(){}.bind(this)})},updateNetworks:function(){Ajax.call({url:"network?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(e){var t=JSON.parse(e);Array.isArray(t)&&this.setState({_networks:t})}}.bind(this),error:function(){}.bind(this)})},updateAll:function(){Ajax.call({url:"status?auth="+this.props.authToken,cache:!1,type:"GET",success:function(e){if(this.alertedToFailure=!1,e){var t=JSON.parse(e);this.setState(t),document.title="ZeroTier One ["+t.address+"]"}this.updateNetworks(),this.updatePeers()}.bind(this),error:function(){this.setState(this.getInitialState()),this.alertedToFailure||(this.alertedToFailure=!0,alert("Authorization token invalid or ZeroTier One service not running."))}.bind(this)})},joinNetwork:function(e){e.preventDefault(),this.networkToJoin&&16===this.networkToJoin.length?Ajax.call({url:"network/"+this.networkToJoin+"?auth="+this.props.authToken,cache:!1,type:"POST",success:function(e){this.networkToJoin="",this.networkInputElement&&(this.networkInputElement.value=""),this.updateNetworks()}.bind(this),error:function(){}.bind(this)}):alert("To join a network, enter its 16-digit network ID.")},handleNetworkIdEntry:function(e){this.networkInputElement=e.target;var t=this.networkInputElement.value;if(t){t=t.toLowerCase();for(var a="",s=0;ss;++s)"0123456789abcdef".indexOf(t.charAt(s))>=0&&(a+=t.charAt(s));this.networkToJoin=a,this.networkInputElement.value=a}else this.networkToJoin="",this.networkInputElement.value=""},handleNetworkDelete:function(e){for(var t=[],a=0;a Date: Fri, 8 May 2015 15:04:01 -0700 Subject: Make peer list font a bit smaller. --- ui/zerotier.css | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ui/zerotier.css b/ui/zerotier.css index 2211ac59..cfc23a69 100644 --- a/ui/zerotier.css +++ b/ui/zerotier.css @@ -112,20 +112,20 @@ html,body { .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer:nth-child(even) { } .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathActive { - font-size: 10pt; + font-size: 8pt; color: #555555; font-style: italic; font-family: monospace; white-space: nowrap; } .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathPreferred { - font-size: 10pt; + font-size: 8pt; color: #000000; font-family: monospace; white-space: nowrap; } .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer .peerPathInactive { - font-size: 10pt; + font-size: 8pt; font-family: monospace; color: #aaaaaa; font-style: italic; @@ -135,17 +135,18 @@ html,body { .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peer > .f { display: table-cell; padding: 0.05rem 0.15rem 0.05rem 0.15rem; - font-size: 10pt; + font-size: 8pt; } .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peerHeader { width: 100%; + font-size: 8pt; display: table-row; background: #ffffff; border-bottom: 1px solid #000000; } .zeroTierNode > .middle > .middleCell > .middleScroll > .peers > .peerHeader > .f { display: table-cell; - font-size: 10pt; + font-size: 8pt; padding: 0.05rem 0.15rem 0.05rem 0.15rem; font-weight: bold; } -- cgit v1.2.3 From e744580b898145c5bd4dacda7b089d1d793dc45b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 16:31:50 -0700 Subject: Fix a bunch of Windows tap issues. Turns out NDIS6 allowed us to ditch some NDIS5 cruft, but I did have to add one hack specific to that one instead. Seems reliable now. --- osdep/WindowsEthernetTap.cpp | 171 ++++++++++++++++++++----------------------- 1 file changed, 79 insertions(+), 92 deletions(-) diff --git a/osdep/WindowsEthernetTap.cpp b/osdep/WindowsEthernetTap.cpp index 7f6cbc4d..a7f0f14d 100644 --- a/osdep/WindowsEthernetTap.cpp +++ b/osdep/WindowsEthernetTap.cpp @@ -53,7 +53,7 @@ #include "WindowsEthernetTap.hpp" #include "OSUtils.hpp" -#include "..\windows\TapDriver\tap-windows.h" +#include "..\windows\TapDriver6\tap-windows.h" // ff:ff:ff:ff:ff:ff with no ADI //static const ZeroTier::MulticastGroup _blindWildcardMulticastGroup(ZeroTier::MAC(0xff),0); @@ -89,11 +89,16 @@ public: }; static const WindowsEthernetTapEnv WINENV; -} // anonymous namespace - // Only create or delete devices one at a time static Mutex _systemTapInitLock; +// Set to true if existing taps should close and reopen due to new device creation +// This is a hack to get around what seems to be a bug that causes existing +// devices to go into a coma after new device creation. +static volatile bool _needReset = false; + +} // anonymous namespace + WindowsEthernetTap::WindowsEthernetTap( const char *hp, const MAC &mac, @@ -124,6 +129,9 @@ WindowsEthernetTap::WindowsEthernetTap( Mutex::Lock _l(_systemTapInitLock); + // Use NDIS5 if it's installed, since we don't want to switch out the driver on + // pre-existing installs (yet). We won't ship NDIS5 anymore so new installs will + // use NDIS6. std::string tapDriverPath(_pathToHelpers + WINENV.tapDriverNdis5); const char *tapDriverName = "zttap200"; if (::PathFileExistsA(tapDriverPath.c_str()) == FALSE) { @@ -198,7 +206,7 @@ WindowsEthernetTap::WindowsEthernetTap( if (devconLog != INVALID_HANDLE_VALUE) SetFilePointer(devconLog,0,0,FILE_END); - // Execute devcon to install an instance of the Microsoft Loopback Adapter + // Execute devcon to create a new tap device STARTUPINFOA startupInfo; startupInfo.cb = sizeof(startupInfo); if (devconLog != INVALID_HANDLE_VALUE) { @@ -262,6 +270,9 @@ WindowsEthernetTap::WindowsEthernetTap( } } else break; // no more keys or error occurred } + + // Cause all existing taps to reset + _needReset = true; } if (_netCfgInstanceId.length() > 0) { @@ -306,15 +317,15 @@ WindowsEthernetTap::WindowsEthernetTap( if (ConvertInterfaceGuidToLuid(&_deviceGuid,&_deviceLuid) != NO_ERROR) throw std::runtime_error("unable to convert device interface GUID to LUID"); + // Certain functions can now work (e.g. ips()) + _initialized = true; + if (friendlyName) setFriendlyName(friendlyName); // Start background thread that actually performs I/O _injectSemaphore = CreateSemaphore(NULL,0,1,NULL); _thread = Thread::start(this); - - // Certain functions can now work (e.g. ips()) - _initialized = true; } WindowsEthernetTap::~WindowsEthernetTap() @@ -566,38 +577,25 @@ void WindowsEthernetTap::threadMain() HANDLE wait4[3]; char *tapReadBuf = (char *)0; - // Shouldn't be needed, but Windows does not overcommit. This Windows - // tap code is defensive to schizoid paranoia degrees. + if (!_enableTapDevice()) { + _enabled = false; + return; // only happens if devcon is missing or totally fails + } + + /* No idea why I did this. I did it a long time ago and there was only a + * a snarky comment. But I'd never do crap like this without a reason, so + * I am leaving it alone with a more descriptive snarky comment. */ while (!tapReadBuf) { tapReadBuf = (char *)::malloc(ZT_IF_MTU + 32); if (!tapReadBuf) Sleep(1000); } - // Tap is in this weird Windows global pseudo file space Utils::snprintf(tapPath,sizeof(tapPath),"\\\\.\\Global\\%s.tap",_netCfgInstanceId.c_str()); - - /* More insanity: repetatively try to enable/disable tap device. The first - * time we succeed, close it and do it again. This is to fix a driver init - * bug that seems to be extremely non-deterministic and to only occur after - * headless MSI upgrade. It cannot be reproduced in any other circumstance. - * - * Eventually when ZeroTier has actual money we will have someone create an - * NDIS6 tap driver. Yes, we'll likely be cool and open source it. */ - bool throwOneAway = true; while (_run) { - _disableTapDevice(); - Sleep(250); - if (!_enableTapDevice()) { - ::free(tapReadBuf); - _enabled = false; - return; // only happens if devcon is missing or totally fails - } - Sleep(250); - _tap = CreateFileA(tapPath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM|FILE_FLAG_OVERLAPPED,NULL); if (_tap == INVALID_HANDLE_VALUE) { - Sleep(500); + fprintf(stderr,"Error opening %s -- retrying.\r\n",tapPath); continue; } @@ -605,8 +603,6 @@ void WindowsEthernetTap::threadMain() uint32_t tmpi = 1; DWORD bytesReturned = 0; DeviceIoControl(_tap,TAP_WIN_IOCTL_SET_MEDIA_STATUS,&tmpi,sizeof(tmpi),&tmpi,sizeof(tmpi),&bytesReturned,NULL); - bytesReturned = 0; - DeviceIoControl(_tap,TAP_WIN_IOCTL_SET_MEDIA_STATUS,&tmpi,sizeof(tmpi),&tmpi,sizeof(tmpi),&bytesReturned,NULL); } { @@ -688,74 +684,65 @@ void WindowsEthernetTap::threadMain() #endif } - if (throwOneAway) { - throwOneAway = false; - CloseHandle(_tap); - _tap = INVALID_HANDLE_VALUE; - Sleep(1000); - continue; - } else break; - } - - memset(&tapOvlRead,0,sizeof(tapOvlRead)); - tapOvlRead.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); - memset(&tapOvlWrite,0,sizeof(tapOvlWrite)); - tapOvlWrite.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); - - wait4[0] = _injectSemaphore; - wait4[1] = tapOvlRead.hEvent; - wait4[2] = tapOvlWrite.hEvent; // only included if writeInProgress is true - - // Start overlapped read, which is always active - ReadFile(_tap,tapReadBuf,sizeof(tapReadBuf),NULL,&tapOvlRead); - bool writeInProgress = false; - - for(;;) { - if (!_run) break; - DWORD r = WaitForMultipleObjectsEx(writeInProgress ? 3 : 2,wait4,FALSE,5000,TRUE); - if (!_run) break; - - if ((r == WAIT_TIMEOUT)||(r == WAIT_FAILED)) - continue; - - if (HasOverlappedIoCompleted(&tapOvlRead)) { - DWORD bytesRead = 0; - if (GetOverlappedResult(_tap,&tapOvlRead,&bytesRead,FALSE)) { - if ((bytesRead > 14)&&(_enabled)) { - MAC to(tapReadBuf,6); - MAC from(tapReadBuf + 6,6); - unsigned int etherType = ((((unsigned int)tapReadBuf[12]) & 0xff) << 8) | (((unsigned int)tapReadBuf[13]) & 0xff); - try { - // TODO: decode vlans - _handler(_arg,_nwid,from,to,etherType,0,tapReadBuf + 14,bytesRead - 14); - } catch ( ... ) {} // handlers should not throw + memset(&tapOvlRead,0,sizeof(tapOvlRead)); + tapOvlRead.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); + memset(&tapOvlWrite,0,sizeof(tapOvlWrite)); + tapOvlWrite.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); + + wait4[0] = _injectSemaphore; + wait4[1] = tapOvlRead.hEvent; + wait4[2] = tapOvlWrite.hEvent; // only included if writeInProgress is true + + ReadFile(_tap,tapReadBuf,sizeof(tapReadBuf),NULL,&tapOvlRead); + bool writeInProgress = false; + while ((_run)&&(!_needReset)) { + DWORD r = WaitForMultipleObjectsEx(writeInProgress ? 3 : 2,wait4,FALSE,2500,TRUE); + if (!_run) break; // will also break outer while(_run) + + if ((r == WAIT_TIMEOUT)||(r == WAIT_FAILED)) + continue; + + if (HasOverlappedIoCompleted(&tapOvlRead)) { + DWORD bytesRead = 0; + if (GetOverlappedResult(_tap,&tapOvlRead,&bytesRead,FALSE)) { + if ((bytesRead > 14)&&(_enabled)) { + MAC to(tapReadBuf,6); + MAC from(tapReadBuf + 6,6); + unsigned int etherType = ((((unsigned int)tapReadBuf[12]) & 0xff) << 8) | (((unsigned int)tapReadBuf[13]) & 0xff); + try { + // TODO: decode vlans + _handler(_arg,_nwid,from,to,etherType,0,tapReadBuf + 14,bytesRead - 14); + } catch ( ... ) {} // handlers should not throw + } } + ReadFile(_tap,tapReadBuf,ZT_IF_MTU + 32,NULL,&tapOvlRead); } - ReadFile(_tap,tapReadBuf,ZT_IF_MTU + 32,NULL,&tapOvlRead); - } - if (writeInProgress) { - if (HasOverlappedIoCompleted(&tapOvlWrite)) { - writeInProgress = false; - _injectPending_m.lock(); - _injectPending.pop(); - } else continue; // still writing, so skip code below and wait - } else _injectPending_m.lock(); - - if (!_injectPending.empty()) { - WriteFile(_tap,_injectPending.front().first.data,_injectPending.front().second,NULL,&tapOvlWrite); - writeInProgress = true; + if (writeInProgress) { + if (HasOverlappedIoCompleted(&tapOvlWrite)) { + writeInProgress = false; + _injectPending_m.lock(); + _injectPending.pop(); + } else continue; // still writing, so skip code below and wait + } else _injectPending_m.lock(); + + if (!_injectPending.empty()) { + WriteFile(_tap,_injectPending.front().first.data,_injectPending.front().second,NULL,&tapOvlWrite); + writeInProgress = true; + } + + _injectPending_m.unlock(); } - _injectPending_m.unlock(); - } + CancelIo(_tap); - CancelIo(_tap); + CloseHandle(tapOvlRead.hEvent); + CloseHandle(tapOvlWrite.hEvent); + CloseHandle(_tap); + _tap = INVALID_HANDLE_VALUE; - CloseHandle(tapOvlRead.hEvent); - CloseHandle(tapOvlWrite.hEvent); - CloseHandle(_tap); - _tap = INVALID_HANDLE_VALUE; + // We will restart and re-open the tap unless _run == false + } ::free(tapReadBuf); } -- cgit v1.2.3 From 241f3083341113f31538c4242939170dcc240961 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 8 May 2015 16:49:08 -0700 Subject: Fix to tap reset code in Windows tap connector. --- osdep/WindowsEthernetTap.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/osdep/WindowsEthernetTap.cpp b/osdep/WindowsEthernetTap.cpp index a7f0f14d..4a5d32a4 100644 --- a/osdep/WindowsEthernetTap.cpp +++ b/osdep/WindowsEthernetTap.cpp @@ -92,10 +92,8 @@ static const WindowsEthernetTapEnv WINENV; // Only create or delete devices one at a time static Mutex _systemTapInitLock; -// Set to true if existing taps should close and reopen due to new device creation -// This is a hack to get around what seems to be a bug that causes existing -// devices to go into a coma after new device creation. -static volatile bool _needReset = false; +// Incrementing this causes everyone currently open to close and reopen +static volatile int _systemTapResetStatus = 0; } // anonymous namespace @@ -271,8 +269,11 @@ WindowsEthernetTap::WindowsEthernetTap( } else break; // no more keys or error occurred } - // Cause all existing taps to reset - _needReset = true; + // When we create a new tap device from scratch, existing taps for + // some reason go into 'unplugged' state. This can be fixed by + // closing and re-opening them. Incrementing this causes all + // existing tap threads to do this. + ++_systemTapResetStatus; } if (_netCfgInstanceId.length() > 0) { @@ -592,6 +593,7 @@ void WindowsEthernetTap::threadMain() } Utils::snprintf(tapPath,sizeof(tapPath),"\\\\.\\Global\\%s.tap",_netCfgInstanceId.c_str()); + int prevTapResetStatus = _systemTapResetStatus; while (_run) { _tap = CreateFileA(tapPath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM|FILE_FLAG_OVERLAPPED,NULL); if (_tap == INVALID_HANDLE_VALUE) { @@ -695,7 +697,11 @@ void WindowsEthernetTap::threadMain() ReadFile(_tap,tapReadBuf,sizeof(tapReadBuf),NULL,&tapOvlRead); bool writeInProgress = false; - while ((_run)&&(!_needReset)) { + while (_run) { + if (prevTapResetStatus != _systemTapResetStatus) { + prevTapResetStatus = _systemTapResetStatus; + break; // this will cause us to close and reopen the tap + } DWORD r = WaitForMultipleObjectsEx(writeInProgress ? 3 : 2,wait4,FALSE,2500,TRUE); if (!_run) break; // will also break outer while(_run) -- cgit v1.2.3 From bdce679d84657feeac45c1703c2d828586bb649b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 13 May 2015 16:55:18 -0700 Subject: Should fix deadlock issue in GitHub issue #166 --- node/Network.cpp | 48 ++++++++++++++++++++++++------------------------ node/Network.hpp | 9 ++++++++- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/node/Network.cpp b/node/Network.cpp index ddfb01c7..ebff1a5d 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -334,29 +334,6 @@ bool Network::peerNeedsOurMembershipCertificate(const Address &to,uint64_t now) return false; } -bool Network::isAllowed(const Address &peer) const -{ - try { - Mutex::Lock _l(_lock); - - if (!_config) - return false; - if (_config->isPublic()) - return true; - - std::map::const_iterator pc(_membershipCertificates.find(peer)); - if (pc == _membershipCertificates.end()) - return false; // no certificate on file - - return _config->com().agreesWith(pc->second); // is other cert valid against ours? - } catch (std::exception &exc) { - TRACE("isAllowed() check failed for peer %s: unexpected exception: %s",peer.toString().c_str(),exc.what()); - } catch ( ... ) { - TRACE("isAllowed() check failed for peer %s: unexpected exception: unknown exception",peer.toString().c_str()); - } - return false; // default position on any failure -} - void Network::clean() { const uint64_t now = RR->node->now(); @@ -511,6 +488,28 @@ void Network::_externalConfig(ZT1_VirtualNetworkConfig *ec) const } else ec->assignedAddressCount = 0; } +bool Network::_isAllowed(const Address &peer) const +{ + // Assumes _lock is locked + try { + if (!_config) + return false; + if (_config->isPublic()) + return true; + + std::map::const_iterator pc(_membershipCertificates.find(peer)); + if (pc == _membershipCertificates.end()) + return false; // no certificate on file + + return _config->com().agreesWith(pc->second); // is other cert valid against ours? + } catch (std::exception &exc) { + TRACE("isAllowed() check failed for peer %s: unexpected exception: %s",peer.toString().c_str(),exc.what()); + } catch ( ... ) { + TRACE("isAllowed() check failed for peer %s: unexpected exception: unknown exception",peer.toString().c_str()); + } + return false; // default position on any failure +} + // Used in Network::_announceMulticastGroups() class _AnnounceMulticastGroupsToPeersWithActiveDirectPaths { @@ -524,7 +523,7 @@ public: inline void operator()(Topology &t,const SharedPtr &p) { - if ( ( (p->hasActiveDirectPath(_now)) && (_network->isAllowed(p->address())) ) || (std::find(_supernodeAddresses.begin(),_supernodeAddresses.end(),p->address()) != _supernodeAddresses.end()) ) { + if ( ( (p->hasActiveDirectPath(_now)) && (_network->_isAllowed(p->address())) ) || (std::find(_supernodeAddresses.begin(),_supernodeAddresses.end(),p->address()) != _supernodeAddresses.end()) ) { Packet outp(p->address(),RR->identity.address(),Packet::VERB_MULTICAST_LIKE); std::vector mgs(_network->allMulticastGroups()); @@ -557,6 +556,7 @@ private: void Network::_announceMulticastGroups() { + // Assumes _lock is locked _AnnounceMulticastGroupsToPeersWithActiveDirectPaths afunc(RR,this); RR->topology->eachPeer<_AnnounceMulticastGroupsToPeersWithActiveDirectPaths &>(afunc); } diff --git a/node/Network.hpp b/node/Network.hpp index 79ae3a90..f99ea525 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -55,6 +55,7 @@ namespace ZeroTier { class RuntimeEnvironment; +class _AnnounceMulticastGroupsToPeersWithActiveDirectPaths; /** * A virtual LAN @@ -62,6 +63,7 @@ class RuntimeEnvironment; class Network : NonCopyable { friend class SharedPtr; + friend class _AnnounceMulticastGroupsToPeersWithActiveDirectPaths; public: /** @@ -197,7 +199,11 @@ public: * @param peer Peer address to check * @return True if peer is allowed to communicate on this network */ - bool isAllowed(const Address &peer) const; + inline bool isAllowed(const Address &peer) const + { + Mutex::Lock _l(_lock); + return _isAllowed(peer); + } /** * Perform cleanup and possibly save state @@ -348,6 +354,7 @@ public: private: ZT1_VirtualNetworkStatus _status() const; void _externalConfig(ZT1_VirtualNetworkConfig *ec) const; // assumes _lock is locked + bool _isAllowed(const Address &peer) const; void _announceMulticastGroups(); const RuntimeEnvironment *RR; -- cgit v1.2.3 From a8835cd8b33903440f372ed66f4e3b49745ea68f Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 13 May 2015 18:53:37 -0700 Subject: Some prep work to make room for perfect forward security (PFS). Will not affect existing clients. --- node/Packet.cpp | 2 -- node/Packet.hpp | 39 ++++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/node/Packet.cpp b/node/Packet.cpp index 176dea09..f72f64b2 100644 --- a/node/Packet.cpp +++ b/node/Packet.cpp @@ -118,8 +118,6 @@ bool Packet::dearmor(const void *key) s20.decrypt(payload,payload,payloadLen); return true; - } else if (cs == ZT_PROTO_CIPHER_SUITE__C25519_AES256_GCM) { - return false; // not implemented yet } else return false; // unrecognized cipher suite } diff --git a/node/Packet.hpp b/node/Packet.hpp index d365e845..76f84996 100644 --- a/node/Packet.hpp +++ b/node/Packet.hpp @@ -99,14 +99,12 @@ #define ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012 1 /** - * Cipher suite: Curve25519/AES256-GCM + * DEPRECATED payload encrypted flag, will be removed for re-use soon. * - * This specifies AES256 in GCM mode using GCM's built-in authentication - * with Curve25519 elliptic curve Diffie-Hellman. - * - * (Not implemented yet in client but reserved for future use.) + * This has been replaced by the two-bit cipher suite selection field where + * a value of 0 indicated unencrypted (but authenticated) messages. */ -#define ZT_PROTO_CIPHER_SUITE__C25519_AES256_GCM 2 +#define ZT_PROTO_FLAG_ENCRYPTED 0x80 /** * Header flag indicating that a packet is fragmented @@ -116,6 +114,13 @@ */ #define ZT_PROTO_FLAG_FRAGMENTED 0x40 +/** + * Flag indicating encryption with a PFS session key + * + * Not used yet -- for future PFS session re-keying support. + */ +#define ZT_PROTO_FLAG_PFS_SESSION 0x20 + /** * Verb flag indicating payload is compressed with LZ4 */ @@ -293,9 +298,9 @@ namespace ZeroTier { * * Packets smaller than 28 bytes are invalid and silently discarded. * - * The flags/cipher/hops bit field is: FFCCCHHH where C is a 3-bit cipher - * selection allowing up to 8 cipher suites, F is flags (reserved, currently - * all zero), and H is hop count. + * The flags/cipher/hops bit field is: FFFCCHHH where C is a 2-bit cipher + * selection allowing up to 4 cipher suites, F is outside-envelope flags, + * and H is hop count. * * The three-bit hop count is the only part of a packet that is mutable in * transit without invalidating the MAC. All other bits in the packet are @@ -968,25 +973,21 @@ public: */ inline unsigned int cipher() const { - //return (((unsigned int)(*this)[ZT_PACKET_IDX_FLAGS] & 0x38) >> 3); - // Use DEPRECATED 0x80 "encrypted" flag -- this will go away once there are no more <1.0.0 peers on the net - return (((*this)[ZT_PACKET_IDX_FLAGS] & 0x80) == 0) ? ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_NONE : ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012; + // Note: this uses the new cipher spec field, which is incompatible with <1.0.0 peers + return (((unsigned int)(*this)[ZT_PACKET_IDX_FLAGS] & 0x18) >> 3); } /** * Set this packet's cipher suite - * - * This normally shouldn't be called directly as armor() will set it after - * encrypting and MACing the packet. */ inline void setCipher(unsigned int c) { unsigned char &b = (*this)[ZT_PACKET_IDX_FLAGS]; - b = (b & 0xc7) | (unsigned char)((c << 3) & 0x38); - // Set both the new cipher suite spec field and the old DEPRECATED "encrypted" flag as long as there's <1.0.0 peers online + b = (b & 0xe7) | (unsigned char)((c << 3) & 0x18); // bits: FFFCCHHH + // DEPRECATED "encrypted" flag -- used by pre-1.0.3 peers if (c == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) - b |= 0x80; - else b &= 0x7f; + b |= ZT_PROTO_FLAG_ENCRYPTED; + else b &= (~ZT_PROTO_FLAG_ENCRYPTED); } /** -- cgit v1.2.3