Menu

[r329]: / phprpc_2.1 / asp / compressed / phprpc_server.js  Maximize  Restore  History

Download this file

160 lines (160 with data), 33.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
function utf16to8(str){var out,i,j,len,c,c2;out=[];len=str.length;for(i=0,j=0;i<len;i++,j++){c=str.charCodeAt(i);if(c<=0x7f){out[j]=str.charAt(i);}
else if(c<=0x7ff){out[j]=String.fromCharCode(0xc0|(c>>>6),0x80|(c&0x3f));}
else if(c<0xd800||c>0xdfff){out[j]=String.fromCharCode(0xe0|(c>>>12),0x80|((c>>>6)&0x3f),0x80|(c&0x3f));}
else{if(++i<len){c2=str.charCodeAt(i);if(c<=0xdbff&&0xdc00<=c2&&c2<=0xdfff){c=((c&0x03ff)<<10|(c2&0x03ff))+0x010000;if(0x010000<=c&&c<=0x10ffff){out[j]=String.fromCharCode(0xf0|((c>>>18)&0x3f),0x80|((c>>>12)&0x3f),0x80|((c>>>6)&0x3f),0x80|(c&0x3f));}
else{out[j]='?';}}
else{i--;out[j]='?';}}
else{i--;out[j]='?';}}}
return out.join('');}
function utf8to16(str){var out,i,j,len,c,c2,c3,c4,s;out=[];len=str.length;i=j=0;while(i<len){c=str.charCodeAt(i++);switch(c>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out[j++]=str.charAt(i-1);break;case 12:case 13:c2=str.charCodeAt(i++);out[j++]=String.fromCharCode(((c&0x1f)<<6)|(c2&0x3f));break;case 14:c2=str.charCodeAt(i++);c3=str.charCodeAt(i++);out[j++]=String.fromCharCode(((c&0x0f)<<12)|((c2&0x3f)<<6)|(c3&0x3f));break;case 15:switch(c&0xf){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c2=str.charCodeAt(i++);c3=str.charCodeAt(i++);c4=str.charCodeAt(i++);s=((c&0x07)<<18)|((c2&0x3f)<<12)|((c3&0x3f)<<6)|(c4&0x3f)-0x10000;if(0<=s&&s<=0xfffff){out[j]=String.fromCharCode(((s>>>10)&0x03ff)|0xd800,(s&0x03ff)|0xdc00);}
else{out[j]='?';}
break;case 8:case 9:case 10:case 11:i+=4;out[j]='?';break;case 12:case 13:i+=5;out[j]='?';break;}}
j++;}
return out.join('');}
var base64EncodeChars=["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","0","1","2","3","4","5","6","7","8","9","+","/"];var base64DecodeChars=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];function base64encode(str){var out,i,j,len;var c1,c2,c3;len=str.length;i=j=0;out=[];while(i<len){c1=str.charCodeAt(i++)&0xff;if(i==len)
{out[j++]=base64EncodeChars[c1>>2];out[j++]=base64EncodeChars[(c1&0x3)<<4];out[j++]="==";break;}
c2=str.charCodeAt(i++)&0xff;if(i==len)
{out[j++]=base64EncodeChars[c1>>2];out[j++]=base64EncodeChars[((c1&0x03)<<4)|((c2&0xf0)>>4)];out[j++]=base64EncodeChars[(c2&0x0f)<<2];out[j++]="=";break;}
c3=str.charCodeAt(i++)&0xff;out[j++]=base64EncodeChars[c1>>2];out[j++]=base64EncodeChars[((c1&0x03)<<4)|((c2&0xf0)>>4)];out[j++]=base64EncodeChars[((c2&0x0f)<<2)|((c3&0xc0)>>6)];out[j++]=base64EncodeChars[c3&0x3f];}
return out.join('');}
function base64decode(str){var c1,c2,c3,c4;var i,j,len,out;len=str.length;i=j=0;out=[];while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&0xff];}while(i<len&&c1==-1);if(c1==-1)break;do{c2=base64DecodeChars[str.charCodeAt(i++)&0xff];}while(i<len&&c2==-1);if(c2==-1)break;out[j++]=String.fromCharCode((c1<<2)|((c2&0x30)>>4));do{c3=str.charCodeAt(i++)&0xff;if(c3==61)return out.join('');c3=base64DecodeChars[c3];}while(i<len&&c3==-1);if(c3==-1)break;out[j++]=String.fromCharCode(((c2&0x0f)<<4)|((c3&0x3c)>>2));do{c4=str.charCodeAt(i++)&0xff;if(c4==61)return out.join('');c4=base64DecodeChars[c4];}while(i<len&&c4==-1);if(c4==-1)break;out[j++]=String.fromCharCode(((c3&0x03)<<6)|c4);}
return out.join('');}
function serialize(o){var p=0,sb=[],ht=[],hv=1;function classname(o){if(typeof(o)=="undefined"||typeof(o.constructor)=="undefined")return'';var c=o.constructor.toString();c=utf16to8(c.substr(0,c.indexOf('(')).replace(/(^\s*function\s*)|(\s*$)/ig,''));return((c=='')?'Object':c);}
function is_int(n){var s=n.toString(),l=s.length;if(l>11)return false;for(var i=(s.charAt(0)=='-')?1:0;i<l;i++){switch(s.charAt(i)){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':break;default:return false;}}
return!(n<-2147483648||n>2147483647);}
function in_ht(o){for(k in ht)if(ht[k]===o)return k;return false;}
function ser_null(){sb[p++]='N;';}
function ser_boolean(b){sb[p++]=(b?'b:1;':'b:0;');}
function ser_integer(i){sb[p++]='i:'+i+';';}
function ser_double(d){if(isNaN(d))d='NAN';else if(d==Number.POSITIVE_INFINITY)d='INF';else if(d==Number.NEGATIVE_INFINITY)d='-INF';sb[p++]='d:'+d+';';}
function ser_string(s){var utf8=utf16to8(s);sb[p++]='s:'+utf8.length+':"';sb[p++]=utf8;sb[p++]='";';}
function ser_array(a){sb[p++]='a:';var lp=p;sb[p++]=0;sb[p++]=':{';for(var k in a){if(typeof(a[k])!='function'){is_int(k)?ser_integer(k):ser_string(k);__serialize(a[k]);sb[lp]++;}}
sb[p++]='}';}
function ser_object(o){var cn=classname(o);if(cn=='')ser_null();else if(typeof(o.serialize)!='function'){sb[p++]='O:'+cn.length+':"';sb[p++]=cn;sb[p++]='":';var lp=p;sb[p++]=0;sb[p++]=':{';if(typeof(o.__sleep)=='function'){var a=o.__sleep();for(var kk in a){ser_string(a[kk]);__serialize(o[a[kk]]);sb[lp]++;}}
else{for(var k in o){if(typeof(o[k])!='function'){ser_string(k);__serialize(o[k]);sb[lp]++;}}}
sb[p++]='}';}
else{var cs=o.serialize();sb[p++]='C:'+cn.length+':"';sb[p++]=cn;sb[p++]='":'+cs.length+':{';sb[p++]=cs;sb[p++]="}";}}
function ser_pointref(R){sb[p++]="R:"+R+";";}
function ser_ref(r){sb[p++]="r:"+r+";";}
function __serialize(o){if(o==null||o.constructor==Function){hv++;ser_null();}
else switch(o.constructor){case Boolean:{hv++;ser_boolean(o);break;}
case Number:{hv++;is_int(o)?ser_integer(o):ser_double(o);break;}
case String:{hv++;ser_string(o);break;}/*@cc_on@*//*@if(@_jscript)
case VBArray:{o=o.toArray();}@end@*/case Array:{var r=in_ht(o);if(r){ser_pointref(r);}
else{ht[hv++]=o;ser_array(o);}
break;}
default:{var r=in_ht(o);if(r){hv++;ser_ref(r);}
else{ht[hv++]=o;ser_object(o);}
break;}}}
__serialize(o);return sb.join('');}
function unserialize(ss){var p=0,ht=[],hv=1;r=null;function unser_null(){p++;return null;}
function unser_boolean(){p++;var b=(ss.charAt(p++)=='1');p++;return b;}
function unser_integer(){p++;var i=parseInt(ss.substring(p,p=ss.indexOf(';',p)));p++;return i;}
function unser_double(){p++;var d=ss.substring(p,p=ss.indexOf(';',p));switch(d){case'NAN':d=NaN;break;case'INF':d=Number.POSITIVE_INFINITY;break;case'-INF':d=Number.NEGATIVE_INFINITY;break;default:d=parseFloat(d);}
p++;return d;}
function unser_string(){p++;var l=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;var s=utf8to16(ss.substring(p,p+=l));p+=2;return s;}
function unser_array(){p++;var n=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;var a=[];ht[hv++]=a;for(var i=0;i<n;i++){var k;switch(ss.charAt(p++)){case'i':k=unser_integer();break;case's':k=unser_string();break;case'U':k=unser_unicode_string();break;default:return false;}
a[k]=__unserialize();}
p++;return a;}
function unser_object(){p++;var l=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;var cn=utf8to16(ss.substring(p,p+=l));p+=2;var n=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;if(eval(['typeof(',cn,') == "undefined"'].join(''))){eval(['function ',cn,'(){}'].join(''));}
var o=eval(['new ',cn,'()'].join(''));ht[hv++]=o;for(var i=0;i<n;i++){var k;switch(ss.charAt(p++)){case's':k=unser_string();break;case'U':k=unser_unicode_string();break;default:return false;}
if(k.charAt(0)=='\0'){k=k.substring(k.indexOf('\0',1)+1,k.length);}
o[k]=__unserialize();}
p++;if(typeof(o.__wakeup)=='function')o.__wakeup();return o;}
function unser_custom_object(){p++;var l=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;var cn=utf8to16(ss.substring(p,p+=l));p+=2;var n=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;if(eval(['typeof(',cn,') == "undefined"'].join(''))){eval(['function ',cn,'(){}'].join(''));}
var o=eval(['new ',cn,'()'].join(''));ht[hv++]=o;if(typeof(o.unserialize)!='function')p+=n;else o.unserialize(ss.substring(p,p+=n));p++;return o;}
function unser_unicode_string(){p++;var l=parseInt(ss.substring(p,p=ss.indexOf(':',p)));p+=2;var sb=[];for(var i=0;i<l;i++){if((sb[i]=ss.charAt(p++))=='\\'){sb[i]=String.fromCharCode(parseInt(ss.substring(p,p+=4),16));}}
p+=2;return sb.join('');}
function unser_ref(){p++;var r=parseInt(ss.substring(p,p=ss.indexOf(';',p)));p++;return ht[r];}
function __unserialize(){switch(ss.charAt(p++)){case'N':return ht[hv++]=unser_null();case'b':return ht[hv++]=unser_boolean();case'i':return ht[hv++]=unser_integer();case'd':return ht[hv++]=unser_double();case's':return ht[hv++]=unser_string();case'U':return ht[hv++]=unser_unicode_string();case'r':return ht[hv++]=unser_ref();case'a':return unser_array();case'O':return unser_object();case'C':return unser_custom_object();case'R':return unser_ref();default:return false;}}
return __unserialize();}
function mul(a,b){var n=a.length,m=b.length,nm=n+m,i,j,c=Array(n);for(i=0;i<nm;i++)c[i]=0;for(i=0;i<n;i++){for(j=0;j<m;j++){c[i+j]+=a[i]*b[j];c[i+j+1]+=(c[i+j]>>16)&0xffff;c[i+j]&=0xffff;}}
return c;}
function div(a,b,is_mod){var n=a.length,m=b.length,i,j,d,tmp,qq,rr,c=Array();d=Math.floor(0x10000/(b[m-1]+1));a=mul(a,[d]);b=mul(b,[d]);for(j=n-m;j>=0;j--){tmp=a[j+m]*0x10000+a[j+m-1];rr=tmp%b[m-1];qq=Math.round((tmp-rr)/b[m-1]);if(qq==0x10000||(m>1&&qq*b[m-2]>0x10000*rr+a[j+m-2])){qq--;rr+=b[m-1];if(rr<0x10000&&qq*b[m-2]>0x10000*rr+a[j+m-2])qq--;}
for(i=0;i<m;i++){tmp=i+j;a[tmp]-=b[i]*qq;a[tmp+1]+=Math.floor(a[tmp]/0x10000);a[tmp]&=0xffff;}
c[j]=qq;if(a[tmp+1]<0){c[j]--;for(i=0;i<m;i++){tmp=i+j;a[tmp]+=b[i];if(a[tmp]>0xffff){a[tmp+1]++;a[tmp]&=0xffff;}}}}
if(!is_mod)return c;b=Array();for(i=0;i<m;i++)b[i]=a[i];return div(b,[d]);}
function pow_mod(a,b,c){var n=b.length,p=[1],i,j,tmp;for(i=0;i<n-1;i++){tmp=b[i];for(j=0;j<0x10;j++){if(tmp&1)p=div(mul(p,a),c,1);tmp>>=1;a=div(mul(a,a),c,1);}}
tmp=b[i];while(tmp){if(tmp&1)p=div(mul(p,a),c,1);tmp>>=1;a=div(mul(a,a),c,1);}
return p;}
function zerofill(str,num){var n=num-str.toString().length,i,s='';for(i=0;i<n;i++)s+='0';return s+str;}
function dec2num(str){var n=str.length,a=[0],i,j,m;n+=4-(n%4);str=zerofill(str,n);n>>=2;for(i=0;i<n;i++){a=mul(a,[10000]);a[0]+=parseInt(str.substring(4*i,4*(i+1)),10);m=a.length;j=a[m]=0;while(j<m&&a[j]>0xffff){a[j++]&=0xffff;a[j]++;}
while(a.length>1&&!a[a.length-1])a.length--;}
return a;}
function num2dec(a){var n=2*a.length,b=Array(),i;for(i=0;i<n;i++){b[i]=zerofill(div(a,[10000],1)[0],4);a=div(a,[10000]);}
while(b.length>1&&!parseInt(b[b.length-1],10))b.length--;n=b.length-1;b[n]=parseInt(b[n],10);b=b.reverse().join('');return b;}
function is_decimal(str){var n=str.length;if(!n)return 0;str=str.split('');while(n--)if(isNaN(parseInt(str[n],10)))return 0;return 1;}
function str2num(str){var len=str.length;if(len&1){str="\0"+str;len++;}
len>>=1;var result=Array();for(var i=0;i<len;i++){result[len-i-1]=str.charCodeAt(i<<1)<<8|str.charCodeAt((i<<1)+1);}
return result;}
function num2str(num){var n=num.length;var s=Array();for(var i=0;i<n;i++){s[n-i-1]=String.fromCharCode(num[i]>>8&0xff,num[i]&0xff);}
return s.join('');}
function rand(n,s){var lowBitMasks=new Array(0x0000,0x0001,0x0003,0x0007,0x000f,0x001f,0x003f,0x007f,0x00ff,0x01ff,0x03ff,0x07ff,0x0fff,0x1fff,0x3fff,0x7fff);var r=n%16;var q=n>>4;var result=Array();for(var i=0;i<q;i++){result[i]=Math.floor(Math.random()*0xffff);}
if(r!=0){result[q]=Math.floor(Math.random()*lowBitMasks[r]);if(s){result[q]|=1<<(r-1);}}
else if(s){result[q-1]|=0x8000;}
return result;}
function long2str(v,w){var vl=v.length;var sl=v[vl-1]&0xffffffff;for(var i=0;i<vl;i++)
{v[i]=String.fromCharCode(v[i]&0xff,v[i]>>>8&0xff,v[i]>>>16&0xff,v[i]>>>24&0xff);}
if(w){return v.join('').substring(0,sl);}
else{return v.join('');}}
function str2long(s,w){var len=s.length;var v=[];for(var i=0;i<len;i+=4)
{v[i>>2]=s.charCodeAt(i)|s.charCodeAt(i+1)<<8|s.charCodeAt(i+2)<<16|s.charCodeAt(i+3)<<24;}
if(w){v[v.length]=len;}
return v;}
function xxtea_encrypt(str,key){if(str==""){return"";}
var v=str2long(str,true);var k=str2long(key,false);if(k.length<4)
{k.length=4;}
var n=v.length-1;var z=v[n],y=v[0],delta=0x9E3779B9;var mx,e,q=Math.floor(6+52/(n+1)),sum=0;while(0<q--){sum=sum+delta&0xffffffff;e=sum>>>2&3;for(var p=0;p<n;p++){y=v[p+1];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);z=v[p]=v[p]+mx&0xffffffff;}
y=v[0];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);z=v[n]=v[n]+mx&0xffffffff;}
return long2str(v,false);}
function xxtea_decrypt(str,key){if(str==""){return"";}
var v=str2long(str,false);var k=str2long(key,false);if(k.length<4)
{k.length=4;}
var n=v.length-1;var z=v[n-1],y=v[0],delta=0x9E3779B9;var mx,e,q=Math.floor(6+52/(n+1)),sum=q*delta&0xffffffff;while(sum!=0){e=sum>>>2&3;for(var p=n;p>0;p--){z=v[p-1];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);y=v[p]=v[p]-mx&0xffffffff;}
z=v[n];mx=(z>>>5^y<<2)+(y>>>3^z<<4)^(sum^y)+(k[p&3^e]^z);y=v[0]=v[0]-mx&0xffffffff;sum=sum-delta&0xffffffff;}
return long2str(v,true);}
var phprpc_keypair=Array(100);phprpc_keypair[0]=[];phprpc_keypair[0]['p']='235134112012578422191511122344263505059';phprpc_keypair[0]['g']='114253965306305311129365942750815706586';phprpc_keypair[1]=[];phprpc_keypair[1]['p']='293329082814229897053086281025330229767';phprpc_keypair[1]['g']='146735010352076684087400094629237534668';phprpc_keypair[2]=[];phprpc_keypair[2]['p']='177609171391522040009532357499403762387';phprpc_keypair[2]['g']='108819504408514352277947608759864510305';phprpc_keypair[3]=[];phprpc_keypair[3]['p']='320467590991760020542955420079604596063';phprpc_keypair[3]['g']='135672856473762434695216971517360331367';phprpc_keypair[4]=[];phprpc_keypair[4]['p']='336180793246654384718625688534058455559';phprpc_keypair[4]['g']='88282631744804863082467635565201732456';phprpc_keypair[5]=[];phprpc_keypair[5]['p']='254805164000909110969661571829756402019';phprpc_keypair[5]['g']='92558028574694431590704321616330713837';phprpc_keypair[6]=[];phprpc_keypair[6]['p']='178298298251918580532083480581435074043';phprpc_keypair[6]['g']='169959844911213057267652644167559767160';phprpc_keypair[7]=[];phprpc_keypair[7]['p']='324191565231692276382380815827639417287';phprpc_keypair[7]['g']='112859762454574958239908055960782270332';phprpc_keypair[8]=[];phprpc_keypair[8]['p']='233769628590434672747368901062770304667';phprpc_keypair[8]['g']='90475039698089588499309801996447136876';phprpc_keypair[9]=[];phprpc_keypair[9]['p']='214114138428422786386980312712396404539';phprpc_keypair[9]['g']='133119589633358853976841774381048630547';phprpc_keypair[10]=[];phprpc_keypair[10]['p']='292294907782459517396544083345341630307';phprpc_keypair[10]['g']='135353904208512047810136363216644832527';phprpc_keypair[11]=[];phprpc_keypair[11]['p']='206347739899493441422036426970507322479';phprpc_keypair[11]['g']='112969181531254840583802446845853649407';phprpc_keypair[12]=[];phprpc_keypair[12]['p']='239372101761120579151301263502193969287';phprpc_keypair[12]['g']='96707705618206757419188310251900038538';phprpc_keypair[13]=[];phprpc_keypair[13]['p']='256415626282204690542952453213542246299';phprpc_keypair[13]['g']='97396491643081247602678199012335594924';phprpc_keypair[14]=[];phprpc_keypair[14]['p']='223287937626579459650195501139476714663';phprpc_keypair[14]['g']='164357757525948224768871364620030030369';phprpc_keypair[15]=[];phprpc_keypair[15]['p']='217890682636907262608591867625915595583';phprpc_keypair[15]['g']='108332925814246416755585986020243787306';phprpc_keypair[16]=[];phprpc_keypair[16]['p']='247164439632608067973588292247057584363';phprpc_keypair[16]['g']='158881390085516959996818201740267467952';phprpc_keypair[17]=[];phprpc_keypair[17]['p']='199448189587190382796357964428563297983';phprpc_keypair[17]['g']='150288689645413029516916987977156222640';phprpc_keypair[18]=[];phprpc_keypair[18]['p']='193334387928657886800745413342249717767';phprpc_keypair[18]['g']='151170708069932501373023705955494119236';phprpc_keypair[19]=[];phprpc_keypair[19]['p']='319444461127385952544632873543005091779';phprpc_keypair[19]['g']='108979805217252438541070196441448163157';phprpc_keypair[20]=[];phprpc_keypair[20]['p']='260548443046928785715390783638660468019';phprpc_keypair[20]['g']='122965059854050696960119728267030441175';phprpc_keypair[21]=[];phprpc_keypair[21]['p']='189799926090211833903204659092207273943';phprpc_keypair[21]['g']='166961906019181846910657165033019606245';phprpc_keypair[22]=[];phprpc_keypair[22]['p']='226060310762226657394605000180068799623';phprpc_keypair[22]['g']='86595082460767068818918686550822581317';phprpc_keypair[23]=[];phprpc_keypair[23]['p']='231151469017016970480739054688840180819';phprpc_keypair[23]['g']='129239632396036334259557170788004971757';phprpc_keypair[24]=[];phprpc_keypair[24]['p']='216388711786067898274687960126720886363';phprpc_keypair[24]['g']='94910737336717243307562563872283907044';phprpc_keypair[25]=[];phprpc_keypair[25]['p']='313258240723006964586960061709329970483';phprpc_keypair[25]['g']='155362291656085133085249035336750674137';phprpc_keypair[26]=[];phprpc_keypair[26]['p']='228813387031124914241771077068420027467';phprpc_keypair[26]['g']='169347546292883391504298567162332952155';phprpc_keypair[27]=[];phprpc_keypair[27]['p']='278094594449815403802635954440656118943';phprpc_keypair[27]['g']='150809849182813646071490675250427822836';phprpc_keypair[28]=[];phprpc_keypair[28]['p']='214803912039045939040356363281752163219';phprpc_keypair[28]['g']='103419624453856074458741339302564191221';phprpc_keypair[29]=[];phprpc_keypair[29]['p']='260545953038208313752021404120120024567';phprpc_keypair[29]['g']='130272976519104156876010702060060012283';phprpc_keypair[30]=[];phprpc_keypair[30]['p']='197818177363362436714505990298032941583';phprpc_keypair[30]['g']='138630537937694637488203593076842804626';phprpc_keypair[31]=[];phprpc_keypair[31]['p']='337712403664158615321359498766020493743';phprpc_keypair[31]['g']='119639193745035689225349797557286621554';phprpc_keypair[32]=[];phprpc_keypair[32]['p']='319285180147137751363027449598074170879';phprpc_keypair[32]['g']='121445137057486776325486980739815246225';phprpc_keypair[33]=[];phprpc_keypair[33]['p']='187739930341928141965458006932040448547';phprpc_keypair[33]['g']='125720534045832669880699086043151745302';phprpc_keypair[34]=[];phprpc_keypair[34]['p']='217429296978154636881149112530012238479';phprpc_keypair[34]['g']='169028594106861167115035552385746819330';phprpc_keypair[35]=[];phprpc_keypair[35]['p']='281469774493052989415187891018895829927';phprpc_keypair[35]['g']='116892694663443451825992958247036345260';phprpc_keypair[36]=[];phprpc_keypair[36]['p']='338949968199381220776236122616008508987';phprpc_keypair[36]['g']='141663057693630366141785870266975273010';phprpc_keypair[37]=[];phprpc_keypair[37]['p']='281040231116176468952058414607959033083';phprpc_keypair[37]['g']='113885780740450668462039298240169106848';phprpc_keypair[38]=[];phprpc_keypair[38]['p']='290751150060976998394293039051805767767';phprpc_keypair[38]['g']='87721214858533401238341755356487191228';phprpc_keypair[39]=[];phprpc_keypair[39]['p']='290751150060976998394293039051805767767';phprpc_keypair[39]['g']='143897372268783559993527203180575993901';phprpc_keypair[40]=[];phprpc_keypair[40]['p']='220069709591391046590020964172751345003';phprpc_keypair[40]['g']='97624304906630747811689499244054413611';phprpc_keypair[41]=[];phprpc_keypair[41]['p']='327929356301178669615928347804927727583';phprpc_keypair[41]['g']='92147937466199483021189592294877266875';phprpc_keypair[42]=[];phprpc_keypair[42]['p']='261034180984702034878654105774773451199';phprpc_keypair[42]['g']='157798813661844881598118634262576293823';phprpc_keypair[43]=[];phprpc_keypair[43]['p']='202930955001321397995480807932226333299';phprpc_keypair[43]['g']='117648993143129355955371559553312100186';phprpc_keypair[44]=[];phprpc_keypair[44]['p']='259313394618282315534126810957675277223';phprpc_keypair[44]['g']='158487599765947534295872860612260833250';phprpc_keypair[45]=[];phprpc_keypair[45]['p']='285382180994917837967254405398923142263';phprpc_keypair[45]['g']='165232450192503746744920131199243673290';phprpc_keypair[46]=[];phprpc_keypair[46]['p']='309030996971660411106327084512577288239';phprpc_keypair[46]['g']='104974128114324513611321813774181280327';phprpc_keypair[47]=[];phprpc_keypair[47]['p']='314377760534681410581480765350123747483';phprpc_keypair[47]['g']='106091285401901110546415852265688932933';phprpc_keypair[48]=[];phprpc_keypair[48]['p']='292208255284422641980885759823128931567';phprpc_keypair[48]['g']='111290607278178619327211678699506608469';phprpc_keypair[49]=[];phprpc_keypair[49]['p']='319687448646881552888055548523733602839';phprpc_keypair[49]['g']='157328535777274306448508806192273017069';phprpc_keypair[50]=[];phprpc_keypair[50]['p']='265847143659829737487422229704051825239';phprpc_keypair[50]['g']='103815064204879448278222096943442447186';phprpc_keypair[51]=[];phprpc_keypair[51]['p']='314130488375781756548243339580539834843';phprpc_keypair[51]['g']='114642079220136572591417899550739829069';phprpc_keypair[52]=[];phprpc_keypair[52]['p']='323979066147957089157913476557280355139';phprpc_keypair[52]['g']='119841401096414081372213725984557504605';phprpc_keypair[53]=[];phprpc_keypair[53]['p']='317820651091054756428895055638190398787';phprpc_keypair[53]['g']='102462767975017563786769888492640191467';phprpc_keypair[54]=[];phprpc_keypair[54]['p']='332107837321373988131773867282883952059';phprpc_keypair[54]['g']='140143134897066445525599866809174662380';phprpc_keypair[55]=[];phprpc_keypair[55]['p']='272579507070886913837025711415793989079';phprpc_keypair[55]['g']='123192873038372034654866690905205309526';phprpc_keypair[56]=[];phprpc_keypair[56]['p']='243989723055742927638539033382946273427';phprpc_keypair[56]['g']='146459614140148713737307325254334389242';phprpc_keypair[57]=[];phprpc_keypair[57]['p']='332555709347088902689598919286627839323';phprpc_keypair[57]['g']='89787902946212721442720142713509371609';phprpc_keypair[58]=[];phprpc_keypair[58]['p']='325384772516265794007962685797560517687';phprpc_keypair[58]['g']='94987224822490230241962713221036598761';phprpc_keypair[59]=[];phprpc_keypair[59]['p']='294555731587894050609984260558876020823';phprpc_keypair[59]['g']='92711003625468567992215701972499664630';phprpc_keypair[60]=[];phprpc_keypair[60]['p']='209354040637573262398382894664580394579';phprpc_keypair[60]['g']='148652022093433439172596235759289345277';phprpc_keypair[61]=[];phprpc_keypair[61]['p']='246253506328408967197609029025215931727';phprpc_keypair[61]['g']='164871591305384891443387100494177376890';phprpc_keypair[62]=[];phprpc_keypair[62]['p']='320478324147512072083515228155865486359';phprpc_keypair[62]['g']='162402137867174572531105191141116451606';phprpc_keypair[63]=[];phprpc_keypair[63]['p']='330872345997496256920571400194156570447';phprpc_keypair[63]['g']='133700935867606934578799478731621591288';phprpc_keypair[64]=[];phprpc_keypair[64]['p']='276715416046931109202130204465385885227';phprpc_keypair[64]['g']='94433133694182718277894784407151343911';phprpc_keypair[65]=[];phprpc_keypair[65]['p']='213141076634866517369074234260629536547';phprpc_keypair[65]['g']='90115830242424681353205675951671564971';phprpc_keypair[66]=[];phprpc_keypair[66]['p']='232090514205656997012561422565029854283';phprpc_keypair[66]['g']='87150822862072203891440100759906141078';phprpc_keypair[67]=[];phprpc_keypair[67]['p']='212221907427717897685746883853616805487';phprpc_keypair[67]['g']='156883863725646676846782012341463660205';phprpc_keypair[68]=[];phprpc_keypair[68]['p']='292688343235918538918862650419768815587';phprpc_keypair[68]['g']='123478893712715526148899801739016705328';phprpc_keypair[69]=[];phprpc_keypair[69]['p']='271069326190601438720353633104935823587';phprpc_keypair[69]['g']='93232163162869184546789389245771264826';phprpc_keypair[70]=[];phprpc_keypair[70]['p']='186056912219904121148780068707217848083';phprpc_keypair[70]['g']='108334575087244039900932959567156162745';phprpc_keypair[71]=[];phprpc_keypair[71]['p']='248373311398096732861259837277663594743';phprpc_keypair[71]['g']='85949852330758670160334705602821029289';phprpc_keypair[72]=[];phprpc_keypair[72]['p']='300010607033091643479546828814257399503';phprpc_keypair[72]['g']='110333750799340108673686971963292160331';phprpc_keypair[73]=[];phprpc_keypair[73]['p']='313895438470152710375710646564516032727';phprpc_keypair[73]['g']='169668147831131401516279404931956307522';phprpc_keypair[74]=[];phprpc_keypair[74]['p']='322590526816352199969792281048896492847';phprpc_keypair[74]['g']='150248432375770346741629132639552199239';phprpc_keypair[75]=[];phprpc_keypair[75]['p']='229041626372068657105536693064908687227';phprpc_keypair[75]['g']='126746552252480217588565990733289598778';phprpc_keypair[76]=[];phprpc_keypair[76]['p']='185418899320977161527522788947204504243';phprpc_keypair[76]['g']='167585158875298395929067291792238331842';phprpc_keypair[77]=[];phprpc_keypair[77]['p']='232173214160823519377042693359246735319';phprpc_keypair[77]['g']='98305765173541288096674692531656164707';phprpc_keypair[78]=[];phprpc_keypair[78]['p']='252399939265425510790107581900495954579';phprpc_keypair[78]['g']='122194109858436893089071968240510697813';phprpc_keypair[79]=[];phprpc_keypair[79]['p']='242040825257613866562649452984416455187';phprpc_keypair[79]['g']='157833394525749400134513105276392772301';phprpc_keypair[80]=[];phprpc_keypair[80]['p']='185197922106698227135398337659503349023';phprpc_keypair[80]['g']='123311267146013490005719262658308798802';phprpc_keypair[81]=[];phprpc_keypair[81]['p']='299085647743844614205690550289251433067';phprpc_keypair[81]['g']='122152203236568424672619545836159900253';phprpc_keypair[82]=[];phprpc_keypair[82]['p']='224737145459662622660304006388401669863';phprpc_keypair[82]['g']='155086895444157162735156265961847528711';phprpc_keypair[83]=[];phprpc_keypair[83]['p']='183477899957140264342511478886875388367';phprpc_keypair[83]['g']='122799082718802608972368093846613259144';phprpc_keypair[84]=[];phprpc_keypair[84]['p']='223118172739148086695807159310446908303';phprpc_keypair[84]['g']='115323539487047112913296580985760683397';phprpc_keypair[85]=[];phprpc_keypair[85]['p']='323360910368171042961597952939485301979';phprpc_keypair[85]['g']='103572599504630210841805975589318557694';phprpc_keypair[86]=[];phprpc_keypair[86]['p']='243349063054097417862512378395852484699';phprpc_keypair[86]['g']='86193966383233693256362138097401244556';phprpc_keypair[87]=[];phprpc_keypair[87]['p']='248010882286444735640241976025753974787';phprpc_keypair[87]['g']='161512793684691150794940521772244235927';phprpc_keypair[88]=[];phprpc_keypair[88]['p']='174068156213313068806226049916128090707';phprpc_keypair[88]['g']='154037250532163817250133346496345675925';phprpc_keypair[89]=[];phprpc_keypair[89]['p']='339156556362881482846283813958743682479';phprpc_keypair[89]['g']='164864265547420941563329149099348090512';phprpc_keypair[90]=[];phprpc_keypair[90]['p']='245464484609286479269195017894711401663';phprpc_keypair[90]['g']='155154407898968576681044978507687727250';phprpc_keypair[91]=[];phprpc_keypair[91]['p']='322534236706420852216492496622526417619';phprpc_keypair[91]['g']='96702029212468593161848181850107974703';phprpc_keypair[92]=[];phprpc_keypair[92]['p']='310973124512343941785689941006328128807';phprpc_keypair[92]['g']='89033253739524440458688514949851024827';phprpc_keypair[93]=[];phprpc_keypair[93]['p']='214339191546504706093288146504263986787';phprpc_keypair[93]['g']='133458471246585859638200950897332100517';phprpc_keypair[94]=[];phprpc_keypair[94]['p']='252555838412923550195096368118151066503';phprpc_keypair[94]['g']='167552227363619663255198316729683246916';phprpc_keypair[95]=[];phprpc_keypair[95]['p']='252016989623723066783731107979992437747';phprpc_keypair[95]['g']='166628302317231722761278247462479933368';phprpc_keypair[96]=[];phprpc_keypair[96]['p']='186448876606432523901572961212927802383';phprpc_keypair[96]['g']='110645377148170220668627697751505056441';phprpc_keypair[97]=[];phprpc_keypair[97]['p']='257149758861502157530285263323967701147';phprpc_keypair[97]['g']='106134841375995364585586097663076953036';phprpc_keypair[98]=[];phprpc_keypair[98]['p']='202721729376094734986923295955337245659';phprpc_keypair[98]['g']='93266744106001865800362382663936761415';phprpc_keypair[99]=[];phprpc_keypair[99]['p']='243690006567885430028216814139167509663';phprpc_keypair[99]['g']='156876538046910889480988398535883356867';
function addjsslashes(str,flag){var test;if(flag==false){test=/([\0-\037\042\047\134])/g;}
else{test=/([\0-\037\042\047\134\177-\377])/g;}
return str.replace(test,function($1){var s=$1.charCodeAt(0).toString(8);return'\\'+((s.length==1)?"00":((s.length==2)?"0":""))+s;});}
function getGMTDate(date){var week=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return week[date.getUTCDay()]+", "+date.toGMTString();}
function IsEmpty(o){if(typeof(o)=="object"&&String(o)=="undefined")return true;return false;}
function phprpc_server(functions){Response.CodePage=65001;Session.CodePage=65001;var func,args,result,encrypt;var date=getGMTDate(new Date());Response.Buffer=true;Response.ContentType="text/plain";Response.Charset="utf-8";Response.AddHeader("X-Powered-By","PHPRPC Server/2.1");Response.AddHeader("Date",date);Response.AddHeader("Last0Modified",date);Response.AddHeader("Cache-Control","no-store, no-cache, must-revalidate");Response.AddHeader("Cache-Control","pre-check=0, post-check=0, max-age=0");Response.AddHeader("Content-Encoding","none");if(functions.constructor==Array){this.functions=functions;}
else if(functions.constructor==VBArray){this.functions=functions.toArray();}
else{this.functions=[functions];}
this.encode=true;if(!IsEmpty(Request('phprpc_encode'))){this.encode=String(Request('phprpc_encode')).toLowerCase();if(this.encode=="false"){this.encode=false;}}
if(!IsEmpty(Request('phprpc_callback'))){this.callback=utf8to16(base64decode(String(Request('phprpc_callback'))));}
else{this.callback="";}
this.ref=true;if(!IsEmpty(Request('phprpc_ref'))){this.ref=String(Request('phprpc_ref')).toLowerCase();if(this.ref=="false"){this.ref=false;}}
this.errno=0;this.errstr="";try{this.encrypt=false;if(!IsEmpty(Request('phprpc_encrypt'))){this.encrypt=String(Request('phprpc_encrypt'));if(this.encrypt==="true")this.encrypt=true;if(this.encrypt==="false")this.encrypt=false;}
if(!IsEmpty(Request('phprpc_func'))){func=String(Request('phprpc_func'));if(this.is_defined(func)){if(!IsEmpty(Request('phprpc_args'))){args=base64decode(String(Request('phprpc_args')));if(this.encrypt>0){if(typeof(Session('PHPRPC_ENCRYPT')['k'])!="undefined"){args=xxtea_decrypt(args,Session('PHPRPC_ENCRYPT')['k']);}
else{this.errno=1;this.errstr="Can't find the key for decryption.";}}
args=unserialize(args);}
else{args=[];}
result=serialize(this.call(func,args));if(this.ref){args=serialize(args);}
if(this.encrypt>0){if(typeof(Session('PHPRPC_ENCRYPT')['k'])!="undefined"){if(this.encrypt>1){result=xxtea_encrypt(result,Session('PHPRPC_ENCRYPT')['k']);}
if(this.ref){args=xxtea_encrypt(args,Session('PHPRPC_ENCRYPT')['k']);}}
else{this.errno=1;this.errstr="Can't find the key for encryption.";}}
if(this.encode){result=base64encode(result);if(this.ref){args=base64encode(args);}}
else{result=addjsslashes(result);if(this.ref){args=addjsslashes(args);}}}
else{this.errno=1;this.errstr="Can't find this function "+func+"().";}
Response.Clear();if(this.errno!=1){Response.Write('phprpc_result="'+result+'";\r\n');if(this.ref){Response.Write('phprpc_args="'+args+'";\r\n');}}
Response.Write('phprpc_errno="'+this.errno+'";\r\n');if(this.encode){Response.Write('phprpc_errstr="'+base64encode(utf16to8(this.errstr))+'";\r\n');Response.Write('phprpc_output="";\r\n');}
else{Response.Write('phprpc_errstr="'+addjsslashes(this.errstr,false)+'";\r\n');Response.Write('phprpc_output="";\r\n');}}
else{if(this.encrypt!=false){if(this.encrypt===true){encrypt=phprpc_keypair[Math.floor(Math.random()*phprpc_keypair.length)];Session('PHPRPC_ENCRYPT')=[];Session('PHPRPC_ENCRYPT')['x']=rand(127,1);Session('PHPRPC_ENCRYPT')['g']=dec2num(encrypt['g']);Session('PHPRPC_ENCRYPT')['p']=dec2num(encrypt['p']);encrypt['y']=num2dec(pow_mod(Session('PHPRPC_ENCRYPT')['g'],Session('PHPRPC_ENCRYPT')['x'],Session('PHPRPC_ENCRYPT')['p']));}
else{Session('PHPRPC_ENCRYPT')['y']=dec2num(this.encrypt);var key=num2str(pow_mod(Session('PHPRPC_ENCRYPT')['y'],Session('PHPRPC_ENCRYPT')['x'],Session('PHPRPC_ENCRYPT')['p']));var n=16-key.length;var k=[];for(var i=0;i<n;i++){k[i]='\0';}
k[n]=key;Session('PHPRPC_ENCRYPT')['k']=k.join('');encrypt=true;}
if(this.encode){Response.Write('phprpc_encrypt="'+base64encode(serialize(encrypt))+'";\r\n');}
else{Response.Write('phprpc_encrypt="'+addjsslashes(serialize(encrypt))+'";\r\n');}}
if(this.encode){Response.Write('phprpc_functions="'+base64encode(serialize(this.functions))+'";\r\n');}
else{Response.Write('phprpc_functions="'+addjsslashes(serialize(this.functions))+'";\r\n');}}
Response.Write(this.callback);}
catch(e){this.errno=1;this.errstr=e.description;Response.Clear();Response.Write('phprpc_errno="'+this.errno+'";\r\n');if(this.encode){Response.Write('phprpc_errstr="'+base64encode(utf16to8(this.errstr))+'";\r\n');}
else{Response.Write('phprpc_errstr="'+addjsslashes(this.errstr,false)+'";\r\n');}
Response.Write('phprpc_output="";\r\n');Response.Write(this.callback);}
Response.End();}
phprpc_server.prototype.is_defined=function(func){for(var i=0,n=this.functions.length;i<n;i++){if(this.functions[i]==func)return true;}
return false;}
phprpc_server.prototype.call=function(func,args){var a=[];for(var i=0,n=args.length;i<n;i++){a[i]='args['+i+']';}
return eval(func+"("+a.join(', ')+")");}
phprpc_server.create=function(functions){new phprpc_server(functions);}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.