x_ite 16.5.1 → 16.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +6 -6
  2. package/dist/assets/components/AnnotationComponent.js +1 -1
  3. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  4. package/dist/assets/components/CADGeometryComponent.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  8. package/dist/assets/components/DISComponent.js +1 -1
  9. package/dist/assets/components/DISComponent.min.js +1 -1
  10. package/dist/assets/components/EventUtilitiesComponent.js +1 -1
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +1 -1
  12. package/dist/assets/components/GaussianSplatsComponent.js +1 -1
  13. package/dist/assets/components/GaussianSplatsComponent.min.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.js +1 -1
  15. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.js +1 -1
  17. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.js +18 -18
  19. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  20. package/dist/assets/components/HAnimComponent.js +652 -385
  21. package/dist/assets/components/HAnimComponent.min.js +2 -2
  22. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  24. package/dist/assets/components/LayoutComponent.js +1 -1
  25. package/dist/assets/components/LayoutComponent.min.js +1 -1
  26. package/dist/assets/components/NURBSComponent.js +1 -1
  27. package/dist/assets/components/NURBSComponent.min.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  29. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  30. package/dist/assets/components/PickingComponent.js +1 -1
  31. package/dist/assets/components/PickingComponent.min.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.js +1 -1
  33. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.js +1 -1
  35. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  36. package/dist/assets/components/TextComponent.js +1 -1
  37. package/dist/assets/components/TextComponent.min.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  39. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  40. package/dist/assets/components/Texturing3DComponent.js +9 -9
  41. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  42. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  43. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  44. package/dist/assets/components/WebXRComponent.js +1 -1
  45. package/dist/assets/components/WebXRComponent.min.js +1 -1
  46. package/dist/assets/components/X_ITEComponent.js +1 -1
  47. package/dist/assets/components/X_ITEComponent.min.js +1 -1
  48. package/dist/assets/lib/draco_decoder_gltf.js +1 -1
  49. package/dist/example.html +1 -1
  50. package/dist/x_ite.css +1 -1
  51. package/dist/x_ite.js +71 -108
  52. package/dist/x_ite.min.js +2 -2
  53. package/dist/x_ite.min.mjs +2 -2
  54. package/dist/x_ite.mjs +71 -108
  55. package/dist/x_ite.zip +0 -0
  56. package/package.json +4 -3
@@ -1 +1 @@
1
- var DracoDecoderModule=(()=>{var r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(r=r||__filename),function(e={}){var i,t,f=void 0!==e?e:{};f.ready=new Promise(function(r,e){i=r,t=e});var a=!1,n=!1;f.onRuntimeInitialized=function(){a=!0,n&&"function"==typeof f.onModuleLoaded&&f.onModuleLoaded(f)},f.onModuleParsed=function(){n=!0,a&&"function"==typeof f.onModuleLoaded&&f.onModuleLoaded(f)},f.isVersionSupported=function(r){if("string"!=typeof r)return!1;const e=r.split(".");return!(e.length<2||e.length>3)&&(1==e[0]&&e[1]>=0&&e[1]<=5||!(0!=e[0]||e[1]>10))};var A,o,b,u=Object.assign({},f),c="object"==typeof window,k="function"==typeof importScripts,_="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!1,s="";if(_){var p=require("fs"),l=require("path");s=k?l.dirname(s)+"/":__dirname+"/",A=(r,e)=>{var i=rr(r);return i?e?i:i.toString():(r=H(r)?new URL(r):l.normalize(r),p.readFileSync(r,e?void 0:"utf8"))},b=r=>{var e=A(r,!0);return e.buffer||(e=new Uint8Array(e)),e},o=(r,e,i)=>{var t=rr(r);t&&e(t),r=H(r)?new URL(r):l.normalize(r),p.readFile(r,function(r,t){r?i(r):e(t.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),f.inspect=function(){return"[Emscripten Module object]"}}else(c||k)&&(k?s=self.location.href:"undefined"!=typeof document&&document.currentScript&&(s=document.currentScript.src),r&&(s=r),s=0!==s.indexOf("blob:")?s.substr(0,s.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=r=>{try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText}catch(e){var i=rr(r);if(i)return function(r){for(var e=[],i=0;i<r.length;i++){var t=r[i];t>255&&(t&=255),e.push(String.fromCharCode(t))}return e.join("")}(i);throw e}},k&&(b=r=>{try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=rr(r);if(i)return i;throw e}}),o=(r,e,i)=>{var t=new XMLHttpRequest;t.open("GET",r,!0),t.responseType="arraybuffer",t.onload=()=>{if(200==t.status||0==t.status&&t.response)e(t.response);else{var f=rr(r);f?e(f.buffer):i()}},t.onerror=i,t.send(null)},r=>document.title=r);f.print||console.log.bind(console);var y,d=f.printErr||console.warn.bind(console);Object.assign(f,u),u=null,f.arguments&&f.arguments,f.thisProgram&&f.thisProgram,f.quit&&f.quit,f.wasmBinary&&(y=f.wasmBinary);var m,v=f.noExitRuntime||!0,h={Memory:function(r){this.buffer=new ArrayBuffer(65536*r.initial)},Module:function(r){},Instance:function(r,e){this.exports=function(r){for(var e,i=new Uint8Array(123),t=25;t>=0;--t)i[48+t]=52+t,i[65+t]=t,i[97+t]=26+t;function f(r,e,t){for(var f,a,n=0,A=e,o=t.length,b=e+(3*o>>2)-("="==t[o-2])-("="==t[o-1]);n<o;n+=4)f=i[t.charCodeAt(n+1)],a=i[t.charCodeAt(n+2)],r[A++]=i[t.charCodeAt(n)]<<2|f>>4,A<b&&(r[A++]=f<<4|a>>2),A<b&&(r[A++]=a<<6|i[t.charCodeAt(n+3)])}i[43]=62,i[47]=63;var a=new ArrayBuffer(16),n=new Int32Array(a),A=new Float32Array(a);new Float64Array(a);function o(){throw new Error("abort")}function b(r){A[2]=r}function u(r){return n[r]}return function(r){var i=r.a,t=i.a,a=t.buffer;t.grow=function(r){r|=0;var i=0|Et(),f=i+r|0;if(i<f&&f<65536){var o=new ArrayBuffer(y(f,65536));new Int8Array(o).set(n),n=new Int8Array(o),A=new Int16Array(o),c=new Int32Array(o),k=new Uint8Array(o),_=new Uint16Array(o),s=new Uint32Array(o),p=new Float32Array(o),l=new Float64Array(o),a=o,t.buffer=a,e=k}return i};var n=new Int8Array(a),A=new Int16Array(a),c=new Int32Array(a),k=new Uint8Array(a),_=new Uint16Array(a),s=new Uint32Array(a),p=new Float32Array(a),l=new Float64Array(a),y=Math.imul,d=Math.fround,m=Math.abs,v=Math.clz32,h=Math.min,R=Math.max,N=Math.floor,T=Math.ceil,V=(Math.trunc,Math.sqrt),U=i.b,W=i.c,D=i.d,G=i.e,Z=77808,E=0;function F(r,e,i,t){var f=0,a=0,A=0,o=0,b=0,u=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,F=0;if(!r)return 1;r:if(!((0|(f=c[i+20>>2]))>=(0|(v=c[i+12>>2]))&(A=c[i+16>>2])>>>0>=s[i+8>>2]|(0|f)>(0|v))){v=k[A+c[i>>2]|0],f=(A=A+1|0)?f:f+1|0,c[i+16>>2]=A,c[i+20>>2]=f;e:switch(0|v){case 0:f=r,a=e,A=t,r=0,t=0,Z=u=Z+-64|0,c[u+56>>2]=0,c[u+48>>2]=0,c[u+52>>2]=0,c[u+40>>2]=0,c[u+44>>2]=0,c[u+32>>2]=0,c[u+36>>2]=0,c[u+24>>2]=0,c[u+28>>2]=0,c[u+16>>2]=0,c[u+20>>2]=0,c[u+8>>2]=0,c[u+12>>2]=0;i:if(or(u+8|0,i)&&!(!jr(u+8|0,i)|(c[u+20>>2]?0:f))){if(bi(i,0,0),f)for(T=a<<2,V=c[u+36>>2],U=c[u+48>>2],G=c[u+24>>2],l=c[u+56>>2],b=c[u+52>>2];;){t:if(!(l>>>0>16383))for(;;){if((0|b)<=0)break t;if(b=b-1|0,c[u+52>>2]=b,l=k[b+U|0]|l<<8,c[u+56>>2]=l,!(l>>>0<16384))break}if(N=c[((r=4095&l)<<2)+G>>2],l=(y(c[(e=(N<<3)+V|0)>>2],l>>>12|0)+r|0)-c[e+4>>2]|0,c[u+56>>2]=l,(0|a)>0){if(r=0,!k[i+36|0]|N>>>0>32)break i;if(v=t+a|0,N)for(E=-2&N,F=1&N,e=c[i+32>>2],o=c[i+28>>2],R=c[i+24>>2];;){if(p=0,r=e,d=0,m=0,1!=(0|N))for(;(h=R+(r>>>3|0)|0)>>>0>=o>>>0?h=0:(h=k[0|h],e=r+1|0,c[i+32>>2]=e,h=h>>>(7&r)&1,r=e),h=h<<p|d,d=0,(W=R+(r>>>3|0)|0)>>>0<o>>>0&&(d=k[0|W],e=r+1|0,c[i+32>>2]=e,d=d>>>(7&r)&1,r=e),W=1|p,p=p+2|0,d=h|d<<W,(0|E)!=(0|(m=m+2|0)););if(m=A+(t<<2)|0,F&&((h=R+(r>>>3|0)|0)>>>0<o>>>0?(h=k[0|h],e=r+1|0,c[i+32>>2]=e,r=h>>>(7&r)&1):r=0,d|=r<<p),c[m>>2]=d,(0|v)==(0|(t=t+1|0)))break}else Sr(A+(t<<2)|0,0,T);t=v}if(!(f>>>0>(D=a+D|0)>>>0))break}n[i+36|0]=0,a=c[i+20>>2],r=0,e=(d=(r=(d=c[i+32>>2]+7|0)>>>0<7?1:r)<<29|d>>>3)+c[i+16>>2]|0,r=(r>>>3|0)+a|0,c[i+16>>2]=e,c[i+20>>2]=e>>>0<d>>>0?r+1|0:r,r=1}return(e=c[u+36>>2])&&(c[u+40>>2]=e,er(e)),(e=c[u+24>>2])&&(c[u+28>>2]=e,er(e)),(e=c[u+8>>2])&&(c[u+12>>2]=e,er(e)),Z=u- -64|0,r;case 1:break e;default:break r}e=0;e:if(!((0|(f=c[i+20>>2]))>=(0|(v=c[i+12>>2]))&(A=c[i+16>>2])>>>0>=s[i+8>>2]|(0|f)>(0|v))){v=k[A+c[i>>2]|0],f=(A=A+1|0)?f:f+1|0,c[i+16>>2]=A,c[i+20>>2]=f;i:switch(v-1|0){case 8:v=r,N=t,Z=f=Z+-64|0,c[f+56>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+32>>2]=0,c[f+36>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0,c[f+8>>2]=0,c[f+12>>2]=0,o=f+8|0;t:{f:if(_[i+38>>1]&&Ze(1,o+12|0,i)&&!((a=(e=c[i+8>>2])-(t=c[i+16>>2])|0)>>>0<(b=c[o+12>>2])>>>6>>>0&(0|(e=c[i+12>>2]-(c[i+20>>2]+(e>>>0<t>>>0)|0)|0))<=0|(0|e)<0)){if(e=c[o>>2],(r=c[o+4>>2]-e>>2)>>>0<b>>>0?(_e(o,b-r|0),b=c[o+12>>2]):r>>>0<=b>>>0||(c[o+4>>2]=e+(b<<2)),A=1,!b)break t;for(a=c[i+16>>2],t=c[i+20>>2],T=c[o>>2],u=c[i+8>>2],m=c[i+12>>2],e=0;;){if(A=0,(0|t)>=(0|m)&a>>>0>=u>>>0|(0|t)>(0|m))break t;A=c[i>>2],h=k[A+a|0],r=t,r=(a=a+1|0)?r:r+1|0,c[i+16>>2]=a,t=r,c[i+20>>2]=r,r=h>>>2|0,l=0;a:{n:{A:{o:switch(0|(V=3&h)){case 0:break n;case 3:break o;default:break A}if(A=0,(r=r+e|0)>>>0>=b>>>0)break t;Sr(T+(e<<2)|0,0,4+(252&h)|0),e=r;break a}for(;;){if((0|a)==(0|u)&(0|t)==(0|m))break f;if(b=k[a+A|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,r|=b<<(l<<3|6),(0|V)==(0|(l=l+1|0)))break}}c[T+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(b=c[o+12>>2])>>>0))break}if(r=o+16|0,m=c[o>>2],t=c[o+16>>2],(e=c[o+20>>2]-t|0)>>>0<=32767?_e(r,8192-(e>>>2|0)|0):32768!=(0|e)&&(c[o+20>>2]=t+32768),e=c[(t=o+28|0)>>2],(a=c[o+32>>2]-e>>3)>>>0<b>>>0)ye(t,b-a|0),e=c[t>>2];else if(a>>>0>b>>>0&&(c[o+32>>2]=(b<<3)+e),!b)break f;for(u=c[r>>2],a=0,t=0;;){if(l=c[(A=m+(a<<2)|0)>>2],r=t,c[(o=(a<<3)+e|0)+4>>2]=r,c[o>>2]=l,(t=(A=c[A>>2])+r|0)>>>0>8192)break f;if(!(r>>>0>=t>>>0)){if(l=0,o=7&A)for(;c[u+(r<<2)>>2]=a,r=r+1|0,(0|o)!=(0|(l=l+1|0)););if(!(A-1>>>0<=6))for(;c[(A=u+(r<<2)|0)>>2]=a,c[A+28>>2]=a,c[A+24>>2]=a,c[A+20>>2]=a,c[A+16>>2]=a,c[A+12>>2]=a,c[A+8>>2]=a,c[A+4>>2]=a,(0|t)!=(0|(r=r+8|0)););}if((0|b)==(0|(a=a+1|0)))break}p=8192==(0|t)}A=p}if(!(!A|(c[f+20>>2]?0:v))){t=0,Z=p=Z-16|0;t:if(Re(1,p+8|0,i)&&(A=(r=c[i+8>>2])-(a=c[i+16>>2])|0,u=c[p+12>>2],b=c[i+20>>2],!((0|u)==(0|(r=c[i+12>>2]-(b+(r>>>0<a>>>0)|0)|0))&A>>>0<(e=c[p+8>>2])>>>0|r>>>0<u>>>0||(r=b+u|0,r=(A=e+a|0)>>>0<a>>>0?r+1|0:r,c[i+16>>2]=A,c[i+20>>2]=r,(0|e)<=0)))){r=a+c[i>>2]|0,c[f+48>>2]=r;f:if((A=k[0|(a=(i=e-1|0)+r|0)])>>>0<=63)c[f+52>>2]=i,r=63&k[0|a];else{a:switch((A>>>6|0)-1|0){case 0:if(e>>>0<2)break t;e=e-2|0,c[f+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(e>>>0<3)break t;e=e-3|0,c[f+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break a}e=e-4|0,c[f+52>>2]=e,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}c[f+56>>2]=r+32768,t=r>>>0<8355840}if(Z=p+16|0,t)if(v)for(e=c[f+52>>2],r=c[f+56>>2],i=c[f+36>>2],t=c[f+48>>2],a=c[f+24>>2];;){t:if(!(r>>>0>32767))for(;;){if((0|e)<=0)break t;if(e=e-1|0,c[f+52>>2]=e,r=k[e+t|0]|r<<8,c[f+56>>2]=r,!(r>>>0<32768))break}if(p=c[a+((d=8191&r)<<2)>>2],r=(y(c[(A=i+(p<<3)|0)>>2],r>>>13|0)+d|0)-c[A+4>>2]|0,c[f+56>>2]=r,c[N+(R<<2)>>2]=p,d=1,(0|v)==(0|(R=R+1|0)))break}else d=1}(r=c[f+36>>2])&&(c[f+40>>2]=r,er(r)),(r=c[f+24>>2])&&(c[f+28>>2]=r,er(r)),(r=c[f+8>>2])&&(c[f+12>>2]=r,er(r)),Z=f- -64|0,e=d;break e;case 9:v=r,N=t,Z=A=Z+-64|0,c[A+56>>2]=0,c[A+48>>2]=0,c[A+52>>2]=0,c[A+40>>2]=0,c[A+44>>2]=0,c[A+32>>2]=0,c[A+36>>2]=0,c[A+24>>2]=0,c[A+28>>2]=0,c[A+16>>2]=0,c[A+20>>2]=0,c[A+8>>2]=0,c[A+12>>2]=0,o=A+8|0;t:{f:if(_[i+38>>1]&&Ze(1,o+12|0,i)&&!((a=(e=c[i+8>>2])-(t=c[i+16>>2])|0)>>>0<(b=c[o+12>>2])>>>6>>>0&(0|(e=c[i+12>>2]-(c[i+20>>2]+(e>>>0<t>>>0)|0)|0))<=0|(0|e)<0)){if(e=c[o>>2],(r=c[o+4>>2]-e>>2)>>>0<b>>>0?(_e(o,b-r|0),b=c[o+12>>2]):r>>>0<=b>>>0||(c[o+4>>2]=e+(b<<2)),f=1,!b)break t;for(a=c[i+16>>2],t=c[i+20>>2],T=c[o>>2],u=c[i+8>>2],m=c[i+12>>2],e=0;;){if(f=0,(0|t)>=(0|m)&a>>>0>=u>>>0|(0|t)>(0|m))break t;V=c[i>>2],h=k[V+a|0],f=t,f=(a=a+1|0)?f:f+1|0,c[i+16>>2]=a,t=f,c[i+20>>2]=f,r=h>>>2|0,l=0;a:{n:{A:{o:switch(0|(f=3&h)){case 0:break n;case 3:break o;default:break A}if(f=0,(r=r+e|0)>>>0>=b>>>0)break t;Sr(T+(e<<2)|0,0,4+(252&h)|0),e=r;break a}for(;;){if((0|a)==(0|u)&(0|t)==(0|m))break f;if(b=k[a+V|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,r|=b<<(l<<3|6),(0|f)==(0|(l=l+1|0)))break}}c[T+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(b=c[o+12>>2])>>>0))break}if(r=o+16|0,m=c[o>>2],t=c[o+16>>2],(e=c[o+20>>2]-t|0)>>>0<=131071?_e(r,32768-(e>>>2|0)|0):131072!=(0|e)&&(c[o+20>>2]=t+131072),e=c[(t=o+28|0)>>2],(a=c[o+32>>2]-e>>3)>>>0<b>>>0)ye(t,b-a|0),e=c[t>>2];else if(a>>>0>b>>>0&&(c[o+32>>2]=(b<<3)+e),!b)break f;for(u=c[r>>2],a=0,t=0;;){if(l=c[(f=m+(a<<2)|0)>>2],r=t,c[(o=(a<<3)+e|0)+4>>2]=r,c[o>>2]=l,(t=(f=c[f>>2])+r|0)>>>0>32768)break f;if(!(r>>>0>=t>>>0)){if(l=0,o=7&f)for(;c[u+(r<<2)>>2]=a,r=r+1|0,(0|o)!=(0|(l=l+1|0)););if(!(f-1>>>0<=6))for(;c[(f=u+(r<<2)|0)>>2]=a,c[f+28>>2]=a,c[f+24>>2]=a,c[f+20>>2]=a,c[f+16>>2]=a,c[f+12>>2]=a,c[f+8>>2]=a,c[f+4>>2]=a,(0|t)!=(0|(r=r+8|0)););}if((0|b)==(0|(a=a+1|0)))break}p=32768==(0|t)}f=p}if(!(!f|(c[A+20>>2]?0:v))){t=0,Z=a=Z-16|0;t:if(Re(1,a+8|0,i)&&(p=(f=c[i+8>>2])-(e=c[i+16>>2])|0,u=c[a+12>>2],b=c[i+20>>2],!((0|u)==(0|(f=c[i+12>>2]-(b+(e>>>0>f>>>0)|0)|0))&p>>>0<(r=c[a+8>>2])>>>0|f>>>0<u>>>0||(f=b+u|0,f=(p=r+e|0)>>>0<e>>>0?f+1|0:f,c[i+16>>2]=p,c[i+20>>2]=f,(0|r)<=0)))){e=e+c[i>>2]|0,c[A+48>>2]=e;f:if((p=k[0|(f=(i=r-1|0)+e|0)])>>>0<=63)c[A+52>>2]=i,r=63&k[0|f];else{a:switch((p>>>6|0)-1|0){case 0:if(r>>>0<2)break t;r=r-2|0,c[A+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(r>>>0<3)break t;r=r-3|0,c[A+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break a}r=r-4|0,c[A+52>>2]=r,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}c[A+56>>2]=r+131072,t=r>>>0<33423360}if(Z=a+16|0,t)if(v)for(e=c[A+52>>2],r=c[A+56>>2],i=c[A+36>>2],t=c[A+48>>2],a=c[A+24>>2];;){t:if(!(r>>>0>131071))for(;;){if((0|e)<=0)break t;if(e=e-1|0,c[A+52>>2]=e,r=k[e+t|0]|r<<8,c[A+56>>2]=r,!(r>>>0<131072))break}if(f=c[a+((d=32767&r)<<2)>>2],r=(y(c[(p=i+(f<<3)|0)>>2],r>>>15|0)+d|0)-c[p+4>>2]|0,c[A+56>>2]=r,c[N+(R<<2)>>2]=f,d=1,(0|v)==(0|(R=R+1|0)))break}else d=1}(r=c[A+36>>2])&&(c[A+40>>2]=r,er(r)),(r=c[A+24>>2])&&(c[A+28>>2]=r,er(r)),(r=c[A+8>>2])&&(c[A+12>>2]=r,er(r)),Z=A- -64|0,e=d;break e;case 10:v=r,N=t,Z=A=Z+-64|0,c[A+56>>2]=0,c[A+48>>2]=0,c[A+52>>2]=0,c[A+40>>2]=0,c[A+44>>2]=0,c[A+32>>2]=0,c[A+36>>2]=0,c[A+24>>2]=0,c[A+28>>2]=0,c[A+16>>2]=0,c[A+20>>2]=0,c[A+8>>2]=0,c[A+12>>2]=0,o=A+8|0;t:{f:if(_[i+38>>1]&&Ze(1,o+12|0,i)&&!((a=(e=c[i+8>>2])-(t=c[i+16>>2])|0)>>>0<(b=c[o+12>>2])>>>6>>>0&(0|(e=c[i+12>>2]-(c[i+20>>2]+(e>>>0<t>>>0)|0)|0))<=0|(0|e)<0)){if(e=c[o>>2],(r=c[o+4>>2]-e>>2)>>>0<b>>>0?(_e(o,b-r|0),b=c[o+12>>2]):r>>>0<=b>>>0||(c[o+4>>2]=e+(b<<2)),f=1,!b)break t;for(a=c[i+16>>2],t=c[i+20>>2],T=c[o>>2],u=c[i+8>>2],m=c[i+12>>2],e=0;;){if(f=0,(0|t)>=(0|m)&a>>>0>=u>>>0|(0|t)>(0|m))break t;V=c[i>>2],h=k[V+a|0],r=t,r=(a=a+1|0)?r:r+1|0,c[i+16>>2]=a,t=r,c[i+20>>2]=r,r=h>>>2|0,l=0;a:{n:{A:{o:switch(0|(U=3&h)){case 0:break n;case 3:break o;default:break A}if(f=0,(r=r+e|0)>>>0>=b>>>0)break t;Sr(T+(e<<2)|0,0,4+(252&h)|0),e=r;break a}for(;;){if((0|a)==(0|u)&(0|t)==(0|m))break f;if(b=k[a+V|0],f=t,f=(a=a+1|0)?f:f+1|0,c[i+16>>2]=a,t=f,c[i+20>>2]=f,r|=b<<(l<<3|6),(0|U)==(0|(l=l+1|0)))break}}c[T+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(b=c[o+12>>2])>>>0))break}if(r=o+16|0,m=c[o>>2],t=c[o+16>>2],(e=c[o+20>>2]-t|0)>>>0<=262143?_e(r,65536-(e>>>2|0)|0):262144!=(0|e)&&(c[o+20>>2]=t+262144),e=c[(t=o+28|0)>>2],(a=c[o+32>>2]-e>>3)>>>0<b>>>0)ye(t,b-a|0),e=c[t>>2];else if(a>>>0>b>>>0&&(c[o+32>>2]=(b<<3)+e),!b)break f;for(u=c[r>>2],a=0,t=0;;){if(l=c[(f=m+(a<<2)|0)>>2],r=t,c[(o=(a<<3)+e|0)+4>>2]=r,c[o>>2]=l,(t=(f=c[f>>2])+r|0)>>>0>65536)break f;if(!(r>>>0>=t>>>0)){if(l=0,o=7&f)for(;c[u+(r<<2)>>2]=a,r=r+1|0,(0|o)!=(0|(l=l+1|0)););if(!(f-1>>>0<=6))for(;c[(f=u+(r<<2)|0)>>2]=a,c[f+28>>2]=a,c[f+24>>2]=a,c[f+20>>2]=a,c[f+16>>2]=a,c[f+12>>2]=a,c[f+8>>2]=a,c[f+4>>2]=a,(0|t)!=(0|(r=r+8|0)););}if((0|b)==(0|(a=a+1|0)))break}p=65536==(0|t)}f=p}if(!(!f|(c[A+20>>2]?0:v))){t=0,Z=f=Z-16|0;t:if(Re(1,f+8|0,i)&&(p=(r=c[i+8>>2])-(a=c[i+16>>2])|0,u=c[f+12>>2],b=c[i+20>>2],!((0|u)==(0|(r=c[i+12>>2]-(b+(r>>>0<a>>>0)|0)|0))&p>>>0<(e=c[f+8>>2])>>>0|r>>>0<u>>>0||(r=b+u|0,r=(p=e+a|0)>>>0<a>>>0?r+1|0:r,c[i+16>>2]=p,c[i+20>>2]=r,(0|e)<=0)))){r=a+c[i>>2]|0,c[A+48>>2]=r;f:if((p=k[0|(a=(i=e-1|0)+r|0)])>>>0<=63)c[A+52>>2]=i,r=63&k[0|a];else{a:switch((p>>>6|0)-1|0){case 0:if(e>>>0<2)break t;e=e-2|0,c[A+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(e>>>0<3)break t;e=e-3|0,c[A+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break a}e=e-4|0,c[A+52>>2]=e,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}c[A+56>>2]=r+262144,t=r>>>0<66846720}if(Z=f+16|0,t)if(v)for(e=c[A+52>>2],r=c[A+56>>2],i=c[A+36>>2],t=c[A+48>>2],a=c[A+24>>2];;){t:if(!(r>>>0>262143))for(;;){if((0|e)<=0)break t;if(e=e-1|0,c[A+52>>2]=e,r=k[e+t|0]|r<<8,c[A+56>>2]=r,!(r>>>0<262144))break}if(f=c[a+((d=65535&r)<<2)>>2],r=(y(c[(p=i+(f<<3)|0)>>2],r>>>16|0)+d|0)-c[p+4>>2]|0,c[A+56>>2]=r,c[N+(R<<2)>>2]=f,d=1,(0|v)==(0|(R=R+1|0)))break}else d=1}(r=c[A+36>>2])&&(c[A+40>>2]=r,er(r)),(r=c[A+24>>2])&&(c[A+28>>2]=r,er(r)),(r=c[A+8>>2])&&(c[A+12>>2]=r,er(r)),Z=A- -64|0,e=d;break e;case 11:v=r,N=t,Z=A=Z+-64|0,c[A+56>>2]=0,c[A+48>>2]=0,c[A+52>>2]=0,c[A+40>>2]=0,c[A+44>>2]=0,c[A+32>>2]=0,c[A+36>>2]=0,c[A+24>>2]=0,c[A+28>>2]=0,c[A+16>>2]=0,c[A+20>>2]=0,c[A+8>>2]=0,c[A+12>>2]=0,o=A+8|0;t:{f:if(_[i+38>>1]&&Ze(1,o+12|0,i)&&!((a=(e=c[i+8>>2])-(t=c[i+16>>2])|0)>>>0<(b=c[o+12>>2])>>>6>>>0&(0|(e=c[i+12>>2]-(c[i+20>>2]+(e>>>0<t>>>0)|0)|0))<=0|(0|e)<0)){if(e=c[o>>2],(r=c[o+4>>2]-e>>2)>>>0<b>>>0?(_e(o,b-r|0),b=c[o+12>>2]):r>>>0<=b>>>0||(c[o+4>>2]=e+(b<<2)),f=1,!b)break t;for(a=c[i+16>>2],t=c[i+20>>2],T=c[o>>2],u=c[i+8>>2],m=c[i+12>>2],e=0;;){if(f=0,(0|t)>=(0|m)&a>>>0>=u>>>0|(0|t)>(0|m))break t;V=c[i>>2],h=k[V+a|0],f=t,f=(a=a+1|0)?f:f+1|0,c[i+16>>2]=a,t=f,c[i+20>>2]=f,r=h>>>2|0,l=0;a:{n:{A:{o:switch(0|(f=3&h)){case 0:break n;case 3:break o;default:break A}if(f=0,(r=r+e|0)>>>0>=b>>>0)break t;Sr(T+(e<<2)|0,0,4+(252&h)|0),e=r;break a}for(;;){if((0|a)==(0|u)&(0|t)==(0|m))break f;if(b=k[a+V|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,r|=b<<(l<<3|6),(0|f)==(0|(l=l+1|0)))break}}c[T+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(b=c[o+12>>2])>>>0))break}if(r=o+16|0,m=c[o>>2],t=c[o+16>>2],(e=c[o+20>>2]-t|0)>>>0<=1048575?_e(r,262144-(e>>>2|0)|0):1048576!=(0|e)&&(c[o+20>>2]=t- -1048576),e=c[(t=o+28|0)>>2],(a=c[o+32>>2]-e>>3)>>>0<b>>>0)ye(t,b-a|0),e=c[t>>2];else if(a>>>0>b>>>0&&(c[o+32>>2]=(b<<3)+e),!b)break f;for(u=c[r>>2],a=0,t=0;;){if(l=c[(f=m+(a<<2)|0)>>2],r=t,c[(o=(a<<3)+e|0)+4>>2]=r,c[o>>2]=l,(t=(f=c[f>>2])+r|0)>>>0>262144)break f;if(!(r>>>0>=t>>>0)){if(l=0,o=7&f)for(;c[u+(r<<2)>>2]=a,r=r+1|0,(0|o)!=(0|(l=l+1|0)););if(!(f-1>>>0<=6))for(;c[(f=u+(r<<2)|0)>>2]=a,c[f+28>>2]=a,c[f+24>>2]=a,c[f+20>>2]=a,c[f+16>>2]=a,c[f+12>>2]=a,c[f+8>>2]=a,c[f+4>>2]=a,(0|t)!=(0|(r=r+8|0)););}if((0|b)==(0|(a=a+1|0)))break}p=262144==(0|t)}f=p}if(!(!f|(c[A+20>>2]?0:v))){t=0,Z=a=Z-16|0;t:if(Re(1,a+8|0,i)&&(p=(f=c[i+8>>2])-(e=c[i+16>>2])|0,u=c[a+12>>2],b=c[i+20>>2],!((0|u)==(0|(f=c[i+12>>2]-(b+(e>>>0>f>>>0)|0)|0))&p>>>0<(r=c[a+8>>2])>>>0|f>>>0<u>>>0||(f=b+u|0,f=(p=r+e|0)>>>0<e>>>0?f+1|0:f,c[i+16>>2]=p,c[i+20>>2]=f,(0|r)<=0)))){e=e+c[i>>2]|0,c[A+48>>2]=e;f:if((p=k[0|(f=(i=r-1|0)+e|0)])>>>0<=63)c[A+52>>2]=i,r=63&k[0|f];else{a:switch((p>>>6|0)-1|0){case 0:if(r>>>0<2)break t;r=r-2|0,c[A+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(r>>>0<3)break t;r=r-3|0,c[A+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break a}r=r-4|0,c[A+52>>2]=r,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}c[A+56>>2]=r- -1048576,t=r>>>0<267386880}if(Z=a+16|0,t)if(v)for(e=c[A+52>>2],r=c[A+56>>2],i=c[A+36>>2],t=c[A+48>>2],a=c[A+24>>2];;){t:if(!(r>>>0>1048575))for(;;){if((0|e)<=0)break t;if(e=e-1|0,c[A+52>>2]=e,r=k[e+t|0]|r<<8,c[A+56>>2]=r,!(r>>>0<1048576))break}if(f=c[a+((d=262143&r)<<2)>>2],r=(y(c[(p=i+(f<<3)|0)>>2],r>>>18|0)+d|0)-c[p+4>>2]|0,c[A+56>>2]=r,c[N+(R<<2)>>2]=f,d=1,(0|v)==(0|(R=R+1|0)))break}else d=1}(r=c[A+36>>2])&&(c[A+40>>2]=r,er(r)),(r=c[A+24>>2])&&(c[A+28>>2]=r,er(r)),(r=c[A+8>>2])&&(c[A+12>>2]=r,er(r)),Z=A- -64|0,e=d;break e;case 12:v=r,N=t,Z=f=Z+-64|0,c[f+56>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+32>>2]=0,c[f+36>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0,c[f+8>>2]=0,c[f+12>>2]=0,o=f+8|0;t:{f:if(_[i+38>>1]&&Ze(1,o+12|0,i)&&!((a=(e=c[i+8>>2])-(t=c[i+16>>2])|0)>>>0<(b=c[o+12>>2])>>>6>>>0&(0|(e=c[i+12>>2]-(c[i+20>>2]+(e>>>0<t>>>0)|0)|0))<=0|(0|e)<0)){if(e=c[o>>2],(r=c[o+4>>2]-e>>2)>>>0<b>>>0?(_e(o,b-r|0),b=c[o+12>>2]):r>>>0<=b>>>0||(c[o+4>>2]=e+(b<<2)),A=1,!b)break t;for(a=c[i+16>>2],t=c[i+20>>2],T=c[o>>2],u=c[i+8>>2],m=c[i+12>>2],e=0;;){if(A=0,(0|t)>=(0|m)&a>>>0>=u>>>0|(0|t)>(0|m))break t;A=c[i>>2],h=k[A+a|0],r=t,r=(a=a+1|0)?r:r+1|0,c[i+16>>2]=a,t=r,c[i+20>>2]=r,r=h>>>2|0,l=0;a:{n:{A:{o:switch(0|(V=3&h)){case 0:break n;case 3:break o;default:break A}if(A=0,(r=r+e|0)>>>0>=b>>>0)break t;Sr(T+(e<<2)|0,0,4+(252&h)|0),e=r;break a}for(;;){if((0|a)==(0|u)&(0|t)==(0|m))break f;if(b=k[a+A|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,r|=b<<(l<<3|6),(0|V)==(0|(l=l+1|0)))break}}c[T+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(b=c[o+12>>2])>>>0))break}if(r=o+16|0,m=c[o>>2],t=c[o+16>>2],(e=c[o+20>>2]-t|0)>>>0<=2097151?_e(r,524288-(e>>>2|0)|0):2097152!=(0|e)&&(c[o+20>>2]=t+2097152),e=c[(t=o+28|0)>>2],(a=c[o+32>>2]-e>>3)>>>0<b>>>0)ye(t,b-a|0),e=c[t>>2];else if(a>>>0>b>>>0&&(c[o+32>>2]=(b<<3)+e),!b)break f;for(u=c[r>>2],a=0,t=0;;){if(l=c[(A=m+(a<<2)|0)>>2],r=t,c[(o=(a<<3)+e|0)+4>>2]=r,c[o>>2]=l,(t=(A=c[A>>2])+r|0)>>>0>524288)break f;if(!(r>>>0>=t>>>0)){if(l=0,o=7&A)for(;c[u+(r<<2)>>2]=a,r=r+1|0,(0|o)!=(0|(l=l+1|0)););if(!(A-1>>>0<=6))for(;c[(A=u+(r<<2)|0)>>2]=a,c[A+28>>2]=a,c[A+24>>2]=a,c[A+20>>2]=a,c[A+16>>2]=a,c[A+12>>2]=a,c[A+8>>2]=a,c[A+4>>2]=a,(0|t)!=(0|(r=r+8|0)););}if((0|b)==(0|(a=a+1|0)))break}p=524288==(0|t)}A=p}if(!(!A|(c[f+20>>2]?0:v))){t=0,Z=p=Z-16|0;t:if(Re(1,p+8|0,i)&&(A=(r=c[i+8>>2])-(a=c[i+16>>2])|0,u=c[p+12>>2],b=c[i+20>>2],!((0|u)==(0|(r=c[i+12>>2]-(b+(r>>>0<a>>>0)|0)|0))&A>>>0<(e=c[p+8>>2])>>>0|r>>>0<u>>>0||(r=b+u|0,r=(A=e+a|0)>>>0<a>>>0?r+1|0:r,c[i+16>>2]=A,c[i+20>>2]=r,(0|e)<=0)))){r=a+c[i>>2]|0,c[f+48>>2]=r;f:if((A=k[0|(a=(i=e-1|0)+r|0)])>>>0<=63)c[f+52>>2]=i,r=63&k[0|a];else{a:switch((A>>>6|0)-1|0){case 0:if(e>>>0<2)break t;e=e-2|0,c[f+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(e>>>0<3)break t;e=e-3|0,c[f+52>>2]=e,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break a}e=e-4|0,c[f+52>>2]=e,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}c[f+56>>2]=r+2097152,t=r>>>0<534773760}if(Z=p+16|0,t)if(v)for(e=c[f+52>>2],r=c[f+56>>2],i=c[f+36>>2],t=c[f+48>>2],a=c[f+24>>2];;){t:if(!(r>>>0>2097151))for(;;){if((0|e)<=0)break t;if(e=e-1|0,c[f+52>>2]=e,r=k[e+t|0]|r<<8,c[f+56>>2]=r,!(r>>>0<2097152))break}if(p=c[a+((d=524287&r)<<2)>>2],r=(y(c[(A=i+(p<<3)|0)>>2],r>>>19|0)+d|0)-c[A+4>>2]|0,c[f+56>>2]=r,c[N+(R<<2)>>2]=p,d=1,(0|v)==(0|(R=R+1|0)))break}else d=1}(r=c[f+36>>2])&&(c[f+40>>2]=r,er(r)),(r=c[f+24>>2])&&(c[f+28>>2]=r,er(r)),(r=c[f+8>>2])&&(c[f+12>>2]=r,er(r)),Z=f- -64|0,e=d;break e;case 17:e=L(r,i,t);break e;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:if(Z=e=Z+-64|0,c[e+56>>2]=0,c[e+48>>2]=0,c[e+52>>2]=0,c[e+40>>2]=0,c[e+44>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,c[e+24>>2]=0,c[e+28>>2]=0,c[e+16>>2]=0,c[e+20>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,!(!or(e+8|0,i)|(c[e+20>>2]?0:r))&&jr(e+8|0,i))if(r)for(d=c[e+52>>2],i=c[e+56>>2],f=c[e+36>>2],A=c[e+48>>2],v=c[e+24>>2];;){t:if(!(i>>>0>16383))for(;;){if((0|d)<=0)break t;if(d=d-1|0,c[e+52>>2]=d,i=k[A+d|0]|i<<8,c[e+56>>2]=i,!(i>>>0<16384))break}if(u=c[v+((a=4095&i)<<2)>>2],i=(y(c[(N=f+(u<<3)|0)>>2],i>>>12|0)+a|0)-c[N+4>>2]|0,c[e+56>>2]=i,c[(p<<2)+t>>2]=u,a=1,(0|(p=p+1|0))==(0|r))break}else a=1;(r=c[e+36>>2])&&(c[e+40>>2]=r,er(r)),(r=c[e+24>>2])&&(c[e+28>>2]=r,er(r)),(r=c[e+8>>2])&&(c[e+12>>2]=r,er(r)),Z=e- -64|0,e=a;break e;case 13:case 14:case 15:case 16:break i;default:break e}e=L(r,i,t)}a=e}return a}function I(r,e,i,t){var f,a=0,b=0,u=0,_=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0;if(Z=f=Z-80|0,a=c[i+36>>2],c[f+72>>2]=c[i+32>>2],c[f+76>>2]=a,b=c[i+28>>2],c[(a=f- -64|0)>>2]=c[i+24>>2],c[a+4>>2]=b,a=c[i+20>>2],c[f+56>>2]=c[i+16>>2],c[f+60>>2]=a,a=c[i+12>>2],c[f+48>>2]=c[i+8>>2],c[f+52>>2]=a,a=c[i+4>>2],c[f+40>>2]=c[i>>2],c[f+44>>2]=a,P(r,f+40|0,f+24|0),!c[r>>2])if(n[r+15|0]<0&&er(c[r+4>>2]),1==k[f+31|0]){Z=p=Z-16|0;r:{e:switch(k[f+32|0]){case 0:a=fi(vi(48)),c[a>>2]=9864,c[f+8>>2]=0,c[f+12>>2]=0,c[f>>2]=0,c[f+4>>2]=0,c[f+16>>2]=a;break r;case 1:a=fi(vi(52)),c[a+48>>2]=0,c[a>>2]=8176,c[f+8>>2]=0,c[f+12>>2]=0,c[f>>2]=0,c[f+4>>2]=0,c[f+16>>2]=a;break r;default:break e}b=vi(32),n[b+28|0]=0,a=k[1520]|k[1521]<<8|k[1522]<<16|k[1523]<<24,n[b+24|0]=a,n[b+25|0]=a>>>8,n[b+26|0]=a>>>16,n[b+27|0]=a>>>24,a=k[1516]|k[1517]<<8|k[1518]<<16|k[1519]<<24,u=k[1512]|k[1513]<<8|k[1514]<<16|k[1515]<<24,n[b+16|0]=u,n[b+17|0]=u>>>8,n[b+18|0]=u>>>16,n[b+19|0]=u>>>24,n[b+20|0]=a,n[b+21|0]=a>>>8,n[b+22|0]=a>>>16,n[b+23|0]=a>>>24,a=k[1508]|k[1509]<<8|k[1510]<<16|k[1511]<<24,u=k[1504]|k[1505]<<8|k[1506]<<16|k[1507]<<24,n[b+8|0]=u,n[b+9|0]=u>>>8,n[b+10|0]=u>>>16,n[b+11|0]=u>>>24,n[b+12|0]=a,n[b+13|0]=a>>>8,n[b+14|0]=a>>>16,n[b+15|0]=a>>>24,a=k[1500]|k[1501]<<8|k[1502]<<16|k[1503]<<24,u=k[1496]|k[1497]<<8|k[1498]<<16|k[1499]<<24,n[0|b]=u,n[b+1|0]=u>>>8,n[b+2|0]=u>>>16,n[b+3|0]=u>>>24,n[b+4|0]=a,n[b+5|0]=a>>>8,n[b+6|0]=a>>>16,n[b+7|0]=a>>>24,c[p>>2]=-1,me(a=4|p,b,28),l=n[p+15|0],c[f>>2]=c[p>>2],u=f+4|0,(0|l)>=0?(l=c[a+4>>2],c[u>>2]=c[a>>2],c[u+4>>2]=l,c[u+8>>2]=c[a+8>>2],c[f+16>>2]=0):(me(u,c[p+4>>2],c[p+8>>2]),a=n[p+15|0],c[f+16>>2]=0,(0|a)>=0||er(c[p+4>>2])),er(b)}Z=p+16|0;r:if(a=c[f>>2]){if(c[r>>2]=a,r=r+4|0,n[f+15|0]>=0){i=c[(e=4|f)+4>>2],c[r>>2]=c[e>>2],c[r+4>>2]=i,c[r+8>>2]=c[e+8>>2];break r}me(r,c[f+4>>2],c[f+8>>2])}else{a=c[f+16>>2],c[f+16>>2]=0,c[a+44>>2]=t,Z=b=Z-32|0,c[a+32>>2]=i,c[a+40>>2]=e,c[a+4>>2]=t,P(r,i,b+16|0);e:if(!c[r>>2])if(n[r+15|0]<0&&er(c[r+4>>2]),e=k[b+23|0],(0|Zt[c[c[a>>2]+8>>2]](a))==(0|e))if(i=k[b+21|0],n[a+36|0]=i,t=k[b+22|0],n[a+37|0]=t,2==(0|i))if((0|(e=e?2:3))==(0|t)){if(A[c[a+32>>2]+38>>1]=512|e,!(A[b+26>>1]>=0)){Z=p=Z-16|0,t=vi(36),c[(e=t)+4>>2]=0,c[e+8>>2]=0,c[e+24>>2]=0,c[e+28>>2]=0,c[(e=e+16|0)>>2]=0,c[e+4>>2]=0,c[t>>2]=t+4,c[t+32>>2]=0,c[t+12>>2]=e,c[p>>2]=0,i=c[a+32>>2],Z=l=Z-16|0,e=0;i:if(t&&(c[p>>2]=i,c[l+12>>2]=0,e=0,De(1,l+12|0,i))){if(m=c[l+12>>2])for(;;){t:{if(De(1,l+8|0,c[p>>2])){if(e=vi(28),c[e+4>>2]=0,c[e+8>>2]=0,c[(i=e+16|0)>>2]=0,c[i+4>>2]=0,c[e>>2]=e+4,c[e+12>>2]=i,c[e+24>>2]=c[l+8>>2],w(p,e))break t;Ai(e+12|0,c[e+16>>2]),mi(e,c[e+4>>2]),er(e)}e=0;break i}if(Z=u=Z-16|0,c[u+8>>2]=e,e){if((i=c[t+28>>2])>>>0<s[t+32>>2])c[u+8>>2]=0,c[i>>2]=e,c[t+28>>2]=i+4;else{i=0;t:{f:{a:{if(_=c[t+24>>2],(e=(d=c[t+28>>2]-_>>2)+1|0)>>>0<1073741824){if(y=(_=c[t+32>>2]-_|0)>>>1|0,_=_>>>0>=2147483644?1073741823:e>>>0<y>>>0?y:e){if(_>>>0>=1073741824)break a;i=vi(_<<2)}if(y=c[u+8>>2],c[u+8>>2]=0,c[(e=(d<<2)+i|0)>>2]=y,_=(_<<2)+i|0,d=e+4|0,(0|(i=c[t+28>>2]))==(0|(y=c[t+24>>2])))break f;for(;h=c[(i=i-4|0)>>2],c[i>>2]=0,c[(e=e-4|0)>>2]=h,(0|i)!=(0|y););if(c[t+32>>2]=_,_=c[t+28>>2],c[t+28>>2]=d,i=c[t+24>>2],c[t+24>>2]=e,(0|i)==(0|_))break t;for(;e=c[(_=_-4|0)>>2],c[_>>2]=0,e&&(Ai(e+12|0,c[e+16>>2]),mi(e,c[e+4>>2]),er(e)),(0|i)!=(0|_););break t}mt(),o()}Zi(),o()}c[t+32>>2]=_,c[t+28>>2]=d,c[t+24>>2]=e}i&&er(i)}e=c[u+8>>2],c[u+8>>2]=0,e&&(Ai(e+12|0,c[e+16>>2]),mi(e,c[e+4>>2]),er(e))}if(Z=u+16|0,(0|m)==(0|(v=v+1|0)))break}e=w(p,t)}if(Z=l+16|0,e?(i=c[a+4>>2],e=c[i+4>>2],c[i+4>>2]=t,e&&je(e),c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0):(e=vi(32),n[e+26|0]=0,i=k[1549]|k[1550]<<8,n[e+24|0]=i,n[e+25|0]=i>>>8,i=k[1545]|k[1546]<<8|k[1547]<<16|k[1548]<<24,u=k[1541]|k[1542]<<8|k[1543]<<16|k[1544]<<24,n[e+16|0]=u,n[e+17|0]=u>>>8,n[e+18|0]=u>>>16,n[e+19|0]=u>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1537]|k[1538]<<8|k[1539]<<16|k[1540]<<24,u=k[1533]|k[1534]<<8|k[1535]<<16|k[1536]<<24,n[e+8|0]=u,n[e+9|0]=u>>>8,n[e+10|0]=u>>>16,n[e+11|0]=u>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1529]|k[1530]<<8|k[1531]<<16|k[1532]<<24,u=k[1525]|k[1526]<<8|k[1527]<<16|k[1528]<<24,n[0|e]=u,n[e+1|0]=u>>>8,n[e+2|0]=u>>>16,n[e+3|0]=u>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,e,26),er(e),c[p+8>>2]=0,je(t)),Z=p+16|0,c[r>>2])break e;n[r+15|0]>=0||er(c[r+4>>2])}if(0|Zt[c[c[a>>2]+12>>2]](a))if(0|Zt[c[c[a>>2]+20>>2]](a))if(0|Zt[c[c[a>>2]+24>>2]](a))c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0;else{if(e=Pe(b,1307),c[r>>2]=-1,i=r+4|0,n[e+11|0]>=0){t=c[e+4>>2],c[i>>2]=c[e>>2],c[i+4>>2]=t,c[i+8>>2]=c[e+8>>2];break e}if(me(i,c[e>>2],c[e+4>>2]),n[e+11|0]>=0)break e;er(c[e>>2])}else{if(e=Pe(b,1552),c[r>>2]=-1,i=r+4|0,n[e+11|0]>=0){t=c[e+4>>2],c[i>>2]=c[e>>2],c[i+4>>2]=t,c[i+8>>2]=c[e+8>>2];break e}if(me(i,c[e>>2],c[e+4>>2]),n[e+11|0]>=0)break e;er(c[e>>2])}else e=vi(48),n[e+33|0]=0,n[e+32|0]=k[1374],i=k[1370]|k[1371]<<8|k[1372]<<16|k[1373]<<24,t=k[1366]|k[1367]<<8|k[1368]<<16|k[1369]<<24,n[e+24|0]=t,n[e+25|0]=t>>>8,n[e+26|0]=t>>>16,n[e+27|0]=t>>>24,n[e+28|0]=i,n[e+29|0]=i>>>8,n[e+30|0]=i>>>16,n[e+31|0]=i>>>24,i=k[1362]|k[1363]<<8|k[1364]<<16|k[1365]<<24,t=k[1358]|k[1359]<<8|k[1360]<<16|k[1361]<<24,n[e+16|0]=t,n[e+17|0]=t>>>8,n[e+18|0]=t>>>16,n[e+19|0]=t>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1354]|k[1355]<<8|k[1356]<<16|k[1357]<<24,t=k[1350]|k[1351]<<8|k[1352]<<16|k[1353]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1346]|k[1347]<<8|k[1348]<<16|k[1349]<<24,t=k[1342]|k[1343]<<8|k[1344]<<16|k[1345]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,e,33),er(e)}else e=vi(32),n[e+26|0]=0,i=k[1400]|k[1401]<<8,n[e+24|0]=i,n[e+25|0]=i>>>8,i=k[1396]|k[1397]<<8|k[1398]<<16|k[1399]<<24,t=k[1392]|k[1393]<<8|k[1394]<<16|k[1395]<<24,n[e+16|0]=t,n[e+17|0]=t>>>8,n[e+18|0]=t>>>16,n[e+19|0]=t>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1388]|k[1389]<<8|k[1390]<<16|k[1391]<<24,t=k[1384]|k[1385]<<8|k[1386]<<16|k[1387]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1380]|k[1381]<<8|k[1382]<<16|k[1383]<<24,t=k[1376]|k[1377]<<8|k[1378]<<16|k[1379]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-5,me(r+4|0,e,26),er(e);else e=vi(32),n[e+26|0]=0,i=k[1427]|k[1428]<<8,n[e+24|0]=i,n[e+25|0]=i>>>8,i=k[1423]|k[1424]<<8|k[1425]<<16|k[1426]<<24,t=k[1419]|k[1420]<<8|k[1421]<<16|k[1422]<<24,n[e+16|0]=t,n[e+17|0]=t>>>8,n[e+18|0]=t>>>16,n[e+19|0]=t>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1415]|k[1416]<<8|k[1417]<<16|k[1418]<<24,t=k[1411]|k[1412]<<8|k[1413]<<16|k[1414]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1407]|k[1408]<<8|k[1409]<<16|k[1410]<<24,t=k[1403]|k[1404]<<8|k[1405]<<16|k[1406]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-5,me(r+4|0,e,26),er(e);else e=vi(64),n[e+50|0]=0,i=k[1304]|k[1305]<<8,n[e+48|0]=i,n[e+49|0]=i>>>8,i=k[1300]|k[1301]<<8|k[1302]<<16|k[1303]<<24,t=k[1296]|k[1297]<<8|k[1298]<<16|k[1299]<<24,n[e+40|0]=t,n[e+41|0]=t>>>8,n[e+42|0]=t>>>16,n[e+43|0]=t>>>24,n[e+44|0]=i,n[e+45|0]=i>>>8,n[e+46|0]=i>>>16,n[e+47|0]=i>>>24,i=k[1292]|k[1293]<<8|k[1294]<<16|k[1295]<<24,t=k[1288]|k[1289]<<8|k[1290]<<16|k[1291]<<24,n[e+32|0]=t,n[e+33|0]=t>>>8,n[e+34|0]=t>>>16,n[e+35|0]=t>>>24,n[e+36|0]=i,n[e+37|0]=i>>>8,n[e+38|0]=i>>>16,n[e+39|0]=i>>>24,i=k[1284]|k[1285]<<8|k[1286]<<16|k[1287]<<24,t=k[1280]|k[1281]<<8|k[1282]<<16|k[1283]<<24,n[e+24|0]=t,n[e+25|0]=t>>>8,n[e+26|0]=t>>>16,n[e+27|0]=t>>>24,n[e+28|0]=i,n[e+29|0]=i>>>8,n[e+30|0]=i>>>16,n[e+31|0]=i>>>24,i=k[1276]|k[1277]<<8|k[1278]<<16|k[1279]<<24,t=k[1272]|k[1273]<<8|k[1274]<<16|k[1275]<<24,n[e+16|0]=t,n[e+17|0]=t>>>8,n[e+18|0]=t>>>16,n[e+19|0]=t>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1268]|k[1269]<<8|k[1270]<<16|k[1271]<<24,t=k[1264]|k[1265]<<8|k[1266]<<16|k[1267]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1260]|k[1261]<<8|k[1262]<<16|k[1263]<<24,t=k[1256]|k[1257]<<8|k[1258]<<16|k[1259]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,e,50),er(e);Z=b+32|0,c[r>>2]||(n[r+15|0]<0&&er(c[r+4>>2]),c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0),Zt[c[c[a>>2]+4>>2]](a)}r=c[f+16>>2],c[f+16>>2]=0,r&&Zt[c[c[r>>2]+4>>2]](r),n[f+15|0]>=0||er(c[f+4>>2])}else e=vi(32),n[e+20|0]=0,i=k[1446]|k[1447]<<8|k[1448]<<16|k[1449]<<24,n[e+16|0]=i,n[e+17|0]=i>>>8,n[e+18|0]=i>>>16,n[e+19|0]=i>>>24,i=k[1442]|k[1443]<<8|k[1444]<<16|k[1445]<<24,t=k[1438]|k[1439]<<8|k[1440]<<16|k[1441]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1434]|k[1435]<<8|k[1436]<<16|k[1437]<<24,t=k[1430]|k[1431]<<8|k[1432]<<16|k[1433]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,e,20),er(e);Z=f+80|0}function Y(r){var e,i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0,_=0,p=0,l=0;Z=e=Z-16|0;r:{e:{i:{t:{f:{a:{n:{A:{o:{if((r|=0)>>>0<=244){if(3&(i=(A=c[2941])>>>(t=(o=r>>>0<11?16:r+11&-8)>>>3|0)|0)){i=(r=(t=t+(1&~i)|0)<<3)+11804|0,f=c[r+11812>>2],(0|i)!=(0|(r=c[f+8>>2]))?(c[r+12>>2]=i,c[i+8>>2]=r):(p=11764,l=Yi(t)&A,c[p>>2]=l),r=f+8|0,i=t<<3,c[f+4>>2]=3|i,c[(i=i+f|0)+4>>2]=1|c[i+4>>2];break r}if((_=c[2943])>>>0>=o>>>0)break o;if(i){i=(r=(f=Xi(0-(r=(0-(r=2<<t)|r)&i<<t)&r))<<3)+11804|0,a=c[r+11812>>2],(0|i)!=(0|(r=c[a+8>>2]))?(c[r+12>>2]=i,c[i+8>>2]=r):(A=Yi(f)&A,c[2941]=A),c[a+4>>2]=3|o,f=(r=f<<3)-o|0,c[(t=a+o|0)+4>>2]=1|f,c[r+a>>2]=f,_&&(i=11804+(-8&_)|0,n=c[2946],(r=1<<(_>>>3))&A?r=c[i+8>>2]:(c[2941]=r|A,r=i),c[i+8>>2]=n,c[r+12>>2]=n,c[n+12>>2]=i,c[n+8>>2]=r),r=a+8|0,c[2946]=t,c[2943]=f;break r}if(!(u=c[2942]))break o;for(t=c[12068+(Xi(0-u&u)<<2)>>2],n=(-8&c[t+4>>2])-o|0,i=t;(r=c[i+16>>2])||(r=c[i+20>>2]);)n=(f=(i=(-8&c[r+4>>2])-o|0)>>>0<n>>>0)?i:n,t=f?r:t,i=r;if(b=c[t+24>>2],(0|(f=c[t+12>>2]))!=(0|t)){r=c[t+8>>2],c[r+12>>2]=f,c[f+8>>2]=r;break e}if(!(r=c[(i=t+20|0)>>2])){if(!(r=c[t+16>>2]))break A;i=t+16|0}for(;a=i,f=r,(r=c[(i=r+20|0)>>2])||(i=f+16|0,r=c[f+16>>2]););c[a>>2]=0;break e}if(o=-1,!(r>>>0>4294967231)&&(o=-8&(r=r+11|0),u=c[2942])){n=0-o|0,A=0,o>>>0<256||(A=31,o>>>0>16777215||(A=62+((o>>>38-(r=v(r>>>8|0))&1)-(r<<1)|0)|0));b:{u:{if(i=c[12068+(A<<2)>>2])for(r=0,t=o<<(31!=(0|A)?25-(A>>>1|0)|0:0);;){if(!((a=(-8&c[i+4>>2])-o|0)>>>0>=n>>>0||(f=i,n=a,a))){n=0,r=i;break u}if(a=c[i+20>>2],i=c[16+((t>>>29&4)+i|0)>>2],r=a?(0|a)==(0|i)?r:a:r,t<<=1,!i)break}else r=0;if(!(r|f)){if(f=0,!(r=(0-(r=2<<A)|r)&u))break o;r=c[12068+(Xi(r&0-r)<<2)>>2]}if(!r)break b}for(;n=(t=(i=(-8&c[r+4>>2])-o|0)>>>0<n>>>0)?i:n,f=t?r:f,r=(i=c[r+16>>2])||c[r+20>>2];);}if(!(!f|c[2943]-o>>>0<=n>>>0)){if(A=c[f+24>>2],(0|f)!=(0|(t=c[f+12>>2]))){r=c[f+8>>2],c[r+12>>2]=t,c[t+8>>2]=r;break i}if(!(r=c[(i=f+20|0)>>2])){if(!(r=c[f+16>>2]))break n;i=f+16|0}for(;a=i,t=r,(r=c[(i=r+20|0)>>2])||(i=t+16|0,r=c[t+16>>2]););c[a>>2]=0;break i}}}if((r=c[2943])>>>0>=o>>>0){f=c[2946],(i=r-o|0)>>>0>=16?(c[(t=f+o|0)+4>>2]=1|i,c[r+f>>2]=i,c[f+4>>2]=3|o):(c[f+4>>2]=3|r,c[(r=r+f|0)+4>>2]=1|c[r+4>>2],t=0,i=0),c[2943]=i,c[2946]=t,r=f+8|0;break r}if((b=c[2944])>>>0>o>>>0){i=b-o|0,c[2944]=i,r=(t=c[2947])+o|0,c[2947]=r,c[r+4>>2]=1|i,c[t+4>>2]=3|o,r=t+8|0;break r}if(r=0,u=o+47|0,c[3059]?t=c[3061]:(c[3062]=-1,c[3063]=-1,c[3060]=4096,c[3061]=4096,c[3059]=e+12&-16^1431655768,c[3064]=0,c[3052]=0,t=4096),(i=(a=u+t|0)&(n=0-t|0))>>>0<=o>>>0)break r;if((f=c[3051])&&f>>>0<(A=(t=c[3049])+i|0)>>>0|t>>>0>=A>>>0)break r;o:{if(!(4&k[12208])){b:{u:{c:{k:{if(f=c[2947])for(r=12212;;){if((t=c[r>>2])>>>0<=f>>>0&f>>>0<t+c[r+4>>2]>>>0)break k;if(!(r=c[r+8>>2]))break}if(-1==(0|(t=ni(0))))break b;if(A=i,(r=(f=c[3060])-1|0)&t&&(A=(i-t|0)+(r+t&0-f)|0),A>>>0<=o>>>0)break b;if((f=c[3051])&&f>>>0<(n=(r=c[3049])+A|0)>>>0|r>>>0>=n>>>0)break b;if((0|t)!=(0|(r=ni(A))))break c;break o}if((0|(t=ni(A=n&a-b)))==(c[r>>2]+c[r+4>>2]|0))break u;r=t}if(-1==(0|r))break b;if(o+48>>>0<=A>>>0){t=r;break o}if(-1==(0|ni(t=(t=c[3061])+(u-A|0)&0-t)))break b;A=t+A|0,t=r;break o}if(-1!=(0|t))break o}c[3052]=4|c[3052]}if(-1==(0|(t=ni(i)))|-1==(0|(r=ni(0)))|r>>>0<=t>>>0)break t;if((A=r-t|0)>>>0<=o+40>>>0)break t}r=c[3049]+A|0,c[3049]=r,r>>>0>s[3050]&&(c[3050]=r);o:{if(a=c[2947]){for(r=12212;;){if(((f=c[r>>2])+(i=c[r+4>>2])|0)==(0|t))break o;if(!(r=c[r+8>>2]))break}break a}for((r=c[2945])>>>0<=t>>>0&&r||(c[2945]=t),r=0,c[3054]=A,c[3053]=t,c[2949]=-1,c[2950]=c[3059],c[3056]=0;i=(f=r<<3)+11804|0,c[f+11812>>2]=i,c[f+11816>>2]=i,32!=(0|(r=r+1|0)););i=(f=A-40|0)-(r=t+8&7?-8-t&7:0)|0,c[2944]=i,r=r+t|0,c[2947]=r,c[r+4>>2]=1|i,c[4+(t+f|0)>>2]=40,c[2948]=c[3063];break f}if(8&k[r+12|0]|f>>>0>a>>>0|t>>>0<=a>>>0)break a;c[r+4>>2]=i+A,t=(r=a+8&7?-8-a&7:0)+a|0,c[2947]=t,r=(i=c[2944]+A|0)-r|0,c[2944]=r,c[t+4>>2]=1|r,c[4+(i+a|0)>>2]=40,c[2948]=c[3063];break f}f=0;break e}t=0;break i}s[2945]>t>>>0&&(c[2945]=t),i=t+A|0,r=12212;a:{n:{A:{o:{b:{u:{for(;;){if((0|i)!=c[r>>2]){if(r=c[r+8>>2])continue;break u}break}if(!(8&k[r+12|0]))break b}for(r=12212;;){if((i=c[r>>2])>>>0<=a>>>0&&(n=i+c[r+4>>2]|0)>>>0>a>>>0)break o;r=c[r+8>>2]}}if(c[r>>2]=t,c[r+4>>2]=c[r+4>>2]+A,c[(u=(t+8&7?-8-t&7:0)+t|0)+4>>2]=3|o,r=(A=i+(i+8&7?-8-i&7:0)|0)-(b=o+u|0)|0,(0|a)==(0|A)){c[2947]=b,r=c[2944]+r|0,c[2944]=r,c[b+4>>2]=1|r;break n}if(c[2946]==(0|A)){c[2946]=b,r=c[2943]+r|0,c[2943]=r,c[b+4>>2]=1|r,c[r+b>>2]=r;break n}if(1==(3&(n=c[A+4>>2]))){a=-8&n;b:if(n>>>0<=255){if(f=c[A+8>>2],i=n>>>3|0,(0|(t=c[A+12>>2]))==(0|f)){p=11764,l=c[2941]&Yi(i),c[p>>2]=l;break b}c[f+12>>2]=t,c[t+8>>2]=f}else{if(o=c[A+24>>2],(0|A)==(0|(t=c[A+12>>2])))if((i=c[(n=A+20|0)>>2])||(i=c[(n=A+16|0)>>2])){for(;f=n,(i=c[(n=(t=i)+20|0)>>2])||(n=t+16|0,i=c[t+16>>2]););c[f>>2]=0}else t=0;else i=c[A+8>>2],c[i+12>>2]=t,c[t+8>>2]=i;if(o){f=c[A+28>>2];u:{if(c[(i=12068+(f<<2)|0)>>2]==(0|A)){if(c[i>>2]=t,t)break u;p=11768,l=c[2942]&Yi(f),c[p>>2]=l;break b}if(c[o+(c[o+16>>2]==(0|A)?16:20)>>2]=t,!t)break b}c[t+24>>2]=o,(i=c[A+16>>2])&&(c[t+16>>2]=i,c[i+24>>2]=t),(i=c[A+20>>2])&&(c[t+20>>2]=i,c[i+24>>2]=t)}}n=c[(A=a+A|0)+4>>2],r=r+a|0}if(c[A+4>>2]=-2&n,c[b+4>>2]=1|r,c[r+b>>2]=r,r>>>0<=255){i=11804+(-8&r)|0,(t=c[2941])&(r=1<<(r>>>3))?r=c[i+8>>2]:(c[2941]=r|t,r=i),c[i+8>>2]=b,c[r+12>>2]=b,c[b+12>>2]=i,c[b+8>>2]=r;break n}if(n=31,r>>>0<=16777215&&(n=62+((r>>>38-(i=v(r>>>8|0))&1)-(i<<1)|0)|0),c[b+28>>2]=n,c[b+16>>2]=0,c[b+20>>2]=0,i=12068+(n<<2)|0,(f=c[2942])&(t=1<<n)){for(n=r<<(31!=(0|n)?25-(n>>>1|0)|0:0),t=c[i>>2];;){if(i=t,(-8&c[t+4>>2])==(0|r))break A;if(t=n>>>29|0,n<<=1,!(t=c[(f=(4&t)+i|0)+16>>2]))break}c[f+16>>2]=b}else c[2942]=t|f,c[i>>2]=b;c[b+24>>2]=i,c[b+12>>2]=b,c[b+8>>2]=b;break n}for(i=(f=A-40|0)-(r=t+8&7?-8-t&7:0)|0,c[2944]=i,r=r+t|0,c[2947]=r,c[r+4>>2]=1|i,c[4+(t+f|0)>>2]=40,c[2948]=c[3063],c[(f=(r=(n+(n-39&7?39-n&7:0)|0)-47|0)>>>0<a+16>>>0?a:r)+4>>2]=27,r=c[3056],c[f+16>>2]=c[3055],c[f+20>>2]=r,r=c[3054],c[f+8>>2]=c[3053],c[f+12>>2]=r,c[3055]=f+8,c[3054]=A,c[3053]=t,c[3056]=0,r=f+24|0;c[r+4>>2]=7,i=r+8|0,r=r+4|0,i>>>0<n>>>0;);if((0|f)==(0|a))break f;if(c[f+4>>2]=-2&c[f+4>>2],n=f-a|0,c[a+4>>2]=1|n,c[f>>2]=n,n>>>0<=255){i=11804+(-8&n)|0,(t=c[2941])&(r=1<<(n>>>3))?r=c[i+8>>2]:(c[2941]=r|t,r=i),c[i+8>>2]=a,c[r+12>>2]=a,c[a+12>>2]=i,c[a+8>>2]=r;break f}if(r=31,n>>>0<=16777215&&(r=62+((n>>>38-(r=v(n>>>8|0))&1)-(r<<1)|0)|0),c[a+28>>2]=r,c[a+16>>2]=0,c[a+20>>2]=0,i=12068+(r<<2)|0,(f=c[2942])&(t=1<<r)){for(r=n<<(31!=(0|r)?25-(r>>>1|0)|0:0),f=c[i>>2];;){if((0|n)==(-8&c[(i=f)+4>>2]))break a;if(t=r>>>29|0,r<<=1,!(f=c[(t=(4&t)+i|0)+16>>2]))break}c[t+16>>2]=a}else c[2942]=t|f,c[i>>2]=a;c[a+24>>2]=i,c[a+12>>2]=a,c[a+8>>2]=a;break f}r=c[i+8>>2],c[r+12>>2]=b,c[i+8>>2]=b,c[b+24>>2]=0,c[b+12>>2]=i,c[b+8>>2]=r}r=u+8|0;break r}r=c[i+8>>2],c[r+12>>2]=a,c[i+8>>2]=a,c[a+24>>2]=0,c[a+12>>2]=i,c[a+8>>2]=r}if(!((r=c[2944])>>>0<=o>>>0)){i=r-o|0,c[2944]=i,r=(t=c[2947])+o|0,c[2947]=r,c[r+4>>2]=1|i,c[t+4>>2]=3|o,r=t+8|0;break r}}c[2940]=48,r=0;break r}i:if(A){i=c[f+28>>2];t:{if(c[(r=12068+(i<<2)|0)>>2]==(0|f)){if(c[r>>2]=t,t)break t;u=Yi(i)&u,c[2942]=u;break i}if(c[A+(c[A+16>>2]==(0|f)?16:20)>>2]=t,!t)break i}c[t+24>>2]=A,(r=c[f+16>>2])&&(c[t+16>>2]=r,c[r+24>>2]=t),(r=c[f+20>>2])&&(c[t+20>>2]=r,c[r+24>>2]=t)}i:if(n>>>0<=15)r=n+o|0,c[f+4>>2]=3|r,c[(r=r+f|0)+4>>2]=1|c[r+4>>2];else if(c[f+4>>2]=3|o,c[(a=f+o|0)+4>>2]=1|n,c[a+n>>2]=n,n>>>0<=255)i=11804+(-8&n)|0,(t=c[2941])&(r=1<<(n>>>3))?r=c[i+8>>2]:(c[2941]=r|t,r=i),c[i+8>>2]=a,c[r+12>>2]=a,c[a+12>>2]=i,c[a+8>>2]=r;else{r=31,n>>>0<=16777215&&(r=62+((n>>>38-(r=v(n>>>8|0))&1)-(r<<1)|0)|0),c[a+28>>2]=r,c[a+16>>2]=0,c[a+20>>2]=0,i=12068+(r<<2)|0;t:{if((t=1<<r)&u){for(r=n<<(31!=(0|r)?25-(r>>>1|0)|0:0),o=c[i>>2];;){if((-8&c[(i=o)+4>>2])==(0|n))break t;if(t=r>>>29|0,r<<=1,!(o=c[(t=(4&t)+i|0)+16>>2]))break}c[t+16>>2]=a}else c[2942]=t|u,c[i>>2]=a;c[a+24>>2]=i,c[a+12>>2]=a,c[a+8>>2]=a;break i}r=c[i+8>>2],c[r+12>>2]=a,c[i+8>>2]=a,c[a+24>>2]=0,c[a+12>>2]=i,c[a+8>>2]=r}r=f+8|0;break r}e:if(b){i=c[t+28>>2];i:{if(c[(r=12068+(i<<2)|0)>>2]==(0|t)){if(c[r>>2]=f,f)break i;p=11768,l=Yi(i)&u,c[p>>2]=l;break e}if(c[b+(c[b+16>>2]==(0|t)?16:20)>>2]=f,!f)break e}c[f+24>>2]=b,(r=c[t+16>>2])&&(c[f+16>>2]=r,c[r+24>>2]=f),(r=c[t+20>>2])&&(c[f+20>>2]=r,c[r+24>>2]=f)}n>>>0<=15?(r=n+o|0,c[t+4>>2]=3|r,c[(r=r+t|0)+4>>2]=1|c[r+4>>2]):(c[t+4>>2]=3|o,c[(f=t+o|0)+4>>2]=1|n,c[f+n>>2]=n,_&&(i=11804+(-8&_)|0,a=c[2946],(r=1<<(_>>>3))&A?r=c[i+8>>2]:(c[2941]=r|A,r=i),c[i+8>>2]=a,c[r+12>>2]=a,c[a+12>>2]=i,c[a+8>>2]=r),c[2946]=f,c[2943]=n),r=t+8|0}return Z=e+16|0,0|r}function w(r,e){var i,t=0,f=0,a=0,A=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0;Z=i=Z-32|0,m=vi(12),c[m+8>>2]=0,c[m+4>>2]=e,c[m>>2]=0,e=N=m+12|0;r:{e:{i:{for(;;){if(U=c[(e=e-12|0)+8>>2],s=c[e+4>>2],T=c[e>>2]){if((0|U)>1e3)break r;c[i+24>>2]=0,c[i+16>>2]=0,c[i+20>>2]=0,f=1,t=c[r>>2],a=c[t+8>>2];t:if(!((0|(u=c[t+12>>2]))<=(0|(b=c[t+20>>2]))&(A=c[t+16>>2])>>>0>=a>>>0|(0|b)>(0|u))){if(a=k[A+c[t>>2]|0],u=t,t=b,t=(A=A+1|0)?t:t+1|0,c[u+16>>2]=A,c[u+20>>2]=t,Tr(i+16|0,a),a){if(t=c[r>>2],d=di(i+16|0),v=c[t+8>>2],b=c[t+12>>2],u=c[t+20>>2],(0|b)<=(0|(u=(p=(A=c[t+16>>2])+a|0)>>>0<a>>>0?u+1|0:u))&p>>>0>v>>>0|(0|b)<(0|u))break t;hr(d,A+c[t>>2]|0,a),f=c[t+20>>2],f=(A=a)>>>0>(a=a+c[t+16>>2]|0)>>>0?f+1|0:f,c[t+16>>2]=a,c[t+20>>2]=f}s=vi(24),c[(t=s)+4>>2]=0,c[t+8>>2]=0,c[(t=t+16|0)>>2]=0,c[t+4>>2]=0,c[s>>2]=s+4,c[s+12>>2]=t,Z=a=Z-32|0;f:if((0|(V=te(u=T+12|0,t=i+16|0)))!=(0|(_=T+16|0)))s&&(Ai(s+12|0,c[s+16>>2]),mi(s,c[s+4>>2]),er(s));else{c[a+16>>2]=t;a:{n:{A:if(f=c[u+4>>2]){for(d=(b=(A=k[t+11|0])<<24>>24<0)?c[t>>2]:t,b=b?c[t+4>>2]:A;;){o:{b:{u:{c:{k:if(p=(v=(f=(A=(f=k[(t=f)+27|0])<<24>>24<0)?c[t+20>>2]:f)>>>0<b>>>0)?f:b){if(!(h=Ye(d,A=A?c[t+16>>2]:t+16|0,p))){if(f>>>0>b>>>0)break k;break c}if((0|h)>=0)break c}else if(f>>>0<=b>>>0)break u;if(A=t,f=c[t>>2])continue;break A}if(f=Ye(A,d,p))break b}if(v)break o;break n}if((0|f)>=0)break n}if(!(f=c[t+4>>2]))break}A=t+4|0}else t=A=u+4|0;d=(f=vi(32))+16|0,b=c[a+16>>2],n[b+11|0]>=0?(v=c[b+4>>2],c[d>>2]=c[b>>2],c[d+4>>2]=v,c[d+8>>2]=c[b+8>>2]):me(d,c[b>>2],c[b+4>>2]),c[f+8>>2]=t,c[f>>2]=0,c[f+4>>2]=0,c[f+28>>2]=0,c[A>>2]=f,t=f,(b=c[c[u>>2]>>2])&&(c[u>>2]=b,t=c[A>>2]),Ur(c[u+4>>2],t),c[u+8>>2]=c[u+8>>2]+1,t=1;break a}f=t,t=0}if(n[a+28|0]=t,c[a+24>>2]=f,f=c[a+24>>2],t=c[f+28>>2],c[f+28>>2]=s,!t)break f;Ai(t+12|0,c[t+16>>2]),mi(t,c[t+4>>2]),er(t)}Z=a+32|0,f=(0|_)!=(0|V)}if(n[i+27|0]<0&&er(c[i+16>>2]),f)break r}if(!s)break r;if(c[i+16>>2]=0,!De(1,i+16|0,c[r>>2]))break r;if(h=0,W=c[i+16>>2])for(;;){f=0,Z=_=Z-32|0,c[_+24>>2]=0,c[_+16>>2]=0,c[_+20>>2]=0,t=c[r>>2],A=c[t+8>>2];t:{f:{a:if(!((0|(u=c[t+12>>2]))<=(0|(b=c[t+20>>2]))&(a=c[t+16>>2])>>>0>=A>>>0|(0|b)>(0|u))){if(A=k[a+c[t>>2]|0],u=t,t=b,t=(a=a+1|0)?t:t+1|0,c[u+16>>2]=a,c[u+20>>2]=t,Tr(_+16|0,A),A){if(a=c[r>>2],d=di(_+16|0),v=c[a+8>>2],b=c[a+12>>2],t=c[a+20>>2],(p=(u=c[a+16>>2])+A|0)>>>0>v>>>0&(0|(t=p>>>0<A>>>0?t+1|0:t))>=(0|b)|(0|t)>(0|b))break a;hr(d,u+c[a>>2]|0,A),t=c[a+20>>2],t=(b=A)>>>0>(A=A+c[a+16>>2]|0)>>>0?t+1|0:t,c[a+16>>2]=A,c[a+20>>2]=t}if(c[_+12>>2]=0,De(1,_+12|0,c[r>>2])&&(A=c[_+12>>2])&&(a=c[r>>2],b=(t=c[a+8>>2])-(u=c[a+16>>2])|0,!((0|(t=c[a+12>>2]-(c[a+20>>2]+(t>>>0<u>>>0)|0)|0))<=0&A>>>0>b>>>0|(0|t)<0))){if(c[_+8>>2]=0,c[_>>2]=0,c[_+4>>2]=0,(0|A)<0)break f;f=vi(A),c[_>>2]=f,t=f+A|0,c[_+8>>2]=t,l=Sr(f,0,A),c[_+4>>2]=t,D=u=c[a+12>>2],v=c[a+8>>2],t=c[a+20>>2],V=b=A+(p=c[a+16>>2])|0,d=t=b>>>0<A>>>0?t+1|0:t;n:{if((0|t)<=(0|u)&b>>>0<=v>>>0|(0|t)<(0|u)){if(hr(l,c[a>>2]+p|0,A),f=c[a+20>>2],f=(t=A+c[a+16>>2]|0)>>>0<A>>>0?f+1|0:f,c[a+16>>2]=t,c[a+20>>2]=f,Z=u=Z-48|0,(0|(a=te(s,_+16|0)))!=(s+4|0)){if(t=c[a+4>>2])for(;f=t,t=c[t>>2];);else for(t=a;f=c[t+8>>2],A=c[f>>2]!=(0|t),t=f,A;);(0|a)==c[s>>2]&&(c[s>>2]=f),c[s+8>>2]=c[s+8>>2]-1,A=c[s+4>>2];A:{o:{if(b=a,a=c[(f=a)>>2]){if(!(t=c[b+4>>2]))break o;for(;f=t,t=c[t>>2];);}if(!(a=c[f+4>>2])){a=0,p=1;break A}}c[a+8>>2]=c[f+8>>2],p=0}l=c[f+8>>2];A:if((0|f)!=(0|(t=c[l>>2])))c[l+4>>2]=a;else{if(c[l>>2]=a,(0|f)==(0|A)){t=0,A=a;break A}t=c[l+4>>2]}R=!k[f+12|0],(0|f)!=(0|b)&&(l=c[b+8>>2],c[f+8>>2]=l,c[l+(((0|b)!=c[c[b+8>>2]>>2])<<2)>>2]=f,l=c[b>>2],c[f>>2]=l,c[l+8>>2]=f,l=c[b+4>>2],c[f+4>>2]=l,l&&(c[l+8>>2]=f),n[f+12|0]=k[b+12|0],A=(0|A)==(0|b)?f:A);A:if(!(R|!A)){if(p)for(;;){a=k[t+12|0];o:{if(f=c[t+8>>2],c[f>>2]!=(0|t)){a||(n[t+12|0]=1,n[f+12|0]=0,a=c[f+4>>2],p=c[a>>2],c[f+4>>2]=p,p&&(c[p+8>>2]=f),c[a+8>>2]=c[f+8>>2],p=c[f+8>>2],c[(((0|f)!=c[p>>2])<<2)+p>>2]=a,c[a>>2]=f,c[f+8>>2]=a,f=t,A=(0|(t=c[t>>2]))==(0|A)?f:A,t=c[t+4>>2]);b:{u:{f=c[t>>2];c:{if(k[f+12|0]||!f){if(a=c[t+4>>2],!k[a+12|0]&&a)break c;if(n[t+12|0]=0,(0|A)!=(0|(t=c[t+8>>2]))){if(k[t+12|0])break o}else t=A;n[t+12|0]=1;break A}if(!(a=c[t+4>>2]))break u}if(!k[a+12|0]){f=t;break b}}n[f+12|0]=1,n[t+12|0]=0,a=c[f+4>>2],c[t>>2]=a,a&&(c[a+8>>2]=t),c[f+8>>2]=c[t+8>>2],a=c[t+8>>2],c[((c[a>>2]!=(0|t))<<2)+a>>2]=f,c[f+4>>2]=t,c[t+8>>2]=f,a=t}t=c[f+8>>2],n[f+12|0]=k[t+12|0],n[t+12|0]=1,n[a+12|0]=1,f=c[t+4>>2],a=c[f>>2],c[t+4>>2]=a,a&&(c[a+8>>2]=t),c[f+8>>2]=c[t+8>>2],a=c[t+8>>2],c[(((0|t)!=c[a>>2])<<2)+a>>2]=f,c[f>>2]=t,c[t+8>>2]=f;break A}a||(n[t+12|0]=1,n[f+12|0]=0,a=c[t+4>>2],c[f>>2]=a,a&&(c[a+8>>2]=f),c[t+8>>2]=c[f+8>>2],a=c[f+8>>2],c[(((0|f)!=c[a>>2])<<2)+a>>2]=t,c[t+4>>2]=f,c[f+8>>2]=t,A=(0|f)==(0|A)?t:A,t=c[f>>2]);b:if(!(a=c[t>>2])|k[a+12|0]){if(f=c[t+4>>2],k[f+12|0]||!f){if(n[t+12|0]=0,(0|(t=c[t+8>>2]))!=(0|A)&&k[t+12|0])break o;n[t+12|0]=1;break A}if(a){if(!k[a+12|0]){f=t;break b}f=c[t+4>>2]}n[f+12|0]=1,n[t+12|0]=0,a=c[f>>2],c[t+4>>2]=a,a&&(c[a+8>>2]=t),c[f+8>>2]=c[t+8>>2],a=c[t+8>>2],c[((c[a>>2]!=(0|t))<<2)+a>>2]=f,c[f>>2]=t,c[t+8>>2]=f,a=t}else f=t;t=c[f+8>>2],n[f+12|0]=k[t+12|0],n[t+12|0]=1,n[a+12|0]=1,f=c[t>>2],a=c[f+4>>2],c[t>>2]=a,a&&(c[a+8>>2]=t),c[f+8>>2]=c[t+8>>2],a=c[t+8>>2],c[(((0|t)!=c[a>>2])<<2)+a>>2]=f,c[f+4>>2]=t,c[t+8>>2]=f;break A}f=t,t=c[t+8>>2],t=c[(((0|f)==c[t>>2])<<2)+t>>2]}n[a+12|0]=1}(t=c[b+28>>2])&&(c[b+32>>2]=t,er(t)),n[b+27|0]<0&&er(c[b+16>>2]),er(b)}c[u+8>>2]=0,c[u>>2]=0,c[u+4>>2]=0,A=(t=c[_+4>>2])-(f=c[_>>2])|0,a=0;A:{o:{if((0|t)!=(0|f)){if((0|A)<0)break o;b=(t=Sr(a=vi(A),0,A))+A|0,c[u+8>>2]=b,c[u+4>>2]=b,c[u>>2]=t,t=f}hr(a,t,A),n[_+27|0]>=0?(c[u+24>>2]=c[_+24>>2],t=c[_+20>>2],c[u+16>>2]=c[_+16>>2],c[u+20>>2]=t):me(u+16|0,c[_+16>>2],c[_+20>>2]),Me(u+28|0,u),t=A=u+16|0;b:{u:{c:if(f=c[s+4>>2]){for(p=(b=(a=k[t+11|0])<<24>>24<0)?c[t>>2]:t,b=b?c[t+4>>2]:a;;){k:{_:{s:{p:{l:if(R=(l=(f=(a=(f=k[(t=f)+27|0])<<24>>24<0)?c[t+20>>2]:f)>>>0<b>>>0)?f:b){if(!(G=Ye(p,a=a?c[t+16>>2]:t+16|0,R))){if(f>>>0>b>>>0)break l;break p}if((0|G)>=0)break p}else if(f>>>0<=b>>>0)break s;if(a=t,f=c[t>>2])continue;break c}if(f=Ye(a,p,R))break _}if(l)break k;break u}if((0|f)>=0)break u}if(!(f=c[t+4>>2]))break}a=t+4|0}else t=a=s+4|0;f=vi(40),c[f+24>>2]=c[A+8>>2],b=c[A+4>>2],c[f+16>>2]=c[A>>2],c[f+20>>2]=b,c[A>>2]=0,c[A+4>>2]=0,c[A+8>>2]=0,Me(f+28|0,A+12|0),c[f+8>>2]=t,c[f>>2]=0,c[f+4>>2]=0,c[a>>2]=f,t=f,(A=c[c[s>>2]>>2])&&(c[s>>2]=A,t=c[a>>2]),Ur(c[s+4>>2],t),c[s+8>>2]=c[s+8>>2]+1,t=1;break b}f=t,t=0}n[u+44|0]=t,c[u+40>>2]=f,(t=c[u+28>>2])&&(c[u+32>>2]=t,er(t)),n[u+27|0]<0&&er(c[u+16>>2]),(t=c[u>>2])&&(c[u+4>>2]=t,er(t)),Z=u+48|0;break A}mt(),o()}if(!(f=c[_>>2]))break n}c[_+4>>2]=f,er(f)}f=(0|d)<=(0|D)&v>>>0>=V>>>0|(0|d)<(0|D)}}n[_+27|0]<0&&er(c[_+16>>2]),Z=_+32|0;break t}mt(),o()}if(!f)break r;if((0|W)==(0|(h=h+1|0)))break}if(c[i+12>>2]=0,!De(1,i+12|0,c[r>>2]))break r;if(t=c[r>>2],(u=(a=c[t+8>>2])-(A=c[t+16>>2])|0)>>>0<(f=c[i+12>>2])>>>0&(0|(t=c[t+12>>2]-(c[t+20>>2]+(a>>>0<A>>>0)|0)|0))<=0|(0|t)<0)break r;if(f)for(h=0,u=!!(0|T)+U|0;;){if(e>>>0<N>>>0)c[e+8>>2]=u,c[e+4>>2]=0,c[e>>2]=s,e=e+12|0,f=c[i+12>>2];else{if((e=(b=(0|(t=e-m|0))/12|0)+1|0)>>>0>=357913942)break i;if(A=(a=(N-m|0)/12|0)<<1,a=a>>>0>=178956970?357913941:e>>>0<A>>>0?A:e){if(a>>>0>=357913942)break e;A=vi(y(a,12))}else A=0;e=A+y(b,12)|0,c[e+8>>2]=u,c[e+4>>2]=0,c[e>>2]=s,t=gr(e+y((0|t)/-12|0,12)|0,m,t),N=A+y(a,12)|0,e=e+12|0,m&&er(m),m=t}if(!((h=h+1|0)>>>0<f>>>0))break}if((0|e)==(0|m))break}E=1;break r}mt(),o()}Zi(),o()}return m&&er(m),Z=i+32|0,E}function j(r,e){var i,t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0;Z=i=Z-32|0,A=c[c[r+4>>2]+44>>2],t=c[r+8>>2],f=c[t>>2],t=c[t+4>>2],c[i+24>>2]=0,c[i+16>>2]=0,c[i+20>>2]=0,f=(t-f>>2>>>0)/3|0,t=c[A+96>>2];r:{if(f>>>0>(n=(c[A+100>>2]-t|0)/12|0)>>>0){if((a=f-n|0)>>>0<=((b=c[A+104>>2])-(t=c[A+100>>2])|0)/12>>>0){if(a){if(f=t,b=1+(((n=y(a,12)-12|0)>>>0)/12|0)&3)for(;_=c[i+20>>2],c[f>>2]=c[i+16>>2],c[f+4>>2]=_,c[f+8>>2]=c[i+24>>2],f=f+12|0,(0|b)!=(0|(u=u+1|0)););if(t=y(a,12)+t|0,!(n>>>0<36))for(;n=c[i+20>>2],c[f>>2]=c[i+16>>2],c[f+4>>2]=n,c[f+8>>2]=c[i+24>>2],c[f+20>>2]=c[i+24>>2],n=c[i+20>>2],c[f+12>>2]=c[i+16>>2],c[f+16>>2]=n,c[f+32>>2]=c[i+24>>2],n=c[i+20>>2],c[f+24>>2]=c[i+16>>2],c[f+28>>2]=n,n=c[i+20>>2],c[f+36>>2]=c[i+16>>2],c[f+40>>2]=n,c[f+44>>2]=c[i+24>>2],(0|(f=f+48|0))!=(0|t););}c[A+100>>2]=t;break r}e:{if((f=(p=(t-(n=c[A+96>>2])|0)/12|0)+a|0)>>>0<357913942){if(b=(n=(b-n|0)/12|0)<<1,b=n>>>0>=178956970?357913941:f>>>0<b>>>0?b:f){if(b>>>0>=357913942)break e;_=vi(y(b,12))}if(f=n=y(p,12)+_|0,m=1+(((p=(a=y(a,12))-12|0)>>>0)/12|0)&3)for(;v=c[i+20>>2],c[f>>2]=c[i+16>>2],c[f+4>>2]=v,c[f+8>>2]=c[i+24>>2],f=f+12|0,(0|m)!=(0|(u=u+1|0)););if(a=a+n|0,p>>>0>=36)for(;u=c[i+20>>2],c[f>>2]=c[i+16>>2],c[f+4>>2]=u,c[f+8>>2]=c[i+24>>2],c[f+20>>2]=c[i+24>>2],u=c[i+20>>2],c[f+12>>2]=c[i+16>>2],c[f+16>>2]=u,c[f+32>>2]=c[i+24>>2],u=c[i+20>>2],c[f+24>>2]=c[i+16>>2],c[f+28>>2]=u,u=c[i+20>>2],c[f+36>>2]=c[i+16>>2],c[f+40>>2]=u,c[f+44>>2]=c[i+24>>2],(0|a)!=(0|(f=f+48|0)););if((0|(u=c[A+96>>2]))!=(0|t)){for(;p=c[(t=t-12|0)+4>>2],c[(f=n=n-12|0)>>2]=c[t>>2],c[f+4>>2]=p,c[f+8>>2]=c[t+8>>2],(0|t)!=(0|u););t=c[A+96>>2]}c[A+104>>2]=y(b,12)+_,c[A+100>>2]=a,c[A+96>>2]=n,t&&er(t);break r}mt(),o()}Zi(),o()}f>>>0>=n>>>0||(c[A+100>>2]=t+y(f,12))}if(c[r+216>>2]!=c[r+220>>2]){f=0,c[i+24>>2]=0,c[i+16>>2]=0,c[i+20>>2]=0,_=c[r+8>>2],t=c[_>>2],A=c[_+4>>2],c[i+8>>2]=0,c[i>>2]=0,c[i+4>>2]=0,e=0;r:{e:{i:{t:{f:{a:{if((0|t)!=(0|A)){if((0|(t=A-t|0))<0)break a;e=vi(t),c[i>>2]=e,c[i+8>>2]=(-4&t)+e,N=i,T=Sr(e,0,t)+t|0,c[N+4>>2]=T}if(t=c[_+24>>2],(c[_+28>>2]-t|0)<4)break e;for(n=0;;){n:if(-1!=(0|(A=c[(d<<2)+t>>2]))){A:if(!(c[c[r+120>>2]+(d>>>3&536870908)>>2]>>>d&1)&&(0|(p=c[r+216>>2]))!=(0|(t=c[r+220>>2])))for(a=A+2|0,m=(b=(A>>>0)%3|0)?A-1|0:a,v=(t=(t-p|0)/144|0)>>>0<=1?1:t,u=0,R=!!(0|b)|-1!=(0|a);;){if(h=A<<2,b=y(u,144)+p|0,t=c[h+c[c[b+68>>2]>>2]>>2],c[c[b+16>>2]+(t>>>3&536870908)>>2]>>>t&1&&(t=-1,R&&(t=-1,-1!=(0|(a=c[c[_+12>>2]+(m<<2)>>2]))&&(t=a-1|0,(a>>>0)%3|0||(t=a+2|0))),(0|A)!=(0|t)))for(a=h,h=c[b+32>>2],b=c[a+h>>2];;){if(a=0,-1==(0|t))break r;if((0|b)!=c[h+(t<<2)>>2]){A=t;break A}o:{if((t>>>0)%3|0)a=t-1|0;else if(s=-1,-1==(0|(a=t+2|0)))break o;s=-1,-1!=(0|(t=c[c[_+12>>2]+(a<<2)>>2]))&&(s=t-1|0,(t>>>0)%3|0||(s=t+2|0))}if((0|A)==(0|(t=s)))break}if((0|v)==(0|(u=u+1|0)))break}if(a=(b=k-n|0)>>2,c[(A<<2)+e>>2]=a,k>>>0<l>>>0)c[k>>2]=A,k=k+4|0,c[i+20>>2]=k;else{if((t=a+1|0)>>>0>=1073741824)break f;if(k=(f=l-n|0)>>>1|0,t=f>>>0>=2147483644?1073741823:t>>>0<k>>>0?k:t){if(t>>>0>=1073741824)break t;f=vi(t<<2)}else f=0;c[(a=f+(a<<2)|0)>>2]=A,l=(s=t<<2)+(t=gr(f,n,b))|0,c[i+24>>2]=l,k=a+4|0,c[i+20>>2]=k,c[i+16>>2]=t,n&&(er(n),_=c[r+8>>2]),n=t}if(-1!=(0|A)){if((A>>>0)%3|0)t=A-1|0;else if(-1==(0|(t=A+2|0)))break n;if(-1!=(0|(t=c[c[_+12>>2]+(t<<2)>>2]))&&-1!=(0|(t=t+((t>>>0)%3|0?-1:2)|0))&&(a=A,(0|t)!=(0|A)))for(;;){b=t;A:{o:if((0|(t=c[r+220>>2]))!=(0|(u=c[r+216>>2]))){for(p=(t=(t-u|0)/144|0)>>>0<=1?1:t,t=0;;){if(m=c[32+(u+y(t,144)|0)>>2],c[m+(v=b<<2)>>2]==c[m+(a<<2)>>2]){if((0|p)!=(0|(t=t+1|0)))continue;break o}break}if(a=(u=k-f|0)>>2,c[e+v>>2]=a,k>>>0<l>>>0){c[k>>2]=b,k=k+4|0,c[i+20>>2]=k,n=f;break A}if((t=a+1|0)>>>0>=1073741824)break i;if(k=(n=l-f|0)>>>1|0,t=n>>>0>=2147483644?1073741823:t>>>0<k>>>0?k:t){if(t>>>0>=1073741824)break t;n=vi(t<<2)}else n=0;if(c[(a=n+(a<<2)|0)>>2]=b,l=(s=t<<2)+(t=gr(n,f,u))|0,c[i+24>>2]=l,k=a+4|0,c[i+20>>2]=k,c[i+16>>2]=t,!f){f=t;break A}er(f),_=c[r+8>>2],f=t;break A}c[(b<<2)+e>>2]=c[(a<<2)+e>>2]}if(-1==(0|b))break n;if((b>>>0)%3|0)t=b-1|0;else if(-1==(0|(t=b+2|0)))break n;if(-1==(0|(t=c[c[_+12>>2]+(t<<2)>>2])))break n;if(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0)))break n;if(a=b,(0|t)==(0|A))break}}}if(d=d+1|0,t=c[_+24>>2],!((0|d)<c[_+28>>2]-t>>2))break}break e}mt(),o()}mt(),o()}Zi(),o()}mt(),o()}if(b=c[r+4>>2],r=c[b+44>>2],(0|(t=c[r+100>>2]))!=(0|(r=c[r+96>>2]))){if(_=1&(n=(A=(t-r|0)/12|0)>>>0<=1?1:A),t=0,A>>>0>=2)for(u=-2&n,A=0;a=y(t,12),l=c[(n=a+e|0)>>2],d=c[n+4>>2],c[(a=r+a|0)+8>>2]=c[n+8>>2],c[a>>2]=l,c[a+4>>2]=d,a=y(1|t,12),l=c[(n=a+e|0)>>2],d=c[n+4>>2],c[(a=r+a|0)+8>>2]=c[n+8>>2],c[a>>2]=l,c[a+4>>2]=d,t=t+2|0,(0|u)!=(0|(A=A+2|0)););_&&(A=y(t,12),n=c[(t=A+e|0)>>2],a=c[t+4>>2],c[(r=r+A|0)+8>>2]=c[t+8>>2],c[r>>2]=n,c[r+4>>2]=a)}c[c[b+4>>2]+80>>2]=k-f>>2,a=1}t=a,e&&er(e),f&&(c[i+20>>2]=f,er(f))}else{if(u=c[r+4>>2],t=c[u+44>>2],(0|(f=c[t+100>>2]))!=(0|(n=c[t+96>>2])))for(l=(t=(f-n|0)/12|0)>>>0<=1?1:t,t=0;;){f=c[r+8>>2],b=n+y(t,12)|0;r:{if(-1!=(0|(A=y(t,3))))if(a=-1,k=c[c[f>>2]+(A<<2)>>2],-1!=(0|(_=A+1|0))){if(a=c[c[f>>2]+(_<<2)>>2],s=-1,-1==(0|(A=A+2|0)))break r}else A=0;else a=c[4+(c[f>>2]+(A<<2)|0)>>2],k=-1,A=1;s=c[c[f>>2]+(A<<2)>>2]}if(c[b+8>>2]=s,c[b+4>>2]=a,c[b>>2]=k,(0|l)==(0|(t=t+1|0)))break}c[c[u+4>>2]+80>>2]=e,t=1}return Z=i+32|0,t}function J(r,e){e|=0;var i,t=0,f=0,a=0,A=0,b=0,u=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0;Z=i=Z-96|0,m=c[(r|=0)+4>>2],f=c[m+32>>2],p=c[f+8>>2];r:if(!((0|(a=s=c[f+12>>2]))<=(0|(t=c[f+20>>2]))&(A=c[f+16>>2])>>>0>=p>>>0|(0|t)>(0|a)||(v=c[f>>2],u=k[v+A|0],a=(b=A+1|0)?t:t+1|0,c[f+16>>2]=b,c[f+20>>2]=a,(0|a)>=(0|s)&b>>>0>=p>>>0|(0|a)>(0|s)))){h=k[b+v|0],a=(b=A+2|0)>>>0<2?t+1|0:t,c[f+16>>2]=b,c[f+20>>2]=a;e:{if((0|(d=u<<24>>24))>=0){if(l=c[r+216>>2],u>>>0>=(c[r+220>>2]-l|0)/144>>>0)break r;if(l=l+y(u,144)|0,c[l>>2]<0)break e;break r}if(c[r+212>>2]>=0)break r;l=r+212|0}c[l>>2]=e;e:{i:{t:{f:{a:{n:{A:{if((65535&((l=_[m+36>>1])<<8|l>>>8))>>>0>=258){if((0|a)>=(0|s)&b>>>0>=p>>>0|(0|a)>(0|s))break r;if(a=k[b+v|0],t=(A=A+3|0)>>>0<3?t+1|0:t,c[f+16>>2]=A,c[f+20>>2]=t,a>>>0>1)break r;if(f=a>>>0<2?a:0,!h)break A;if(!f)break n;break r}if(h)break a;f=0}if((0|d)<0?a=r+184|0:(t=c[r+216>>2]+y(u,144)|0,n[t+100|0]=0,a=t+104|0),1!=(0|f))break t;if(Z=t=Z-112|0,b=c[c[r+4>>2]+44>>2],f=vi(120),c[f>>2]=8924,c[f+4>>2]=0,c[f+116>>2]=0,c[f+112>>2]=a,c[f+108>>2]=b,c[f+12>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,c[f+32>>2]=0,c[f+36>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,c[f+56>>2]=0,c[f+60>>2]=0,c[f+8>>2]=9136,c[(A=f- -64|0)>>2]=0,c[A+4>>2]=0,c[f+72>>2]=0,c[f+76>>2]=0,c[f+80>>2]=0,c[f+84>>2]=0,c[f+88>>2]=0,c[f+104>>2]=0,c[f+96>>2]=0,c[f+100>>2]=0,A=c[r+8>>2],c[t+48>>2]=0,c[t+52>>2]=0,c[t+40>>2]=0,c[t+44>>2]=0,c[(p=t+32|0)>>2]=0,c[p+4>>2]=0,c[t+24>>2]=0,c[t+28>>2]=0,c[(u=t- -64|0)>>2]=0,c[u+4>>2]=0,c[t+72>>2]=0,c[t+76>>2]=0,c[t+80>>2]=0,c[t+84>>2]=0,c[t+88>>2]=0,c[t+104>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+56>>2]=0,c[t+60>>2]=0,c[t+8>>2]=9136,c[t+96>>2]=0,c[t+100>>2]=0,c[t+12>>2]=A,u=c[A>>2],s=c[A+4>>2],n[t+111|0]=0,xr(l=p,(s-u>>2>>>0)/3|0,p=t+111|0),u=c[t+12>>2],s=c[u+28>>2],u=c[u+24>>2],n[t+111|0]=0,xr(t+44|0,s-u>>2,p),c[t+28>>2]=f,c[t+24>>2]=b,c[t+20>>2]=a,c[t+16>>2]=A,Br(A=f+8|0,a=t+8|0),(0|a)!=(0|A)){Pr(f+56|0,c[a+48>>2],c[a+52>>2]),Pr(f+68|0,c[a+60>>2],c[a- -64>>2]),Pr(f+80|0,c[a+72>>2],c[a+76>>2]),c[f+92>>2]=c[a+84>>2];A:if((a=(s=(u=c[a+92>>2])-(p=c[a+88>>2])|0)>>2)>>>0<=(A=c[f+104>>2])-(b=c[f+96>>2])>>2>>>0){if(A=(s=c[f+100>>2]-b|0)+p|0,d=(s=a>>>0>(m=s>>2)>>>0?A:u)-p|0,(0|s)!=(0|p)&&gr(b,p,d),a>>>0>m>>>0){if(a=c[f+100>>2],(0|u)!=(0|s))for(;c[a>>2]=c[A>>2],a=a+4|0,(0|u)!=(0|(A=A+4|0)););c[f+100>>2]=a;break A}c[f+100>>2]=b+d}else b&&(c[f+100>>2]=b,er(b),c[f+104>>2]=0,c[f+96>>2]=0,c[f+100>>2]=0,A=0),(0|s)<0||(b=A>>>1|0,(a=A>>>0>=2147483644?1073741823:a>>>0<b>>>0?b:a)>>>0>=1073741824)?(mt(),o()):(a=vi(A=a<<2),c[f+96>>2]=a,c[f+104>>2]=a+A,(0|u)!=(0|p)&&(a=hr(A=a,p,a=4+(s-4&-4)|0)+a|0),c[f+100>>2]=a)}else c[f+92>>2]=c[a+84>>2];c[t+8>>2]=9136,(a=c[t+96>>2])&&(c[t+100>>2]=a,er(a)),(a=c[t+80>>2])&&(c[t+84>>2]=a,er(a)),(a=c[t+68>>2])&&(c[t+72>>2]=a,er(a)),(a=c[t+56>>2])&&(c[t+60>>2]=a,er(a)),c[t+8>>2]=9372,(a=c[t+44>>2])&&er(a),(a=c[t+32>>2])&&er(a),Z=t+112|0;break i}if((0|d)>=0)break f;break r}if((0|d)<0)break r}a=c[r+216>>2],t=c[m+44>>2],f=vi(80),c[f>>2]=9684,c[f+4>>2]=0,c[f+76>>2]=0,c[f+68>>2]=t,c[f+8>>2]=8624,c[f+12>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,c[f+32>>2]=0,c[f+36>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,A=(a=a+y(u,144)|0)+104|0,c[f+72>>2]=A,c[f- -64>>2]=0,c[f+56>>2]=0,c[f+60>>2]=0,c[i+24>>2]=t,c[(t=i)+68>>2]=0,c[t+72>>2]=0,c[t+60>>2]=0,c[t+64>>2]=0,c[t+52>>2]=0,c[t+56>>2]=0,c[t+44>>2]=0,c[t+48>>2]=0,c[t+84>>2]=0,c[t+88>>2]=0,c[t+76>>2]=0,c[t+80>>2]=0,c[t+28>>2]=f,b=c[t+28>>2],c[t+8>>2]=c[t+24>>2],c[t+12>>2]=b,c[t+20>>2]=A,A=a+4|0,c[t+16>>2]=A,c[t+36>>2]=0,c[t+40>>2]=0,c[t+32>>2]=8624,a=c[t+20>>2],c[t>>2]=c[t+16>>2],c[t+4>>2]=a,Te(a=t+32|0,A,t),Br(t=f+8|0,a),(0|t)!=(0|a)&&Pr(f+56|0,c[a+48>>2],c[a+52>>2]),_i(a);break e}Z=t=Z+-64|0,b=c[c[r+4>>2]+44>>2],f=vi(80),c[f>>2]=9392,c[f+4>>2]=0,c[f+76>>2]=0,c[f+72>>2]=a,c[f+68>>2]=b,c[f+8>>2]=9556,c[f+12>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,c[f+32>>2]=0,c[f+36>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,c[f- -64>>2]=0,c[(A=p=f+56|0)>>2]=0,c[A+4>>2]=0,A=c[r+8>>2],c[t+40>>2]=0,c[t+44>>2]=0,c[t+32>>2]=0,c[t+36>>2]=0,c[(u=t+24|0)>>2]=0,c[u+4>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+56>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,c[t+48>>2]=0,c[t+52>>2]=0,c[t>>2]=9556,c[t+4>>2]=A,s=c[A>>2],d=c[A+4>>2],n[t+63|0]=0,xr(l=u,(d-s>>2>>>0)/3|0,u=t+63|0),s=c[t+4>>2],d=c[s+28>>2],s=c[s+24>>2],n[t+63|0]=0,xr(t+36|0,d-s>>2,u),c[t+20>>2]=f,c[t+16>>2]=b,c[t+12>>2]=a,c[t+8>>2]=A,Br(f+8|0,t),Pr(p,c[t+48>>2],c[t+52>>2]),c[t>>2]=9556,(a=c[t+48>>2])&&(c[t+52>>2]=a,er(a)),c[t>>2]=9372,(a=c[t+36>>2])&&er(a),(a=c[t+24>>2])&&er(a),Z=t- -64|0}if(!f)break r}f=He(vi(64),f),t=c[r+4>>2],r=f;e:{i:{if((0|(f=e))>=0){if(b=t+8|0,!((0|(a=(e=c[t+12>>2])-(p=c[t+8>>2])>>2))>(0|f)))if(A=f+1|0,f>>>0>=a>>>0)Or(b,A-a|0);else if(!(a>>>0<=A>>>0)){if((0|(A=p+(A<<2)|0))!=(0|e))for(;a=c[(e=e-4|0)>>2],c[e>>2]=0,a&&Zt[c[c[a>>2]+4>>2]](a),(0|e)!=(0|A););c[t+12>>2]=A}if(t=c[b>>2]+(f<<2)|0,e=c[t>>2],c[t>>2]=r,e)break i;break e}if(e=r,!r)break e}Zt[c[c[e>>2]+4>>2]](e)}R=(-1^f)>>>31|0}return Z=i+96|0,0|R}function B(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,s=0,y=0,v=0,h=d(0),R=d(0),T=0;r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=n[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=_[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)return 0;if((0|(f=A[e>>1]))<0)break e;if(A[(o<<1)+t>>1]=f,e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if((f=c[e>>2])+32768>>>0>65535)break e;if(A[(o<<1)+t>>1]=f,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if((f=c[e>>2])>>>0>32767)break e;if(A[(o<<1)+t>>1]=f,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,y=c[f+4>>2];;){if(e>>>0>=y>>>0)break e;if(b=c[e+4>>2],!(b=(u=(f=c[e>>2])+32768|0)>>>0<32768?b+1|0:b)&u>>>0>65535|b)break e;if(A[(o<<1)+t>>1]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(!(y=c[e+4>>2])&(f=c[e>>2])>>>0>32767|y)break e;if(A[(o<<1)+t>>1]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 8:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=s=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-s|0,!k[r+32|0]){if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(32767)|h<d(-32768)|h!=h)break t;if((R=d(m(h)))==d(1/0))break t;if(f=(e<<1)+t|0,u=R<d(2147483648)?~~h:-2147483648,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(32767)|h<d(-32768)|d(m(h))==d(1/0)|h!=h)break t;if(h<d(0)|h>d(1))break t;if(f=(e<<1)+t|0,v=N(32767*+h+.5),u=m(v)<2147483648?~~v:-2147483648,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}s=1,i>>>0<=f>>>0||Sr((f<<1)+t|0,0,i-f<<1)}return s;case 9:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=s=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-s|0,!k[r+32|0]){if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((v=l[o>>3])>=32767|v<-32768|v!=v)break t;if((T=m(v))==1/0)break t;if(u=T<2147483648?~~v:-2147483648,A[(f=(e<<1)+t|0)>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((v=l[o>>3])>=32767|v<-32768|m(v)==1/0|v!=v)break t;if(v<0|v>1)break t;if(f=(e<<1)+t|0,v=N(32767*v+.5),u=m(v)<2147483648?~~v:-2147483648,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}s=1,i>>>0<=f>>>0||Sr((f<<1)+t|0,0,i-f<<1)}return s;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}s=1,f>>>0>=a>>>0||Sr((f<<1)+t|0,0,(255&i)-f<<1)}return s}return Sr((f<<1)+t|0,0,(255&i)-f<<1),1}function M(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,s=0,y=0,v=0,h=d(0),R=d(0),T=0;r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=n[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=A[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=_[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=c[e>>2],e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)return 0;if((0|(f=c[e>>2]))<0)break e;if(c[(o<<2)+t>>2]=f,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,y=c[f+4>>2];;){if(e>>>0>=y>>>0)break e;if(b=c[e+4>>2],(f=c[e>>2])- -2147483648>>>0<2147483648?b+1|0:b)break e;if(c[(o<<2)+t>>2]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(!(y=c[e+4>>2])&(f=c[e>>2])>>>0>2147483647|y)break e;if(c[(o<<2)+t>>2]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(s=1,f>>>0>=a>>>0)break e;break r;case 8:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=s=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-s|0,!k[r+32|0]){if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(2147483648)|h<d(-2147483648)|h!=h)break t;if((R=d(m(h)))==d(1/0))break t;if(f=(e<<2)+t|0,u=R<d(2147483648)?~~h:-2147483648,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(2147483648)|h<d(-2147483648)|d(m(h))==d(1/0)|h!=h)break t;if(h<d(0)|h>d(1))break t;if(f=(e<<2)+t|0,v=N(2147483647*+h+.5),u=m(v)<2147483648?~~v:-2147483648,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}s=1,i>>>0<=f>>>0||Sr((f<<2)+t|0,0,i-f<<2)}return s;case 9:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=s=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-s|0,!k[r+32|0]){if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((v=l[o>>3])>=2147483647|v<-2147483648|v!=v)break t;if((T=m(v))==1/0)break t;if(u=T<2147483648?~~v:-2147483648,c[(f=(e<<2)+t|0)>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}if(s=0,(0|e)>=(0|f))break t;for(e=0;;){if((v=l[o>>3])>=2147483647|v<-2147483648|m(v)==1/0|v!=v)break t;if(v<0|v>1)break t;if(f=(e<<2)+t|0,v=N(2147483647*v+.5),u=m(v)<2147483648?~~v:-2147483648,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}s=1,i>>>0<=f>>>0||Sr((f<<2)+t|0,0,i-f<<2)}return s;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}s=1,f>>>0>=a>>>0||Sr((f<<2)+t|0,0,(255&i)-f<<2)}return s}return Sr((f<<2)+t|0,0,(255&i)-f<<2),1}function Q(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,s=0,y=0,v=0,h=d(0);r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)return 0;if((0|(f=n[0|e]))<0)break e;if(A[(o<<1)+t>>1]=255&f,e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)return 0;if((0|(f=A[e>>1]))<0)break e;if(A[(o<<1)+t>>1]=f,e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=_[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if((f=c[e>>2])>>>0>65535)break e;if(A[(o<<1)+t>>1]=f,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if((f=c[e>>2])>>>0>65535)break e;if(A[(o<<1)+t>>1]=f,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(!(y=c[e+4>>2])&(f=c[e>>2])>>>0>65535|y)break e;if(A[(o<<1)+t>>1]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(!(y=c[e+4>>2])&(f=c[e>>2])>>>0>65535|y)break e;if(A[(o<<1)+t>>1]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(v=1,f>>>0>=a>>>0)break e;break r;case 8:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=v=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-v|0,!k[r+32|0]){if(v=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(65535)|h<d(0)|d(m(h))==d(1/0)|h!=h)break t;if(f=(e<<1)+t|0,u=h<d(4294967296)&h>=d(0)?~~h>>>0:0,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}if(v=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(65535)|h<d(0)|d(m(h))==d(1/0)|h!=h)break t;if(h>d(1))break t;if(f=(e<<1)+t|0,u=(s=N(65535*+h+.5))<4294967296&s>=0?~~s>>>0:0,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}v=1,i>>>0<=f>>>0||Sr((f<<1)+t|0,0,i-f<<1)}return v;case 9:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=v=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-v|0,!k[r+32|0]){if(v=0,(0|e)>=(0|f))break t;for(e=0;;){if((s=l[o>>3])>=65535|s<0|m(s)==1/0|s!=s)break t;if(u=s<4294967296&s>=0?~~s>>>0:0,A[(f=(e<<1)+t|0)>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}if(v=0,(0|e)>=(0|f))break t;for(e=0;;){if((s=l[o>>3])>=65535|s<0|m(s)==1/0|s!=s)break t;if(s>1)break t;if(f=(e<<1)+t|0,u=(s=N(65535*s+.5))<4294967296&s>=0?~~s>>>0:0,A[f>>1]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}v=1,i>>>0<=f>>>0||Sr((f<<1)+t|0,0,i-f<<1)}return v;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],y=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+y|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(A[(o<<1)+t>>1]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}v=1,f>>>0>=a>>>0||Sr((f<<1)+t|0,0,(255&i)-f<<1)}return v}return Sr((f<<1)+t|0,0,(255&i)-f<<1),1}function g(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,s=0,y=d(0),v=0,R=0,V=d(0),U=0;r:if(t){e:{i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(f=(o<<3)+t|0,u=n[0|e],c[f>>2]=u,c[f+4>>2]=u>>31,e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(c[(f=(o<<3)+t|0)>>2]=k[0|e],c[f+4>>2]=0,e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(f=(o<<3)+t|0,u=A[e>>1],c[f>>2]=u,c[f+4>>2]=u>>31,e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(c[(f=(o<<3)+t|0)>>2]=_[e>>1],c[f+4>>2]=0,e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(f=(o<<3)+t|0,u=c[e>>2],c[f>>2]=u,c[f+4>>2]=u>>31,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(c[(f=(o<<3)+t|0)>>2]=c[e>>2],c[f+4>>2]=0,e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(u=c[e+4>>2],c[(f=(o<<3)+t|0)>>2]=c[e>>2],c[f+4>>2]=u,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(f=c[e>>2],(0|(u=c[e+4>>2]))<0)break r;if(c[(s=(o<<3)+t|0)>>2]=f,c[s+4>>2]=u,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 8:t:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a){if(k[r+32|0])break r;if(f=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=e+f|0,f=c[r>>2],(0|e)>=((u=c[f+4>>2])-(f=c[f>>2])|0))break r;for(o=e+f|0,b=255&i,e=0;;){if((y=p[o>>2])>=d(0x8000000000000000)|y<d(-0x8000000000000000)|y!=y)break r;if((V=d(m(y)))==d(1/0))break r;if(f=(e<<3)+t|0,V<d(0x8000000000000000)?(s=d(m(y))>=d(1)?~~(y>d(0)?d(h(d(N(d(y*d(2.3283064365386963e-10)))),d(4294967296))):d(T(d(d(y-d(~~y>>>0>>>0))*d(2.3283064365386963e-10)))))>>>0:0,R=~~y>>>0):(s=-2147483648,R=0),c[f>>2]=R,c[f+4>>2]=s,(e=e+1|0)>>>0>=((f=k[r+24|0])>>>0<b>>>0?f:b)>>>0)break t;if(!(u>>>0>(o=o+4|0)>>>0))break}break r}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 9:t:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a){if(k[r+32|0])break r;if(f=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=e+f|0,f=c[r>>2],(0|e)>=((u=c[f+4>>2])-(f=c[f>>2])|0))break r;for(o=e+f|0,b=255&i,e=0;;){if((v=l[o>>3])>=0x8000000000000000|v<-0x8000000000000000|v!=v)break r;if((U=m(v))==1/0)break r;if(f=(e<<3)+t|0,U<0x8000000000000000?(s=m(v)>=1?~~(v>0?h(N(2.3283064365386963e-10*v),4294967295):T(2.3283064365386963e-10*(v-+(~~v>>>0>>>0))))>>>0:0,R=~~v>>>0):(s=-2147483648,R=0),c[f>>2]=R,c[f+4>>2]=s,(e=e+1|0)>>>0>=((f=k[r+24|0])>>>0<b>>>0?f:b)>>>0)break t;if(!(u>>>0>(o=o+8|0)>>>0))break}break r}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0;break e;case 10:break i;default:break r}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],u=c[r+48>>2],s=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break r;if(c[(f=(o<<3)+t|0)>>2]=k[0|e],c[f+4>>2]=0,e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(f>>>0>=a>>>0)break r;t=(f<<3)+t|0,r=(255&i)-f|0}Sr(t,0,r<<3)}}function O(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,s=0,y=0,v=0,h=d(0);r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=n[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=A[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=_[e>>1],e=e+2|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=c[e>>2],e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=c[e>>2],e=e+4|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(f=c[e>>2],c[e+4>>2])break e;if(c[(o<<2)+t>>2]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(f=c[e>>2],c[e+4>>2])break e;if(c[(o<<2)+t>>2]=f,e=e+8|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 8:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=y=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-y|0,!k[r+32|0]){if(y=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(4294967296)|h<d(0)|d(m(h))==d(1/0)|h!=h)break t;if(f=(e<<2)+t|0,u=h<d(4294967296)&h>=d(0)?~~h>>>0:0,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}if(y=0,(0|e)>=(0|f))break t;for(e=0;;){if((h=p[o>>2])>=d(4294967296)|h<d(0)|d(m(h))==d(1/0)|h!=h)break t;if(h>d(1))break t;if(f=(e<<2)+t|0,u=(s=N(4294967295*+h+.5))<4294967296&s>=0?~~s>>>0:0,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+4|0)>>>0))break}break t}y=1,i>>>0<=f>>>0||Sr((f<<2)+t|0,0,i-f<<2)}return y;case 9:t:{f:if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i){if(f=c[r>>2],o=y=c[f>>2],a=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),o=(e=e+a|0)+o|0,f=(a=c[f+4>>2])-y|0,!k[r+32|0]){if(y=0,(0|e)>=(0|f))break t;for(e=0;;){if((s=l[o>>3])>=4294967295|s<0|m(s)==1/0|s!=s)break t;if(u=s<4294967296&s>=0?~~s>>>0:0,c[(f=(e<<2)+t|0)>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}if(y=0,(0|e)>=(0|f))break t;for(e=0;;){if((s=l[o>>3])>=4294967295|s<0|m(s)==1/0|s!=s)break t;if(s>1)break t;if(f=(e<<2)+t|0,u=(s=N(4294967295*s+.5))<4294967296&s>=0?~~s>>>0:0,c[f>>2]=u,(e=e+1|0)>>>0>=(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0)break f;if(!(a>>>0>(o=o+8|0)>>>0))break}break t}y=1,i>>>0<=f>>>0||Sr((f<<2)+t|0,0,i-f<<2)}return y;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],b=c[f>>2],v=c[r+48>>2],u=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+v|0)+b|0,b=c[f+4>>2];;){if(e>>>0>=b>>>0)break e;if(c[(o<<2)+t>>2]=k[0|e],e=e+1|0,!((o=o+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}y=1,f>>>0>=a>>>0||Sr((f<<2)+t|0,0,(255&i)-f<<2)}return y}return Sr((f<<2)+t|0,0,(255&i)-f<<2),1}function C(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0;r:{e:{i:{t:{f:if(c[r+92>>2]!=c[r+88>>2]){if((0|(i=c[r+52>>2]))==c[r+56>>2]){if((a=(t=(n=i-(A=c[r+48>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(f=n>>>1|0,n=n>>>0>=2147483644?1073741823:a>>>0<f>>>0?f:a){if(n>>>0>=1073741824)break t;f=vi(n<<2)}else f=0;if(c[(a=f+(t<<2)|0)>>2]=e,t=a+4|0,(0|i)!=(0|A))for(;i=i-4|0,c[(a=a-4|0)>>2]=c[i>>2],(0|i)!=(0|A););c[r+56>>2]=f+(n<<2),c[r+52>>2]=t,c[r+48>>2]=a,A&&er(A)}else c[i>>2]=e,c[r+52>>2]=i+4;c[r+84>>2]=0,i=-1,f=-1;a:if(-1!=(0|e)){if(t=c[r+4>>2],-1!=(0|(f=((f=e+1|0)>>>0)%3|0?f:e-2|0))&&(i=c[c[t>>2]+(f<<2)>>2]),(e>>>0)%3|0)_=e-1|0;else if(f=-1,-1==(0|(_=e+2|0)))break a;f=c[c[t>>2]+(_<<2)>>2]}if(b=f>>>3&536870908,t=c[r+36>>2],(n=c[(A=t+(i>>>3&536870908)|0)>>2])&(a=1<<i)||(c[A>>2]=a|n,mr(a=r+8|0,i,t=-1!=(0|e)?((t=e+1|0)>>>0)%3|0?t:e-2|0:-1),t=c[r+36>>2]),(t=c[(a=t+b|0)>>2])&(i=1<<f)||(c[a>>2]=i|t,i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0)),mr(t=r+8|0,f,i)),i=-1,i=-1!=(0|e)?c[c[c[r+4>>2]>>2]+(e<<2)>>2]:i,a=c[r+36>>2]+(i>>>3&536870908)|0,(t=c[a>>2])&(f=1<<i)||(c[a>>2]=t|f,mr(r+8|0,i,e)),!((0|(t=c[r+84>>2]))>2))for(;;){if(f=y(t,12)+r|0,(0|(e=c[f+52>>2]))==c[f+48>>2]){if(3!=(0|(t=t+1|0)))continue;break f}if(i=c[(e=e-4|0)>>2],c[f+52>>2]=e,c[r+84>>2]=t,-1==(0|i))break f;a=c[r+24>>2];a:if(!(c[a+((e=(i>>>0)/3|0)>>>3&268435452)>>2]>>>e&1)){n:{for(;;){c[(e=((k=(i>>>0)/3|0)>>>3&268435452)+a|0)>>2]=c[e>>2]|1<<k,t=-1;A:{o:{b:{u:{c:{k:{_:{s:{if(t=-1!=(0|i)?c[c[c[r+4>>2]>>2]+(i<<2)>>2]:t,a=c[r+36>>2]+(t>>>3&536870908)|0,!((f=c[a>>2])&(e=1<<t))){if(c[a>>2]=e|f,b=c[(c[c[r+16>>2]+96>>2]+y(k,12)|0)+((i>>>0)%3<<2)>>2],_=c[c[r+20>>2]+4>>2],(0|(a=c[_+4>>2]))==c[_+8>>2]){if((f=(n=(A=a-(u=c[_>>2])|0)>>2)+1|0)>>>0>=1073741824)break s;if(e=A>>>1|0,A=A>>>0>=2147483644?1073741823:e>>>0>f>>>0?e:f){if(A>>>0>=1073741824)break t;f=vi(A<<2)}else f=0;if(c[(e=f+(n<<2)|0)>>2]=b,n=e+4|0,(0|a)!=(0|u))for(;a=a-4|0,c[(e=e-4|0)>>2]=c[a>>2],(0|a)!=(0|u););c[_+8>>2]=f+(A<<2),c[_+4>>2]=n,c[_>>2]=e,u&&er(u)}else c[a>>2]=b,c[_+4>>2]=a+4;if(u=c[r+12>>2],(0|(a=c[u+4>>2]))==c[u+8>>2]){if((f=(n=(A=a-(b=c[u>>2])|0)>>2)+1|0)>>>0>=1073741824)break _;if(e=A>>>1|0,A=A>>>0>=2147483644?1073741823:e>>>0>f>>>0?e:f){if(A>>>0>=1073741824)break t;f=vi(A<<2)}else f=0;if(c[(e=f+(n<<2)|0)>>2]=i,n=e+4|0,(0|a)!=(0|b))for(;a=a-4|0,c[(e=e-4|0)>>2]=c[a>>2],(0|a)!=(0|b););c[u+8>>2]=f+(A<<2),c[u+4>>2]=n,c[u>>2]=e,b&&er(b)}else c[a>>2]=i,c[u+4>>2]=a+4;e=c[r+12>>2],c[c[e+12>>2]+(t<<2)>>2]=c[e+24>>2],c[e+24>>2]=c[e+24>>2]+1}if(-1==(0|i))break n;n=c[r+4>>2],a=-1,-1!=(0|(e=((e=i+1|0)>>>0)%3|0?e:i-2|0))&&(a=c[c[n+12>>2]+(e<<2)>>2]);p:{if((0|y(k,3))==(0|i)){if(t=i+2|0,i=-1,-1==(0|t))break p}else t=i-1|0;i=c[c[n+12>>2]+(t<<2)>>2]}if(t=-1==(0|i),f=(i>>>0)/3|0,-1!=(0|a)){if(e=(a>>>0)/3|0,e=c[c[r+24>>2]+(e>>>3&268435452)>>2]&1<<e,t)break k;_=!!(0|e);break c}if(_=1,!t)break c;break n}mt(),o()}mt(),o()}if(!e)break u;break n}if(e=t?-1:f,!(c[c[r+24>>2]+(e>>>3&536870908)>>2]>>>e&1)){if(k=0,e=c[c[n>>2]+(i<<2)>>2],c[c[r+36>>2]+(e>>>3&536870908)>>2]>>>e&1||(e=c[r+88>>2]+(e<<2)|0,f=c[e>>2],c[e>>2]=f+1,k=(0|f)<=0?2:1),c[r+84>>2]>=(0|k)&_)break o;if(u=y(k,12)+r|0,(0|(e=c[u+52>>2]))==c[u+56>>2]){if((n=(t=(A=e-(b=c[u+48>>2])|0)>>2)+1|0)>>>0>=1073741824)break i;if(f=A>>>1|0,n=A>>>0>=2147483644?1073741823:f>>>0>n>>>0?f:n){if(n>>>0>=1073741824)break t;f=vi(n<<2)}else f=0;if(c[(t=f+(t<<2)|0)>>2]=i,i=t+4|0,(0|e)!=(0|b))for(;e=e-4|0,c[(t=t-4|0)>>2]=c[e>>2],(0|e)!=(0|b););c[u+48>>2]=t,c[u+52>>2]=i,c[u+56>>2]=f+(n<<2),b&&er(b)}else c[e>>2]=i,c[u+52>>2]=e+4;c[r+84>>2]<=(0|k)||(c[r+84>>2]=k)}if(_)break n;if(i=-1,-1==(0|a))break b}i=c[c[c[r+4>>2]>>2]+(a<<2)>>2]}if(e=0,c[c[r+36>>2]+(i>>>3&536870908)>>2]>>>i&1||(e=c[r+88>>2]+(i<<2)|0,i=c[e>>2],c[e>>2]=i+1,e=(0|i)<=0?2:1),c[r+84>>2]<(0|e))break A;i=a}a=c[r+24>>2];continue}break}if(k=y(e,12)+r|0,(0|(i=c[k+52>>2]))==c[k+56>>2]){if((n=(t=(A=i-(b=c[k+48>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(f=A>>>1|0,n=A>>>0>=2147483644?1073741823:f>>>0>n>>>0?f:n){if(n>>>0>=1073741824)break t;f=vi(n<<2)}else f=0;if(c[(t=f+(t<<2)|0)>>2]=a,a=t+4|0,(0|i)!=(0|b))for(;i=i-4|0,c[(t=t-4|0)>>2]=c[i>>2],(0|i)!=(0|b););c[k+48>>2]=t,c[k+52>>2]=a,c[k+56>>2]=f+(n<<2),b&&er(b)}else c[i>>2]=a,c[k+52>>2]=i+4;if((0|(t=c[r+84>>2]))<=(0|e))break a;c[r+84>>2]=e,t=e;break a}t=c[r+84>>2]}if(!((0|t)<3))break}}return 1}Zi(),o()}mt(),o()}mt(),o()}mt(),o()}function z(r){var e,i=0,t=0,f=0,a=0,n=0;Z=e=Z-16|0,c[e+12>>2]=r;r:if(r>>>0<=211)f=c[Ce(10352,10544,e+12|0)>>2];else for(r>>>0>=4294967292&&(U(),o()),f=y(a=(r>>>0)/210|0,210),c[e+8>>2]=r-f,n=Ce(10544,10736,e+8|0)-10544>>2;;){for(f=c[10544+(n<<2)>>2]+f|0,r=5;;){e:if(47!=(0|r)){if((i=c[10352+(r<<2)>>2])>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if(r=r+1|0,(0|y(i,t))!=(0|f))continue}else for(r=211;;){if((i=(f>>>0)/(r>>>0)|0)>>>0<r>>>0)break r;if((0|y(r,i))==(0|f))break e;if((i=r+10|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+12|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+16|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+18|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+22|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+28|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+30|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+36|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+40|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+42|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+46|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+52|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+58|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+60|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+66|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+70|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+72|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+78|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+82|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+88|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+96|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+100|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+102|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+106|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+108|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+112|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+120|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+126|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+130|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+136|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+138|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+142|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+148|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+150|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+156|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+162|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+166|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+168|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+172|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+178|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+180|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+186|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+190|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+192|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+196|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+198|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if((0|y(i,t))==(0|f))break e;if((i=r+208|0)>>>0>(t=(f>>>0)/(i>>>0)|0)>>>0)break r;if(r=r+210|0,(0|y(i,t))==(0|f))break}break}n=(r=48==(0|(f=n+1|0)))?0:f,f=y(a=r+a|0,210)}return Z=e+16|0,f}function X(r,e,i,t){var f=0,a=0,o=0,b=0,u=0,y=d(0),m=0;r:if(t){e:{i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(n[0|e]),p[(b<<2)+t>>2]=u?d(y/d(127)):y,e=e+1|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(k[0|e]),p[(b<<2)+t>>2]=u?d(y/d(255)):y,e=e+1|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(A[e>>1]),p[(b<<2)+t>>2]=u?d(y/d(32767)):y,e=e+2|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(_[e>>1]),p[(b<<2)+t>>2]=u?d(y/d(65535)):y,e=e+2|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(c[e>>2]),p[(b<<2)+t>>2]=u?d(y*d(4.656612873077393e-10)):y,e=e+4|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(s[e>>2]),p[(b<<2)+t>>2]=u?d(y*d(2.3283064365386963e-10)):y,e=e+4|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(+s[e>>2]+4294967296*+c[e+4>>2]),p[(b<<2)+t>>2]=u?d(y*d(10842021724855044e-35)):y,e=e+8|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2],u=k[r+32|0];;){if(e>>>0>=o>>>0)break r;if(y=d(+s[e>>2]+4294967296*+s[e+4>>2]),p[(b<<2)+t>>2]=u?d(y*d(5.421010862427522e-20)):y,e=e+8|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 8:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2];;){if(e>>>0>=o>>>0)break r;if(p[(b<<2)+t>>2]=p[e>>2],e=e+4|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 9:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2];;){if(e>>>0>=o>>>0)break r;if(p[(b<<2)+t>>2]=l[e>>3],e=e+8|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0;break e;case 10:break i;default:break r}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[r>>2],o=c[f>>2],u=c[r+48>>2],e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+u|0)+o|0,o=c[f+4>>2];;){if(e>>>0>=o>>>0)break r;if(p[(b<<2)+t>>2]=k[0|e]?d(1):d(0),e=e+1|0,!((b=b+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(m=1,f>>>0>=a>>>0)break r;t=(f<<2)+t|0,r=(255&i)-f|0}Sr(t,0,r<<2)}return m}function S(r,e,i,t){var f=0,a=0,A=0,o=0,b=0,u=0,y=0,v=d(0),h=d(0);r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(n[t+A|0]=k[0|e],e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)return 0;if((0|(f=n[0|e]))<0)break e;if(n[t+A|0]=f,e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(((f=_[e>>1])+128&65535)>>>0>255)break e;if(n[t+A|0]=f,e=e+2|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=_[e>>1])>>>0>127)break e;if(n[t+A|0]=f,e=e+2|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=c[e>>2])+128>>>0>255)break e;if(n[t+A|0]=f,e=e+4|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=c[e>>2])>>>0>127)break e;if(n[t+A|0]=f,e=e+4|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(b=c[e+4>>2],!(b=(o=(f=c[e>>2])+128|0)>>>0<128?b+1|0:b)&o>>>0>255|b)break e;if(n[t+A|0]=f,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(!(b=c[e+4>>2])&(f=c[e>>2])>>>0>127|b)break e;if(n[t+A|0]=f,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 8:t:{if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i)for(f=c[c[r>>2]>>2],a=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+a|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break t;if((v=p[e>>2])>=d(127)|v<d(-128)|v!=v)break t;if((h=d(m(v)))==d(1/0))break t;f=t+A|0;f:{a:{if(k[r+32|0]){if(v<d(0)|v>d(1))break t;if(u=N(127*+v+.5),!(m(u)<2147483648))break a;o=~~u;break f}if(h<d(2147483648)){o=~~v;break f}}o=-2147483648}if(n[0|f]=o,e=e+4|0,!((A=A+1|0)>>>0<(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0))break}y=1,i>>>0<=f>>>0||Sr(t+f|0,0,i-f|0)}return y;case 9:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((u=l[e>>3])>=127|u<-128|m(u)==1/0|u!=u)break e;if(f=t+A|0,k[r+32|0]){if(u<0|u>1)break e;u=N(127*u+.5)}if(o=m(u)<2147483648?~~u:-2147483648,n[0|f]=o,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(n[t+A|0]=k[0|e],e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}y=1,f>>>0>=a>>>0||Sr(t+f|0,0,(255&i)-f|0)}return y}return Sr(t+f|0,0,(255&i)-f|0),1}function H(r,e,i,t){var f=0,a=0,A=0,o=0,b=0,u=0,y=0,v=d(0);r:{e:if(t){i:switch(c[r+28>>2]-1|0){case 0:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)return 0;if((0|(f=n[0|e]))<0)break e;if(n[t+A|0]=f,e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 1:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(n[t+A|0]=k[0|e],e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 2:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=_[e>>1])>>>0>255)break e;if(n[t+A|0]=f,e=e+2|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 3:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=_[e>>1])>>>0>255)break e;if(n[t+A|0]=f,e=e+2|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 4:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=c[e>>2])>>>0>255)break e;if(n[t+A|0]=f,e=e+4|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 5:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((f=c[e>>2])>>>0>255)break e;if(n[t+A|0]=f,e=e+4|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 6:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(!(b=c[e+4>>2])&(f=c[e>>2])>>>0>255|b)break e;if(n[t+A|0]=f,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 7:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(!(b=c[e+4>>2])&(f=c[e>>2])>>>0>255|b)break e;if(n[t+A|0]=f,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 8:t:{if((i&=255)>>>0>(f=k[r+24|0])>>>0?f:i)for(f=c[c[r>>2]>>2],a=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+a|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break t;if((v=p[e>>2])>=d(255)|v<d(0)|d(m(v))==d(1/0)|v!=v)break t;f=t+A|0;f:{a:{if(k[r+32|0]){if(v>d(1))break t;if(!((u=N(255*+v+.5))<4294967296&u>=0))break a;o=~~u>>>0;break f}if(v<d(4294967296)&v>=d(0)){o=~~v>>>0;break f}}o=0}if(n[0|f]=o,e=e+4|0,!((A=A+1|0)>>>0<(i>>>0>(f=k[r+24|0])>>>0?f:i)>>>0))break}y=1,i>>>0<=f>>>0||Sr(t+f|0,0,i-f|0)}return y;case 9:if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if((u=l[e>>3])>=255|u<0|m(u)==1/0|u!=u)break e;if(f=t+A|0,k[r+32|0]){if(u>1)break e;u=N(255*u+.5)}if(o=u<4294967296&u>=0?~~u>>>0:0,n[0|f]=o,e=e+8|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}if(y=1,f>>>0>=a>>>0)break e;break r;case 10:break i;default:break e}if((f=k[r+24|0])>>>0<(a=255&i)>>>0?f:a)for(f=c[c[r>>2]>>2],b=c[r+48>>2],o=e=$e(c[r+40>>2],c[r+44>>2],e,0),e=(e=e+b|0)+f|0;;){if(s[c[r>>2]+4>>2]<=e>>>0)break e;if(n[t+A|0]=k[0|e],e=e+1|0,!((A=A+1|0)>>>0<((f=k[r+24|0])>>>0<a>>>0?f:a)>>>0))break}y=1,f>>>0>=a>>>0||Sr(t+f|0,0,(255&i)-f|0)}return y}return Sr(t+f|0,0,(255&i)-f|0),1}function P(r,e,i){var t,f=0,a=0,b=0,u=0,p=0;Z=t=Z-48|0,a=_[5053]|_[5054]<<16,f=_[5051]|_[5052]<<16,A[t+38>>1]=f,A[t+40>>1]=f>>>16,A[t+42>>1]=a,A[t+44>>1]=a>>>16,f=c[2525],c[t+32>>2]=c[2524],c[t+36>>2]=f,f=c[2523],c[t+24>>2]=c[2522],c[t+28>>2]=f,f=c[2521],c[t+16>>2]=c[2520],c[t+20>>2]=f,b=c[e+8>>2],p=c[e+12>>2],u=c[e+20>>2];r:{e:if(b>>>0<(a=(f=c[e+16>>2])+5|0)>>>0&(0|(u=a>>>0<5?u+1|0:u))>=(0|p)|(0|u)>(0|p)){if((f=Xe(t+16|0))>>>0>=2147483632)break r;i:{if(f>>>0>=11)i=vi(e=1+(15|f)|0),c[t+8>>2]=-2147483648|e,c[t>>2]=i,c[t+4>>2]=f,e=i+f|0;else if(n[t+11|0]=f,e=f+t|0,i=t,!f)break i;hr(i,t+16|0,f)}if(n[0|e]=0,c[r>>2]=-2,e=r+4|0,n[t+11|0]>=0){r=c[t+4>>2],c[e>>2]=c[t>>2],c[e+4>>2]=r,c[e+8>>2]=c[t+8>>2];break e}if(me(e,c[t>>2],c[t+4>>2]),n[t+11|0]>=0)break e;er(c[t>>2])}else if(a=f+c[e>>2]|0,f=k[0|a]|k[a+1|0]<<8|k[a+2|0]<<16|k[a+3|0]<<24,n[0|i]=f,n[i+1|0]=f>>>8,n[i+2|0]=f>>>16,n[i+3|0]=f>>>24,n[i+4|0]=k[a+4|0],f=c[e+20>>2],f=(a=c[e+16>>2]+5|0)>>>0<5?f+1|0:f,c[e+16>>2]=a,c[e+20>>2]=f,Ye(i,1250,5))f=vi(32),n[f+17|0]=0,n[f+16|0]=k[1494],i=k[1490]|k[1491]<<8|k[1492]<<16|k[1493]<<24,e=k[1486]|k[1487]<<8|k[1488]<<16|k[1489]<<24,n[f+8|0]=e,n[f+9|0]=e>>>8,n[f+10|0]=e>>>16,n[f+11|0]=e>>>24,n[f+12|0]=i,n[f+13|0]=i>>>8,n[f+14|0]=i>>>16,n[f+15|0]=i>>>24,i=k[1482]|k[1483]<<8|k[1484]<<16|k[1485]<<24,e=k[1478]|k[1479]<<8|k[1480]<<16|k[1481]<<24,n[0|f]=e,n[f+1|0]=e>>>8,n[f+2|0]=e>>>16,n[f+3|0]=e>>>24,n[f+4|0]=i,n[f+5|0]=i>>>8,n[f+6|0]=i>>>16,n[f+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,f,17),er(f);else if((0|(b=c[e+12>>2]))<=(0|f)&s[e+8>>2]<=a>>>0|(0|f)>(0|b)){if((f=Xe(t+16|0))>>>0>=2147483632)break r;i:{if(f>>>0>=11)i=vi(e=1+(15|f)|0),c[t+8>>2]=-2147483648|e,c[t>>2]=i,c[t+4>>2]=f,e=i+f|0;else if(n[t+11|0]=f,e=f+t|0,i=t,!f)break i;hr(i,t+16|0,f)}if(n[0|e]=0,c[r>>2]=-2,e=r+4|0,n[t+11|0]>=0){r=c[t+4>>2],c[e>>2]=c[t>>2],c[e+4>>2]=r,c[e+8>>2]=c[t+8>>2];break e}if(me(e,c[t>>2],c[t+4>>2]),n[t+11|0]>=0)break e;er(c[t>>2])}else if(n[i+5|0]=k[a+c[e>>2]|0],b=c[e+20>>2],b=(f=c[e+16>>2]+1|0)?b:b+1|0,c[e+16>>2]=f,c[e+20>>2]=b,(0|(a=c[e+12>>2]))<=(0|b)&s[e+8>>2]<=f>>>0|(0|b)>(0|a)){if((f=Xe(t+16|0))>>>0>=2147483632)break r;i:{if(f>>>0>=11)i=vi(e=1+(15|f)|0),c[t+8>>2]=-2147483648|e,c[t>>2]=i,c[t+4>>2]=f,e=i+f|0;else if(n[t+11|0]=f,e=f+t|0,i=t,!f)break i;hr(i,t+16|0,f)}if(n[0|e]=0,c[r>>2]=-2,e=r+4|0,n[t+11|0]>=0){r=c[t+4>>2],c[e>>2]=c[t>>2],c[e+4>>2]=r,c[e+8>>2]=c[t+8>>2];break e}if(me(e,c[t>>2],c[t+4>>2]),n[t+11|0]>=0)break e;er(c[t>>2])}else if(n[i+6|0]=k[f+c[e>>2]|0],u=c[e+20>>2],u=(f=c[e+16>>2]+1|0)?u:u+1|0,c[e+16>>2]=f,c[e+20>>2]=u,(0|(a=c[e+12>>2]))<=(0|u)&s[e+8>>2]<=f>>>0|(0|a)<(0|u)){if((f=Xe(t+16|0))>>>0>=2147483632)break r;i:{if(f>>>0>=11)i=vi(e=1+(15|f)|0),c[t+8>>2]=-2147483648|e,c[t>>2]=i,c[t+4>>2]=f,e=i+f|0;else if(n[t+11|0]=f,e=f+t|0,i=t,!f)break i;hr(i,t+16|0,f)}if(n[0|e]=0,c[r>>2]=-2,e=r+4|0,n[t+11|0]>=0){r=c[t+4>>2],c[e>>2]=c[t>>2],c[e+4>>2]=r,c[e+8>>2]=c[t+8>>2];break e}if(me(e,c[t>>2],c[t+4>>2]),n[t+11|0]>=0)break e;er(c[t>>2])}else if(n[i+7|0]=k[f+c[e>>2]|0],b=c[e+20>>2],b=(f=c[e+16>>2]+1|0)?b:b+1|0,c[e+16>>2]=f,c[e+20>>2]=b,(0|(a=c[e+12>>2]))<=(0|b)&s[e+8>>2]<=f>>>0|(0|b)>(0|a)){if(i=Pe(t,t+16|0),c[r>>2]=-2,e=r+4|0,n[i+11|0]>=0){r=c[i+4>>2],c[e>>2]=c[i>>2],c[e+4>>2]=r,c[e+8>>2]=c[i+8>>2];break e}if(me(e,c[i>>2],c[i+4>>2]),n[i+11|0]>=0)break e;er(c[i>>2])}else if(n[i+8|0]=k[f+c[e>>2]|0],f=c[e+20>>2],p=(a=(b=c[e+16>>2])+1|0)?f:f+1|0,c[e+16>>2]=a,c[e+20>>2]=p,(b=b+3|0)>>>0>(p=c[e+8>>2])>>>0&(0|(f=b>>>0<3?f+1|0:f))>=(0|(u=c[e+12>>2]))|(0|f)>(0|u)){if(i=Pe(t,t+16|0),c[r>>2]=-2,e=r+4|0,n[i+11|0]>=0){r=c[i+4>>2],c[e>>2]=c[i>>2],c[e+4>>2]=r,c[e+8>>2]=c[i+8>>2];break e}if(me(e,c[i>>2],c[i+4>>2]),n[i+11|0]>=0)break e;er(c[i>>2])}else f=i,i=c[e>>2]+a|0,A[f+10>>1]=k[0|i]|k[i+1|0]<<8,b=c[e+20>>2],b=(i=c[e+16>>2]+2|0)>>>0<2?b+1|0:b,c[e+16>>2]=i,c[e+20>>2]=b,c[r+8>>2]=0,c[r+12>>2]=0,c[r>>2]=0,c[r+4>>2]=0;return void(Z=t+48|0)}yt(),o()}function x(r,e,i){e|=0,i|=0;var t,f=0,a=0,A=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0;Z=t=Z-96|0,a=c[(r|=0)+16>>2],n[t+92|0]=1,c[t+88>>2]=e,c[t+84>>2]=e,c[t+80>>2]=a,_=c[r+20>>2],f=c[_>>2];r:{e:{if((a=c[c[a+28>>2]+(e<<2)>>2])>>>0<c[_+4>>2]-f>>2>>>0){if(f=c[c[r+8>>2]+(c[f+(a<<2)>>2]<<2)>>2],a=c[r+4>>2],k[a+84|0]||(f=c[c[a+68>>2]+(f<<2)>>2]),c[t+72>>2]=0,c[t+76>>2]=0,c[(_=t- -64|0)>>2]=0,c[_+4>>2]=0,c[t+56>>2]=0,c[t+60>>2]=0,g(a,f,n[a+24|0],t+56|0),-1!=(0|e))for(_=((a=e+1|0)>>>0)%3|0?a:e-2|0,l=((e>>>0)%3|0?-1:2)+e|0;;){if(f=_,a=l,c[r+28>>2]&&(f=((a=e+1|0)>>>0)%3|0?a:e-2|0,a=e-1|0,(e>>>0)%3|0||(a=e+2|0)),y=c[r+20>>2],e=c[y>>2],(f=c[c[c[r+16>>2]+28>>2]+(f<<2)>>2])>>>0>=c[y+4>>2]-e>>2>>>0)break e;if(f=c[c[r+8>>2]+(c[e+(f<<2)>>2]<<2)>>2],e=c[r+4>>2],k[e+84|0]||(f=c[c[e+68>>2]+(f<<2)>>2]),c[t+48>>2]=0,c[t+52>>2]=0,c[t+40>>2]=0,c[t+44>>2]=0,c[t+32>>2]=0,c[t+36>>2]=0,g(e,f,n[e+24|0],t+32|0),f=c[r+20>>2],e=c[f>>2],(a=c[c[c[r+16>>2]+28>>2]+(a<<2)>>2])>>>0>=c[f+4>>2]-e>>2>>>0)break r;f=c[c[r+8>>2]+(c[e+(a<<2)>>2]<<2)>>2],e=c[r+4>>2],k[e+84|0]||(f=c[c[e+68>>2]+(f<<2)>>2]),c[t+24>>2]=0,c[t+28>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,g(e,f,n[e+24|0],t+8|0),f=(A=c[t+8>>2])-(e=c[t+56>>2])|0,m=c[t+60>>2],N=c[t+12>>2]-(m+(e>>>0>A>>>0)|0)|0,y=(b=c[t+40>>2])-(a=c[t+64>>2])|0,T=c[t+68>>2],A=$e(f,N,y,W=c[t+44>>2]-(T+(a>>>0>b>>>0)|0)|0),U=u-(E+(A>>>0>d>>>0)|0)|0,d=(u=V=d-A|0)+(e=$e(A=(b=c[t+16>>2])-a|0,T=c[t+20>>2]-((a>>>0>b>>>0)+T|0)|0,b=(s=c[t+32>>2])-e|0,V=c[t+36>>2]-((e>>>0>s>>>0)+m|0)|0))|0,u=E+U|0,u=e>>>0>d>>>0?u+1|0:u,e=p,p=f,m=N,f=(s=c[t+48>>2])-(a=c[t+72>>2])|0,N=c[t+76>>2],s=e+(p=$e(p,m,f,U=c[t+52>>2]-(N+(a>>>0>s>>>0)|0)|0))|0,e=E+v|0,e=s>>>0<p>>>0?e+1|0:e,p=s-(v=$e(m=(p=c[t+24>>2])-a|0,a=c[t+28>>2]-((a>>>0>p>>>0)+N|0)|0,b,V))|0,v=e-(E+(s>>>0<v>>>0)|0)|0,f=h-(e=$e(A,T,f,U))|0,e=R-(E+(e>>>0>h>>>0)|0)|0,R=$e(m,a,y,W),e=E+e|0,R=(h=R+f|0)>>>0<R>>>0?e+1|0:e,e=c[t+88>>2],a=c[t+80>>2];i:if(k[t+92|0]){t:{if(-1==(0|e)||-1==(0|(e=((f=e+1|0)>>>0)%3|0?f:e-2|0))|c[c[a>>2]+(e>>>3&536870908)>>2]>>>e&1||-1==(0|(e=c[c[c[a+64>>2]+12>>2]+(e<<2)>>2])))c[t+88>>2]=-1;else if(e=((f=e+1|0)>>>0)%3|0?f:e-2|0,c[t+88>>2]=e,-1!=(0|e))break t;f=-1;f:if(-1!=(0|(e=c[t+84>>2]))){if((e>>>0)%3|0)e=e-1|0;else if(f=-1,-1==(0|(e=e+2|0)))break f;f=-1,c[c[a>>2]+(e>>>3&536870908)>>2]>>>e&1||(f=-1,-1!=(0|(e=c[c[c[a+64>>2]+12>>2]+(e<<2)>>2]))&&(f=e-1|0,(e>>>0)%3|0||(f=e+2|0)))}n[t+92|0]=0,c[t+88>>2]=f;break i}if((0|e)!=c[t+84>>2])break i;c[t+88>>2]=-1}else{f=-1;t:if(-1!=(0|e)){if((e>>>0)%3|0)e=e-1|0;else if(f=-1,-1==(0|(e=e+2|0)))break t;f=-1,c[c[a>>2]+(e>>>3&536870908)>>2]>>>e&1||(f=-1,-1!=(0|(e=c[c[c[a+64>>2]+12>>2]+(e<<2)>>2]))&&(f=e-1|0,(e>>>0)%3|0||(f=e+2|0)))}c[t+88>>2]=f}if(-1==(0|(e=c[t+88>>2])))break}f=(a=(e=R>>31)^h)-e|0,e=(e^R)-((e>>>0>a>>>0)+e|0)|0,l=-1,a=2147483647,s=-1^(_=(b=(A=v>>31)^p)-A|0),A=2147483647^(b=y=(A^v)-((b>>>0<A>>>0)+A|0)|0),y=u;i:{if(c[r+28>>2]){if(!((0|e)==(0|A)&f>>>0>s>>>0|e>>>0>A>>>0)&&(e=e+b|0,e=(r=f+_|0)>>>0<_>>>0?e+1|0:e,s=u,u=(b=(f=u>>31)^d)-f|0,!((0|(A=2147483647^(_=(f^s)-((f>>>0>b>>>0)+f|0)|0)))==(0|e)&(f=r)>>>0>(-1^(r=u))>>>0|e>>>0>A>>>0)&&(e=e+_|0,a=e=(l=r+f|0)>>>0<r>>>0?e+1|0:e,!e&l>>>0<536870913)))break i;e=a>>>29|0,r=(536870911&a)<<3|l>>>29}else{if((0|e)==(0|A)&f>>>0>s>>>0|e>>>0>A>>>0)break i;if(e=e+b|0,e=(r=f+_|0)>>>0<_>>>0?e+1|0:e,a=r,u=r=(l=(f=r=(A=u)>>31)^d)-f|0,f=(f^A)-((f>>>0>l>>>0)+f|0)|0,r=r+a|0,!(0&(u=(0|(f^=2147483647))==(0|e)&(-1^u)>>>0<a>>>0|e>>>0>f>>>0))&(0|(r=u?-1:r))<=536870912|(0|r)<536870912)break i;e=0,r=r>>>29|0}d=Ke(d,y,r,e),p=Ke(p,v,r,e),h=Ke(h,R,r,e)}return c[i+8>>2]=d,c[i+4>>2]=p,c[i>>2]=h,void(Z=t+96|0)}dt(),o()}dt(),o()}dt(),o()}function L(r,e,i){var t,f=0,a=0,n=0,A=0,o=0,b=0,u=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0;Z=t=Z+-64|0,c[t+56>>2]=0,c[t+48>>2]=0,c[t+52>>2]=0,c[t+40>>2]=0,c[t+44>>2]=0,c[t+32>>2]=0,c[t+36>>2]=0,c[t+24>>2]=0,c[t+28>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,A=t+8|0;r:{e:if(_[e+38>>1]&&Ze(1,A+12|0,e)&&!((b=(a=c[e+8>>2])-(n=c[e+16>>2])|0)>>>0<(u=c[A+12>>2])>>>6>>>0&(0|(a=c[e+12>>2]-(c[e+20>>2]+(a>>>0<n>>>0)|0)|0))<=0|(0|a)<0)){if(a=c[A>>2],(f=c[A+4>>2]-a>>2)>>>0<u>>>0?(_e(A,u-f|0),u=c[A+12>>2]):f>>>0<=u>>>0||(c[A+4>>2]=a+(u<<2)),o=1,!u)break r;for(a=c[e+16>>2],f=c[e+20>>2],h=c[A>>2],s=c[e+8>>2],d=c[e+12>>2],b=0;;){if(o=0,(0|f)>=(0|d)&a>>>0>=s>>>0|(0|f)>(0|d))break r;o=c[e>>2],m=k[o+a|0],f=(a=a+1|0)?f:f+1|0,c[e+16>>2]=a,c[e+20>>2]=f,n=m>>>2|0,p=0;i:{t:{f:{a:switch(0|(R=3&m)){case 3:break a;case 0:break t;default:break f}if(o=0,(n=n+b|0)>>>0>=u>>>0)break r;Sr(h+(b<<2)|0,0,4+(252&m)|0),b=n;break i}for(;;){if((0|a)==(0|s)&(0|f)==(0|d))break e;if(u=k[a+o|0],f=(a=a+1|0)?f:f+1|0,c[e+16>>2]=a,c[e+20>>2]=f,n|=u<<(p<<3|6),(0|R)==(0|(p=p+1|0)))break}}c[h+(b<<2)>>2]=n}if(!((b=b+1|0)>>>0<(u=c[A+12>>2])>>>0))break}if(f=A+16|0,d=c[A>>2],n=c[A+16>>2],(a=c[A+20>>2]-n|0)>>>0<=4194303?_e(f,1048576-(a>>>2|0)|0):4194304!=(0|a)&&(c[A+20>>2]=n+4194304),b=c[(a=A+28|0)>>2],(n=c[A+32>>2]-b>>3)>>>0<u>>>0)ye(a,u-n|0),b=c[a>>2];else if(n>>>0>u>>>0&&(c[A+32>>2]=(u<<3)+b),!u)break e;for(s=c[f>>2],f=0,o=0;;){if(A=c[(a=d+(f<<2)|0)>>2],n=o,c[(p=(f<<3)+b|0)+4>>2]=n,c[p>>2]=A,(o=(a=c[a>>2])+n|0)>>>0>1048576)break e;if(!(n>>>0>=o>>>0)){if(p=0,A=7&a)for(;c[s+(n<<2)>>2]=f,n=n+1|0,(0|A)!=(0|(p=p+1|0)););if(!(a-1>>>0<=6))for(;c[(a=s+(n<<2)|0)>>2]=f,c[a+28>>2]=f,c[a+24>>2]=f,c[a+20>>2]=f,c[a+16>>2]=f,c[a+12>>2]=f,c[a+8>>2]=f,c[a+4>>2]=f,(0|o)!=(0|(n=n+8|0)););}if((0|u)==(0|(f=f+1|0)))break}l=1048576==(0|o)}o=l}if(!(!o|(c[t+20>>2]?0:r))){o=0,Z=b=Z-16|0;r:if(Re(1,b+8|0,e)&&(s=(f=c[e+8>>2])-(n=c[e+16>>2])|0,l=c[b+12>>2],A=c[e+20>>2],!((0|l)==(0|(f=c[e+12>>2]-(A+(f>>>0<n>>>0)|0)|0))&(a=c[b+8>>2])>>>0>s>>>0|f>>>0<l>>>0||(f=A+l|0,f=(s=a+n|0)>>>0<n>>>0?f+1|0:f,c[e+16>>2]=s,c[e+20>>2]=f,(0|a)<=0)))){e=n+c[e>>2]|0,c[t+48>>2]=e;e:if((s=k[0|(n=(f=a-1|0)+e|0)])>>>0<=63)c[t+52>>2]=f,e=63&k[0|n];else{i:switch((s>>>6|0)-1|0){case 0:if(a>>>0<2)break r;f=a-2|0,c[t+52>>2]=f,e=k[(e=e+f|0)+1|0]<<8&16128|k[0|e];break e;case 1:if(a>>>0<3)break r;f=a-3|0,c[t+52>>2]=f,e=k[(e=e+f|0)+1|0]<<8|k[e+2|0]<<16&4128768|k[0|e];break e;default:break i}f=a-4|0,c[t+52>>2]=f,e=1073741823&(k[0|(e=e+f|0)]|k[e+1|0]<<8|k[e+2|0]<<16|k[e+3|0]<<24)}c[t+56>>2]=e+4194304,o=e>>>0<1069547520}if(Z=b+16|0,o)if(r)for(e=c[t+52>>2],n=c[t+56>>2],f=c[t+36>>2],a=c[t+48>>2],b=c[t+24>>2];;){r:if(!(n>>>0>4194303))for(;;){if((0|e)<=0)break r;if(e=e-1|0,c[t+52>>2]=e,n=k[e+a|0]|n<<8,c[t+56>>2]=n,!(n>>>0<4194304))break}if(s=c[b+((o=1048575&n)<<2)>>2],n=(y(c[(l=f+(s<<3)|0)>>2],n>>>20|0)+o|0)-c[l+4>>2]|0,c[t+56>>2]=n,c[(v<<2)+i>>2]=s,N=1,(0|(v=v+1|0))==(0|r))break}else N=1}return(r=c[t+36>>2])&&(c[t+40>>2]=r,er(r)),(r=c[t+24>>2])&&(c[t+28>>2]=r,er(r)),(r=c[t+8>>2])&&(c[t+12>>2]=r,er(r)),Z=t- -64|0,N}function K(r,e){var i=0,t=0,f=0,a=0,A=0,b=0,u=0;if((a=((i=c[r+4>>2])-(f=c[r>>2])|0)/144|0)>>>0<e>>>0)if(f=r,(e=e-a|0)>>>0<=((b=c[r+8>>2])-(i=c[r+4>>2])|0)/144>>>0){if(e){if(r=i,a=7&e)for(;ue(r),r=r+144|0,(0|a)!=(0|(t=t+1|0)););if(i=y(e,144)+i|0,!((e-1&268435455)>>>0<7))for(;ue(r),ue(r+144|0),ue(r+288|0),ue(r+432|0),ue(r+576|0),ue(r+720|0),ue(r+864|0),ue(r+1008|0),(0|i)!=(0|(r=r+1152|0)););}c[f+4>>2]=i}else{r:{e:{i:{if((r=(u=((r=i)-(i=c[f>>2])|0)/144|0)+e|0)>>>0<29826162){if(a=(i=(b-i|0)/144|0)<<1,a=i>>>0>=14913080?29826161:r>>>0<a>>>0?a:r){if(a>>>0>=29826162)break i;A=vi(y(a,144))}if(r=i=y(u,144)+A|0,b=7&e)for(;ue(r),r=r+144|0,(0|b)!=(0|(t=t+1|0)););if(b=y(e,144)+i|0,(e-1&268435455)>>>0>=7)for(;ue(r),ue(r+144|0),ue(r+288|0),ue(r+432|0),ue(r+576|0),ue(r+720|0),ue(r+864|0),ue(r+1008|0),(0|b)!=(0|(r=r+1152|0)););if(e=y(a,144)+A|0,(0|(t=c[f+4>>2]))==(0|(a=c[f>>2])))break e;for(;r=t=t-144|0,c[(i=i-144|0)>>2]=c[r>>2],c[i+4>>2]=c[r+4>>2],c[i+8>>2]=c[r+8>>2],c[i+12>>2]=c[r+12>>2],c[r+12>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[i+16>>2]=c[r+16>>2],c[i+20>>2]=c[r+20>>2],c[i+24>>2]=c[r+24>>2],c[r+24>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,A=k[r+28|0],c[i+40>>2]=0,c[i+32>>2]=0,c[i+36>>2]=0,n[i+28|0]=A,c[i+32>>2]=c[r+32>>2],c[i+36>>2]=c[r+36>>2],c[i+40>>2]=c[r+40>>2],c[r+40>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,c[i+52>>2]=0,c[i+44>>2]=0,c[i+48>>2]=0,c[i+44>>2]=c[r+44>>2],c[i+48>>2]=c[r+48>>2],c[i+52>>2]=c[r+52>>2],c[r+52>>2]=0,c[r+44>>2]=0,c[r+48>>2]=0,c[(A=i- -64|0)>>2]=0,c[i+56>>2]=0,c[i+60>>2]=0,c[i+56>>2]=c[r+56>>2],c[i+60>>2]=c[r+60>>2],u=A,A=r- -64|0,c[u>>2]=c[A>>2],c[A>>2]=0,c[r+56>>2]=0,c[r+60>>2]=0,c[i+68>>2]=c[r+68>>2],A=c[r+72>>2],c[i+84>>2]=0,c[i+76>>2]=0,c[i+80>>2]=0,c[i+72>>2]=A,c[i+76>>2]=c[r+76>>2],c[i+80>>2]=c[r+80>>2],c[i+84>>2]=c[r+84>>2],c[r+84>>2]=0,c[r+76>>2]=0,c[r+80>>2]=0,c[i+96>>2]=0,c[i+88>>2]=0,c[i+92>>2]=0,c[i+88>>2]=c[r+88>>2],c[i+92>>2]=c[r+92>>2],c[i+96>>2]=c[r+96>>2],c[r+96>>2]=0,c[r+88>>2]=0,c[r+92>>2]=0,A=k[r+100|0],c[i+112>>2]=0,c[i+104>>2]=0,c[i+108>>2]=0,n[i+100|0]=A,c[i+104>>2]=c[r+104>>2],c[i+108>>2]=c[r+108>>2],c[i+112>>2]=c[r+112>>2],c[r+112>>2]=0,c[r+104>>2]=0,c[r+108>>2]=0,c[i+124>>2]=0,c[i+116>>2]=0,c[i+120>>2]=0,c[i+116>>2]=c[r+116>>2],c[i+120>>2]=c[r+120>>2],c[i+124>>2]=c[r+124>>2],c[r+124>>2]=0,c[r+116>>2]=0,c[r+120>>2]=0,A=c[r+128>>2],c[i+140>>2]=0,c[i+132>>2]=0,c[i+136>>2]=0,c[i+128>>2]=A,c[i+132>>2]=c[r+132>>2],c[i+136>>2]=c[r+136>>2],c[i+140>>2]=c[r+140>>2],c[r+140>>2]=0,c[r+132>>2]=0,c[r+136>>2]=0,(0|r)!=(0|a););if(c[f+8>>2]=e,r=c[f+4>>2],c[f+4>>2]=b,t=c[f>>2],c[f>>2]=i,(0|r)==(0|t))break r;for(;(i=c[(e=r-144|0)+132>>2])&&(c[r-8>>2]=i,er(i)),(i=c[r-28>>2])&&(c[r-24>>2]=i,er(i)),(i=c[r-40>>2])&&(c[r-36>>2]=i,er(i)),Oe(r-140|0),(0|t)!=(0|(r=e)););break r}mt(),o()}Zi(),o()}c[f+8>>2]=e,c[f+4>>2]=b,c[f>>2]=i}t&&er(t)}else if(e>>>0<a>>>0){if((0|(f=f+y(e,144)|0))!=(0|i))for(;(t=c[(e=i-144|0)+132>>2])&&(c[i-8>>2]=t,er(t)),(t=c[i-28>>2])&&(c[i-24>>2]=t,er(t)),(t=c[i-40>>2])&&(c[i-36>>2]=t,er(t)),Oe(i-140|0),(0|f)!=(0|(i=e)););c[r+4>>2]=f}}function q(r){var e=0,i=0,t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0;if(c[r+56>>2]=c[r+52>>2],c[r+44>>2]=c[r+40>>2],e=c[r+64>>2],(0|(i=c[e+24>>2]))==c[e+28>>2])return 1;r:{e:{i:{for(;;){n=b;t:if(-1!=(0|(b=c[(k<<2)+i>>2]))){if((0|(e=c[r+56>>2]))==c[r+60>>2]){if((i=(A=(f=e-(t=c[r+52>>2])|0)>>2)+1|0)>>>0>=1073741824)break i;if(a=f>>>1|0,a=f>>>0>=2147483644?1073741823:i>>>0<a>>>0?a:i){if(a>>>0>=1073741824)break e;f=vi(a<<2)}else f=0;if(c[(i=f+(A<<2)|0)>>2]=n,A=i+4|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[r+60>>2]=f+(a<<2),c[r+56>>2]=A,c[r+52>>2]=i,t&&er(t)}else c[e>>2]=n,c[r+56>>2]=e+4;f:{if(c[c[r+12>>2]+(k>>>3&536870908)>>2]>>>k&1&&!(-1==(0|(f=((f=b+1|0)>>>0)%3|0?f:b-2|0))|c[c[r>>2]+(f>>>3&536870908)>>2]>>>f&1)&&-1!=(0|(f=c[c[c[r+64>>2]+12>>2]+(f<<2)>>2]))&&-1!=(0|(e=((e=f+1|0)>>>0)%3|0?e:f-2|0))){for(i=c[r+64>>2],a=c[r>>2];f=e,e=-1,-1==(0|(t=((t=f+1|0)>>>0)%3|0?t:f-2|0))|c[a+(t>>>3&536870908)>>2]>>>t&1||-1!=(0|(t=c[c[i+12>>2]+(t<<2)>>2]))&&(e=((e=t+1|0)>>>0)%3|0?e:t-2|0),(0|e)!=(0|b);)if(-1==(0|e))break f;return 0}f=b}if(c[c[r+28>>2]+(f<<2)>>2]=n,(0|(e=c[r+44>>2]))==c[r+48>>2]){if((i=(A=(b=e-(t=c[r+40>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(a=b>>>1|0,a=b>>>0>=2147483644?1073741823:i>>>0<a>>>0?a:i){if(a>>>0>=1073741824)break e;b=vi(a<<2)}else b=0;if(c[(i=b+(A<<2)|0)>>2]=f,A=i+4|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[r+48>>2]=b+(a<<2),c[r+44>>2]=A,c[r+40>>2]=i,t&&er(t)}else c[e>>2]=f,c[r+44>>2]=e+4;if(b=n+1|0,e=c[r+64>>2],-1!=(0|f)){if((f>>>0)%3|0)i=f-1|0;else if(-1==(0|(i=f+2|0)))break t;if(-1!=(0|(t=c[c[e+12>>2]+(i<<2)>>2]))&&!(-1==(0|(a=t+((t>>>0)%3|0?-1:2)|0))|(0|f)==(0|a)))for(;;){if(e=((e=a+1|0)>>>0)%3|0?e:a-2|0,c[c[r>>2]+(e>>>3&536870908)>>2]>>>e&1){if((0|(e=c[r+56>>2]))==c[r+60>>2]){if((i=(u=(n=e-(t=c[r+52>>2])|0)>>2)+1|0)>>>0>=1073741824)break i;if(A=n>>>1|0,A=n>>>0>=2147483644?1073741823:i>>>0<A>>>0?A:i){if(A>>>0>=1073741824)break e;n=vi(A<<2)}else n=0;if(c[(i=n+(u<<2)|0)>>2]=b,u=i+4|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[r+60>>2]=n+(A<<2),c[r+56>>2]=u,c[r+52>>2]=i,t&&er(t)}else c[e>>2]=b,c[r+56>>2]=e+4;if(t=b+1|0,(0|(e=c[r+44>>2]))==c[r+48>>2]){if((i=(_=(n=e-(A=c[r+40>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(u=n>>>1|0,u=n>>>0>=2147483644?1073741823:i>>>0<u>>>0?u:i){if(u>>>0>=1073741824)break e;n=vi(u<<2)}else n=0;if(c[(i=n+(_<<2)|0)>>2]=a,_=i+4|0,(0|e)!=(0|A))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|A););c[r+48>>2]=n+(u<<2),c[r+44>>2]=_,c[r+40>>2]=i,A&&er(A)}else c[e>>2]=a,c[r+44>>2]=e+4;n=b,b=t}if(c[c[r+28>>2]+(a<<2)>>2]=n,e=c[r+64>>2],(a>>>0)%3|0)i=a-1|0;else if(-1==(0|(i=a+2|0)))break t;if(-1==(0|(t=c[c[e+12>>2]+(i<<2)>>2])))break t;if(-1==(0|(a=t+((t>>>0)%3|0?-1:2)|0)))break t;if((0|f)==(0|a))break}}}else b=n;if(k=k+1|0,i=c[e+24>>2],!(k>>>0<c[e+28>>2]-i>>2>>>0))break}return 1}mt(),o()}Zi(),o()}mt(),o()}function $(r,e,i){e|=0,i|=0;var t,f=0,a=0,A=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0;if(Z=t=Z-96|0,a=c[(r|=0)+16>>2],n[t+92|0]=1,c[t+88>>2]=e,c[t+84>>2]=e,c[t+80>>2]=a,-1!=(0|e)&&(_=c[r+20>>2],f=c[_>>2],!((a=c[c[a>>2]+(e<<2)>>2])>>>0>=c[_+4>>2]-f>>2>>>0))){a=c[c[r+8>>2]+(c[f+(a<<2)>>2]<<2)>>2],f=c[r+4>>2],k[f+84|0]||(a=c[c[f+68>>2]+(a<<2)>>2]),c[t+72>>2]=0,c[t+76>>2]=0,c[(_=t- -64|0)>>2]=0,c[_+4>>2]=0,c[t+56>>2]=0,c[t+60>>2]=0,g(f,a,n[f+24|0],t+56|0),_=((a=e+1|0)>>>0)%3|0?a:e-2|0,y=((e>>>0)%3|0?-1:2)+e|0;r:{e:{for(;;){if(f=_,a=y,c[r+28>>2]&&(f=((a=e+1|0)>>>0)%3|0?a:e-2|0,a=e-1|0,(e>>>0)%3|0||(a=e+2|0)),-1==(0|f))break r;if(l=c[r+20>>2],e=c[l>>2],(f=c[c[c[r+16>>2]>>2]+(f<<2)>>2])>>>0>=c[l+4>>2]-e>>2>>>0)break r;if(f=c[c[r+8>>2]+(c[(f<<2)+e>>2]<<2)>>2],e=c[r+4>>2],k[e+84|0]||(f=c[c[e+68>>2]+(f<<2)>>2]),c[t+48>>2]=0,c[t+52>>2]=0,c[t+40>>2]=0,c[t+44>>2]=0,c[t+32>>2]=0,c[t+36>>2]=0,g(e,f,n[e+24|0],t+32|0),-1==(0|a))break e;if(f=c[r+20>>2],e=c[f>>2],(a=c[c[c[r+16>>2]>>2]+(a<<2)>>2])>>>0>=c[f+4>>2]-e>>2>>>0)break e;if(f=c[c[r+8>>2]+(c[e+(a<<2)>>2]<<2)>>2],e=c[r+4>>2],k[e+84|0]||(f=c[c[e+68>>2]+(f<<2)>>2]),c[t+24>>2]=0,c[t+28>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,g(e,f,n[e+24|0],t+8|0),f=(A=c[t+8>>2])-(e=c[t+56>>2])|0,m=c[t+60>>2],N=c[t+12>>2]-(m+(e>>>0>A>>>0)|0)|0,l=(u=c[t+40>>2])-(a=c[t+64>>2])|0,T=c[t+68>>2],A=$e(f,N,l,W=c[t+44>>2]-(T+(a>>>0>u>>>0)|0)|0),U=b-(E+(A>>>0>d>>>0)|0)|0,d=(b=V=d-A|0)+(e=$e(A=(u=c[t+16>>2])-a|0,T=c[t+20>>2]-((a>>>0>u>>>0)+T|0)|0,u=(s=c[t+32>>2])-e|0,V=c[t+36>>2]-((e>>>0>s>>>0)+m|0)|0))|0,b=E+U|0,b=e>>>0>d>>>0?b+1|0:b,e=p,p=f,m=N,f=(s=c[t+48>>2])-(a=c[t+72>>2])|0,N=c[t+76>>2],s=e+(p=$e(p,m,f,U=c[t+52>>2]-(N+(a>>>0>s>>>0)|0)|0))|0,e=E+v|0,e=s>>>0<p>>>0?e+1|0:e,p=s-(v=$e(m=(p=c[t+24>>2])-a|0,a=c[t+28>>2]-((a>>>0>p>>>0)+N|0)|0,u,V))|0,v=e-(E+(s>>>0<v>>>0)|0)|0,f=h-(e=$e(A,T,f,U))|0,e=R-(E+(e>>>0>h>>>0)|0)|0,R=$e(m,a,l,W),e=E+e|0,R=(h=R+f|0)>>>0<R>>>0?e+1|0:e,Mr(t+80|0),-1==(0|(e=c[t+88>>2])))break}f=(a=(e=R>>31)^h)-e|0,e=(e^R)-((e>>>0>a>>>0)+e|0)|0,y=-1,a=2147483647,s=-1^(_=(u=(A=l=v>>31)^p)-A|0),A=2147483647^(u=l=(A^v)-((u>>>0<A>>>0)+A|0)|0),l=b;i:{if(c[r+28>>2]){if(!((0|e)==(0|A)&f>>>0>s>>>0|e>>>0>A>>>0)&&(e=e+u|0,e=(r=f+_|0)>>>0<_>>>0?e+1|0:e,s=b,b=(u=(A=b>>=31)^d)-A|0,!((0|(A=2147483647^(_=(A^s)-((A>>>0>u>>>0)+A|0)|0)))==(0|e)&(f=r)>>>0>(-1^(r=b))>>>0|e>>>0>A>>>0)&&(e=e+_|0,a=e=(y=r+f|0)>>>0<r>>>0?e+1|0:e,!e&y>>>0<536870913)))break i;e=a>>>29|0,r=(536870911&a)<<3|y>>>29}else{if((0|e)==(0|A)&f>>>0>s>>>0|e>>>0>A>>>0)break i;if(e=e+u|0,e=(r=f+_|0)>>>0<_>>>0?e+1|0:e,a=r,b=r=(y=(f=r=(A=b)>>31)^d)-f|0,f=(f^A)-((f>>>0>y>>>0)+f|0)|0,r=r+a|0,!(0&(b=(0|(f^=2147483647))==(0|e)&(-1^b)>>>0<a>>>0|e>>>0>f>>>0))&(0|(r=b?-1:r))<=536870912|(0|r)<536870912)break i;e=0,r=r>>>29|0}d=Ke(d,l,r,e),p=Ke(p,v,r,e),h=Ke(h,R,r,e)}return c[i+8>>2]=d,c[i+4>>2]=p,c[i>>2]=h,void(Z=t+96|0)}dt(),o()}dt(),o()}dt(),o()}function rr(r,e){r|=0;var i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0;if(!((0|(e|=0))<0||(i=c[r+12>>2])-(t=c[r+8>>2])>>2>>>0<=e>>>0)){if(f=c[(t=t+(e<<2)|0)>>2],o=c[f+60>>2],a=c[f+56>>2],(0|(f=t+4|0))!=(0|i)){for(;A=c[f>>2],c[f>>2]=0,n=c[t>>2],c[t>>2]=A,n&&xe(n),t=t+4|0,(0|(f=f+4|0))!=(0|i););i=c[r+12>>2]}if((0|i)!=(0|t))for(;f=c[(i=i-4|0)>>2],c[i>>2]=0,f&&xe(f),(0|i)!=(0|t););c[r+12>>2]=t;r:if(!(!(n=c[r+4>>2])|(0|o)<0)&&(0|(i=c[n+24>>2]))!=(0|(t=c[n+28>>2])))for(;;){if((0|o)==c[c[i>>2]+24>>2]){if((0|(t=i+4|0))!=(0|(o=c[n+28>>2]))){for(;A=c[t>>2],c[t>>2]=0,f=c[i>>2],c[i>>2]=A,f&&(Ai(f+12|0,c[f+16>>2]),mi(f,c[f+4>>2]),er(f)),i=i+4|0,(0|o)!=(0|(t=t+4|0)););t=c[n+28>>2]}if((0|i)!=(0|t))for(;f=c[(t=t-4|0)>>2],c[t>>2]=0,f&&(Ai(f+12|0,c[f+16>>2]),mi(f,c[f+4>>2]),er(f)),(0|i)!=(0|t););c[n+28>>2]=i;break r}if((0|t)==(0|(i=i+4|0)))break}r:if(!((0|a)>4)){e:if(f=y(a,12)+r|0,(0|(i=c[f+20>>2]))!=(0|(t=c[f+24>>2]))){for(;;){if(c[i>>2]==(0|e))break e;if((0|t)==(0|(i=i+4|0)))break}break r}(0|i)!=(0|t)&&(gr(a=i,i=i+4|0,t-i|0),c[f+24>>2]=t-4)}if((0|(i=c[r+24>>2]))!=(0|(t=c[r+20>>2]))){if(o=1&(n=(i=(f=i-t|0)>>2)>>>0<=1?1:i),i=0,f>>>0>=8)for(n&=-2,f=0;(0|(b=c[(A=(a=i<<2)+t|0)>>2]))>(0|e)&&(c[A>>2]=b-1),(0|(A=c[(a=t+(4|a)|0)>>2]))>(0|e)&&(c[a>>2]=A-1),i=i+2|0,(0|n)!=(0|(f=f+2|0)););o&&((0|(t=c[(i=t+(i<<2)|0)>>2]))<=(0|e)||(c[i>>2]=t-1))}if((0|(i=c[r+36>>2]))!=(0|(t=c[r+32>>2]))){if(o=1&(n=(i=(f=i-t|0)>>2)>>>0<=1?1:i),i=0,f>>>0>=8)for(n&=-2,f=0;(0|(b=c[(A=(a=i<<2)+t|0)>>2]))>(0|e)&&(c[A>>2]=b-1),(0|(A=c[(a=t+(4|a)|0)>>2]))>(0|e)&&(c[a>>2]=A-1),i=i+2|0,(0|n)!=(0|(f=f+2|0)););o&&((0|(t=c[(i=t+(i<<2)|0)>>2]))<=(0|e)||(c[i>>2]=t-1))}if((0|(i=c[r+48>>2]))!=(0|(t=c[r+44>>2]))){if(o=1&(n=(i=(f=i-t|0)>>2)>>>0<=1?1:i),i=0,f>>>0>=8)for(n&=-2,f=0;(0|(b=c[(A=(a=i<<2)+t|0)>>2]))>(0|e)&&(c[A>>2]=b-1),(0|(A=c[(a=t+(4|a)|0)>>2]))>(0|e)&&(c[a>>2]=A-1),i=i+2|0,(0|n)!=(0|(f=f+2|0)););o&&((0|(t=c[(i=t+(i<<2)|0)>>2]))<=(0|e)||(c[i>>2]=t-1))}if((0|(i=c[r+60>>2]))!=(0|(t=c[r+56>>2]))){if(o=1&(n=(i=(f=i-t|0)>>2)>>>0<=1?1:i),i=0,f>>>0>=8)for(n&=-2,f=0;(0|(b=c[(A=(a=i<<2)+t|0)>>2]))>(0|e)&&(c[A>>2]=b-1),(0|(A=c[(a=t+(4|a)|0)>>2]))>(0|e)&&(c[a>>2]=A-1),i=i+2|0,(0|n)!=(0|(f=f+2|0)););o&&((0|(t=c[(i=t+(i<<2)|0)>>2]))<=(0|e)||(c[i>>2]=t-1))}if((0|(i=c[r+72>>2]))!=(0|(r=c[r+68>>2]))){if(n=1&(f=(i=(t=i-r|0)>>2)>>>0<=1?1:i),i=0,t>>>0>=8)for(t=-2&f,f=0;(0|(A=c[(a=(o=i<<2)+r|0)>>2]))>(0|e)&&(c[a>>2]=A-1),(0|(a=c[(o=r+(4|o)|0)>>2]))>(0|e)&&(c[o>>2]=a-1),i=i+2|0,(0|t)!=(0|(f=f+2|0)););n&&((0|(a=e))>=(0|(e=c[(r=r+(i<<2)|0)>>2]))||(c[r>>2]=e-1))}}}function er(r){var e=0,i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0;r:if(r|=0){a=(t=r-8|0)+(r=-8&(e=c[r-4>>2]))|0;e:if(!(1&e)){if(!(3&e))break r;if((t=t-(e=c[t>>2])|0)>>>0<s[2945])break r;if(r=r+e|0,c[2946]==(0|t)){if(!(3&~(e=c[a+4>>2])))return c[2943]=r,c[a+4>>2]=-2&e,c[t+4>>2]=1|r,void(c[r+t>>2]=r)}else{if(e>>>0<=255){if(f=c[t+8>>2],e=e>>>3|0,(0|(i=c[t+12>>2]))==(0|f)){o=11764,b=c[2941]&Yi(e),c[o>>2]=b;break e}c[f+12>>2]=i,c[i+8>>2]=f;break e}if(A=c[t+24>>2],(0|t)==(0|(e=c[t+12>>2])))if((i=c[(f=t+20|0)>>2])||(i=c[(f=t+16|0)>>2])){for(;n=f,(i=c[(f=(e=i)+20|0)>>2])||(f=e+16|0,i=c[e+16>>2]););c[n>>2]=0}else e=0;else i=c[t+8>>2],c[i+12>>2]=e,c[e+8>>2]=i;if(!A)break e;f=c[t+28>>2];i:{if(c[(i=12068+(f<<2)|0)>>2]==(0|t)){if(c[i>>2]=e,e)break i;o=11768,b=c[2942]&Yi(f),c[o>>2]=b;break e}if(c[A+(c[A+16>>2]==(0|t)?16:20)>>2]=e,!e)break e}if(c[e+24>>2]=A,(i=c[t+16>>2])&&(c[e+16>>2]=i,c[i+24>>2]=e),!(i=c[t+20>>2]))break e;c[e+20>>2]=i,c[i+24>>2]=e}}if(!(t>>>0>=a>>>0)&&1&(e=c[a+4>>2])){e:{if(!(2&e)){if(c[2947]==(0|a)){if(c[2947]=t,r=c[2944]+r|0,c[2944]=r,c[t+4>>2]=1|r,c[2946]!=(0|t))break r;return c[2943]=0,void(c[2946]=0)}if(c[2946]==(0|a))return c[2946]=t,r=c[2943]+r|0,c[2943]=r,c[t+4>>2]=1|r,void(c[r+t>>2]=r);r=(-8&e)+r|0;i:if(e>>>0<=255){if(f=c[a+8>>2],e=e>>>3|0,(0|(i=c[a+12>>2]))==(0|f)){o=11764,b=c[2941]&Yi(e),c[o>>2]=b;break i}c[f+12>>2]=i,c[i+8>>2]=f}else{if(A=c[a+24>>2],(0|a)==(0|(e=c[a+12>>2])))if((i=c[(f=a+20|0)>>2])||(i=c[(f=a+16|0)>>2])){for(;n=f,(i=c[(f=(e=i)+20|0)>>2])||(f=e+16|0,i=c[e+16>>2]););c[n>>2]=0}else e=0;else i=c[a+8>>2],c[i+12>>2]=e,c[e+8>>2]=i;if(A){f=c[a+28>>2];t:{if(c[(i=12068+(f<<2)|0)>>2]==(0|a)){if(c[i>>2]=e,e)break t;o=11768,b=c[2942]&Yi(f),c[o>>2]=b;break i}if(c[A+(c[A+16>>2]==(0|a)?16:20)>>2]=e,!e)break i}c[e+24>>2]=A,(i=c[a+16>>2])&&(c[e+16>>2]=i,c[i+24>>2]=e),(i=c[a+20>>2])&&(c[e+20>>2]=i,c[i+24>>2]=e)}}if(c[t+4>>2]=1|r,c[r+t>>2]=r,c[2946]!=(0|t))break e;return void(c[2943]=r)}c[a+4>>2]=-2&e,c[t+4>>2]=1|r,c[r+t>>2]=r}if(r>>>0<=255)return e=11804+(-8&r)|0,(i=c[2941])&(r=1<<(r>>>3))?r=c[e+8>>2]:(c[2941]=r|i,r=e),c[e+8>>2]=t,c[r+12>>2]=t,c[t+12>>2]=e,void(c[t+8>>2]=r);f=31,r>>>0<=16777215&&(f=62+((r>>>38-(e=v(r>>>8|0))&1)-(e<<1)|0)|0),c[t+28>>2]=f,c[t+16>>2]=0,c[t+20>>2]=0,n=12068+(f<<2)|0;e:{i:{if((i=c[2942])&(e=1<<f)){for(f=r<<(31!=(0|f)?25-(f>>>1|0)|0:0),e=c[n>>2];;){if(i=e,(-8&c[e+4>>2])==(0|r))break i;if(e=f>>>29|0,f<<=1,!(e=c[(n=i+(4&e)|0)+16>>2]))break}c[n+16>>2]=t,c[t+24>>2]=i}else c[2942]=e|i,c[n>>2]=t,c[t+24>>2]=n;c[t+12>>2]=t,c[t+8>>2]=t;break e}r=c[i+8>>2],c[r+12>>2]=t,c[i+8>>2]=t,c[t+24>>2]=0,c[t+12>>2]=i,c[t+8>>2]=r}r=c[2949]-1|0,c[2949]=r||-1}}}function ir(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0;if(-1==(0|e))return 1;if(n=(e>>>0)/3|0,!(c[c[r+24>>2]+(n>>>3&268435452)>>2]>>>n&1)){if(f=c[r+48>>2],c[r+52>>2]=f,(0|f)==c[r+56>>2]?(t=vi(4),c[t>>2]=e,i=t+4|0,c[r+56>>2]=i,c[r+52>>2]=i,c[r+48>>2]=t,f&&er(f)):(c[f>>2]=e,c[r+52>>2]=f+4),b=((i=e+1|0)>>>0)%3|0?i:e-2|0,i=c[c[r+4>>2]+28>>2],-1==(0|(k=c[(b<<2)+i>>2])))return 0;if(f=(e-y(n,3)|0?-1:2)+e|0,-1==(0|(u=c[i+(f<<2)>>2])))return 0;if(e=c[r+36>>2],(t=c[(n=e+(k>>>3&536870908)|0)>>2])&(i=1<<k)||(c[n>>2]=i|t,mr(r+8|0,k,b),e=c[r+36>>2]),(i=c[(t=(u>>>3&536870908)+e|0)>>2])&(e=1<<u)||(c[t>>2]=e|i,mr(r+8|0,u,f)),(0|(a=c[r+52>>2]))==c[r+48>>2])return 1;for(k=r+8|0;;){r:{e:if(-1!=(0|(e=c[(a=a-4|0)>>2]))&&(i=(e>>>0)/3|0,n=c[r+24>>2]+(i>>>3&268435452)|0,!((t=c[n>>2])&(i=1<<i)))){if(c[n>>2]=i|t,A=c[r+4>>2],-1==(0|(i=c[c[A+28>>2]+(e<<2)>>2])))return 0;for(;;){t=e;i:{if(u=c[r+36>>2]+(i>>>3&536870908)|0,!((b=c[u>>2])&(f=1<<i)))if(-1==(0|(n=c[c[A+40>>2]+(i<<2)>>2]))||-1==(0|(e=((e=n+1|0)>>>0)%3|0?e:n-2|0))|c[c[A>>2]+(e>>>3&536870908)>>2]>>>e&1||-1==(0|(n=c[c[c[A+64>>2]+12>>2]+(e<<2)>>2])))c[u>>2]=f|b,mr(k,i,t),A=c[r+4>>2];else if(c[u>>2]=f|b,mr(k,i,t),A=c[r+4>>2],-1!=(0|(((e=n+1|0)>>>0)%3|0?e:n-2))){e=-1,-1!=(0|t)&&(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))|c[c[A>>2]+(i>>>3&536870908)>>2]>>>i&1||(e=c[c[c[A+64>>2]+12>>2]+(i<<2)>>2])),t=1<<(i=(e>>>0)/3|0),a=c[r+24>>2],u=c[a+((f=i>>>5|0)<<2)>>2];break i}t:{if(-1!=(0|t)){i=-1,-1==(0|(e=((e=t+1|0)>>>0)%3|0?e:t-2|0))|c[c[A>>2]+(e>>>3&536870908)>>2]>>>e&1||(i=c[c[c[A+64>>2]+12>>2]+(e<<2)>>2]);f:{if((t>>>0)%3|0)a=t-1|0;else if(e=-1,-1==(0|(a=t+2|0)))break f;e=-1,c[c[A>>2]+(a>>>3&536870908)>>2]>>>a&1||(e=c[c[c[A+64>>2]+12>>2]+(a<<2)>>2])}if(b=(n=-1==(0|e))?-1:(e>>>0)/3|0,-1!=(0|i)&&(a=c[r+24>>2],!((u=c[a+((f=(t=(i>>>0)/3|0)>>>5|0)<<2)>>2])&(t=1<<t))))break t;if(!(n||(t=1<<b,a=c[r+24>>2],t&(u=c[a+((f=b>>>5|0)<<2)>>2]))))break i}a=c[r+52>>2]-4|0,c[r+52>>2]=a;break r}if(n)e=i;else if(c[(b>>>3&536870908)+a>>2]>>>b&1)e=i;else{if(A=c[r+52>>2],c[A-4>>2]=e,c[r+56>>2]!=(0|A)){c[A>>2]=i,a=A+4|0;break e}t:{if((t=(n=(f=A-(b=c[r+48>>2])|0)>>2)+1|0)>>>0<1073741824){if(e=f>>>1|0,f=f>>>0>=2147483644?1073741823:e>>>0>t>>>0?e:t){if(f>>>0>=1073741824)break t;t=vi(f<<2)}else t=0;if(c[(e=t+(n<<2)|0)>>2]=i,a=e+4|0,(0|A)!=(0|b))for(;A=A-4|0,c[(e=e-4|0)>>2]=c[A>>2],(0|A)!=(0|b););if(c[r+56>>2]=t+(f<<2),c[r+52>>2]=a,c[r+48>>2]=e,!b)break r;er(b),a=c[r+52>>2];break r}mt(),o()}Zi(),o()}}if(c[(f<<2)+a>>2]=t|u,-1==(0|(i=c[c[A+28>>2]+(e<<2)>>2])))break}return 0}c[r+52>>2]=a}if(c[r+48>>2]==(0|a))break}}return 1}function tr(r,e,i,t){var f,a=0,A=0,b=0,u=0,k=d(0),_=0,l=0,y=d(0);f=c[i>>2];r:{e:if(A=c[e+4>>2]){i:{if((b=Ii(A))>>>0>=2){if(A>>>0<=(a=f)>>>0&&(a=(f>>>0)%(A>>>0)|0),!(i=c[c[e>>2]+(a<<2)>>2]))break e;if(b>>>0<=1)break i;for(;;){if(!(i=c[i>>2]))break e;if((0|(b=c[i+4>>2]))!=(0|f)&&(A>>>0<=b>>>0&&(b=(b>>>0)%(A>>>0)|0),(0|a)!=(0|b)))break e;if(c[i+8>>2]==(0|f))break}e=0;break r}if(a=A-1&f,!(i=c[c[e>>2]+(a<<2)>>2]))break e}for(u=A-1|0;;){if(!(i=c[i>>2]))break e;if((0|(b=c[i+4>>2]))!=(0|f)&(b&u)!=(0|a))break e;if(c[i+8>>2]==(0|f))break}e=0;break r}if(i=vi(16),t=c[c[t>>2]>>2],c[i+12>>2]=0,c[i+8>>2]=t,c[i+4>>2]=f,c[i>>2]=0,y=d(c[e+12>>2]+1>>>0),k=p[e+16>>2],y>d(k*d(A>>>0))||!A){a=2,1!=(0|(t=(t=!!(A-1&A)|A>>>0<3|A<<1)>>>0>(b=(k=d(T(d(y/k))))<d(4294967296)&k>=d(0)?~~k>>>0:0)>>>0?t:b))&&(t&t-1?(a=z(t),A=c[e+4>>2]):a=t);e:{if(a>>>0<=A>>>0){if(a>>>0>=A>>>0)break e;if(b=A>>>0<3,t=(k=d(T(d(d(s[e+12>>2])/p[e+16>>2]))))<d(4294967296)&k>=d(0)?~~k>>>0:0,A>>>0<=(a=(t=b||Ii(A)>>>0>1?z(t):t>>>0<2?t:1<<32-v(t-1|0))>>>0<a>>>0?a:t)>>>0)break e}A=0,b=0,u=a;i:{t:{f:{a:{if(a){if(u>>>0>=1073741824)break a;if(t=vi(u<<2),a=c[e>>2],c[e>>2]=t,a&&er(a),c[e+4>>2]=u,t=0,u>>>0>=4)for(a=-4&u;c[(_=t<<2)+c[e>>2]>>2]=0,c[c[e>>2]+(4|_)>>2]=0,c[c[e>>2]+(8|_)>>2]=0,c[c[e>>2]+(12|_)>>2]=0,t=t+4|0,(0|a)!=(0|(b=b+4|0)););if(a=3&u)for(;c[c[e>>2]+(t<<2)>>2]=0,t=t+1|0,(0|a)!=(0|(A=A+1|0)););if(!(a=c[e+8>>2]))break i;if(t=e+8|0,A=c[a+4>>2],(b=Ii(u))>>>0<2)break f;if(A=A>>>0>=u>>>0?(A>>>0)%(u>>>0)|0:A,c[c[e>>2]+(A<<2)>>2]=t,!(t=c[a>>2]))break i;if(b>>>0<=1)break t;for(;u>>>0<=(b=c[t+4>>2])>>>0&&(b=(b>>>0)%(u>>>0)|0),(0|A)!=(0|b)?(_=(l=b<<2)+c[e>>2]|0,c[_>>2]?(c[a>>2]=c[t>>2],c[t>>2]=c[c[l+c[e>>2]>>2]>>2],c[c[l+c[e>>2]>>2]>>2]=t):(c[_>>2]=a,a=t,A=b)):a=t,t=c[a>>2];);break i}t=c[e>>2],c[e>>2]=0,t&&er(t),c[e+4>>2]=0;break i}Zi(),o()}if(A&=u-1,c[c[e>>2]+(A<<2)>>2]=t,!(t=c[a>>2]))break i}for(_=u-1|0;(0|(b=_&c[t+4>>2]))!=(0|A)?(u=(l=b<<2)+c[e>>2]|0,c[u>>2]?(c[a>>2]=c[t>>2],c[t>>2]=c[c[l+c[e>>2]>>2]>>2],c[c[l+c[e>>2]>>2]>>2]=t):(c[u>>2]=a,a=t,A=b)):a=t,t=c[a>>2];);}}a=(t=(A=c[e+4>>2])-1|0)&A?A>>>0>f>>>0?f:(f>>>0)%(A>>>0)|0:t&f}a=c[e>>2]+(a<<2)|0;e:{if(t=c[a>>2])c[i>>2]=c[t>>2];else{if(t=e+8|0,c[i>>2]=c[t>>2],c[e+8>>2]=i,c[a>>2]=t,!(t=c[i>>2]))break e;t=c[t+4>>2],(a=A-1|0)&A?t>>>0<A>>>0||(t=(t>>>0)%(A>>>0)|0):t&=a,t=c[e>>2]+(t<<2)|0}c[t>>2]=i}c[e+12>>2]=c[e+12>>2]+1,e=1}n[r+4|0]=e,c[r>>2]=i}function fr(r,e,i){var t,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0,d=0;t=y(e,12)+r|0,c[t+12>>2]=c[t+8>>2],s=-1==(0|i)?-1:(i>>>0)/3|0,f=1,k=i;r:{e:{i:{for(;;){t:{if(_=f,!f){if(-1==(0|k))break t;if(-1==(0|zr(r,((k>>>0)%3|0?-1:2)+k|0)))break r;if(-1==(0|(f=((i=k+1|0)>>>0)%3|0?i:k-2|0)))break r;if(-1==(0|(i=((i=f+1|0)>>>0)%3|0?i:f-2|0)))break r;if(-1==(0|(f=c[c[c[r+4>>2]+12>>2]+(i<<2)>>2])))break r;if(-1==(0|(i=((i=f+1|0)>>>0)%3|0?i:f-2|0)))break r;s=(i>>>0)/3|0}if(f=c[r+56>>2]+(s>>>3&536870908)|0,!((b=c[f>>2])&(a=1<<s))){for(n=0;;){if(c[f>>2]=a|b,(0|(f=c[t+12>>2]))==c[t+16>>2]){if((u=(a=(b=f-(p=c[t+8>>2])|0)>>2)+1|0)>>>0>=1073741824)break i;if(A=b>>>1|0,u=b>>>0>=2147483644?1073741823:u>>>0<A>>>0?A:u){if(u>>>0>=1073741824)break e;A=vi(u<<2)}else A=0;if(c[(b=A+(a<<2)|0)>>2]=s,a=b+4|0,(0|f)!=(0|p))for(;f=f-4|0,c[(b=b-4|0)>>2]=c[f>>2],(0|f)!=(0|p););c[t+8>>2]=b,c[t+12>>2]=a,c[t+16>>2]=A+(u<<2),p&&er(p)}else c[f>>2]=s,c[t+12>>2]=f+4;A=n+1|0;f:{a:{if(n)if(1&A){if(-1==(0|i)){i=-1;break f}i=((f=i+1|0)>>>0)%3|0?f:i-2|0}else{if(k=_?k:i,-1==(0|i)){i=-1;break f}if((i>>>0)%3|0){f=i-1|0;break a}i=i+2|0}if(f=i,i=-1,-1==(0|f))break f}if(i=c[c[c[r+4>>2]+12>>2]+(f<<2)>>2],b=-1,n=-1,(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))>=0&&(n=(a>>>0)/3|0,n=c[(c[c[r>>2]+96>>2]+y(n,12)|0)+(a-y(n,3)<<2)>>2]),-1!=(0|i)&&((0|(u=((i>>>0)%3|0?-1:2)+i|0))<0||(a=(u>>>0)/3|0,b=c[(c[c[r>>2]+96>>2]+y(a,12)|0)+(u-y(a,3)<<2)>>2])),(0|n)==(0|b)){a:{n:{if((0|(n=((f>>>0)%3|0?-1:2)+f|0))>=0){if(f=(n>>>0)/3|0,-1!=(0|i))break n;i=-1;break f}if(f=-1,-1!=(0|i))break a;i=-1;break f}f=c[(c[c[r>>2]+96>>2]+y(f,12)|0)+(n-y(f,3)<<2)>>2]}if((0|(a=((n=i+1|0)>>>0)%3|0?n:i-2|0))>=0?(n=(a>>>0)/3|0,n=c[(c[c[r>>2]+96>>2]+y(n,12)|0)+(a-y(n,3)<<2)>>2]):n=-1,(0|n)==(0|f)){if(n=A,s=(i>>>0)/3|0,f=c[r+56>>2]+(s>>>3&268435452)|0,!((b=c[f>>2])&(a=1<<s)))continue}else i=-1}else i=-1}break}if(!(_|!(1&A))){_=c[t+12>>2]-4|0,A=c[_>>2],f=c[r+56>>2]+(A>>>3&536870908)|0,i=c[f>>2],l=f,d=Yi(A)&i,c[l>>2]=d,c[t+12>>2]=_;break r}}if(f=0,_)continue;break r}break}k=-1,zr(r,-1);break r}mt(),o()}Zi(),o()}if(c[44+((e<<2)+r|0)>>2]=k,(0|(e=c[t+12>>2]))!=(0|(u=c[t+8>>2]))){if(k=1&(e=(e=(i=e-u|0)>>2)>>>0<=1?1:e),a=c[r+56>>2],f=0,i>>>0>=8)for(n=-2&e,i=0;A=c[(_=f<<2)+u>>2],r=c[(e=a+(A>>>3&536870908)|0)>>2],l=e,d=Yi(A)&r,c[l>>2]=d,A=c[u+(4|_)>>2],r=c[(e=a+(A>>>3&536870908)|0)>>2],l=e,d=Yi(A)&r,c[l>>2]=d,f=f+2|0,(0|n)!=(0|(i=i+2|0)););k&&(i=c[u+(f<<2)>>2],r=c[(e=a+(i>>>3&536870908)|0)>>2],l=e,d=Yi(i)&r,c[l>>2]=d)}}function ar(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0,u=0;if(-1==(0|e))return 1;if(n=(e>>>0)/3|0,!(c[c[r+24>>2]+(n>>>3&268435452)>>2]>>>n&1)){if(a=c[r+48>>2],c[r+52>>2]=a,(0|a)==c[r+56>>2]?(t=vi(4),c[t>>2]=e,i=t+4|0,c[r+56>>2]=i,c[r+52>>2]=i,c[r+48>>2]=t,a&&er(a)):(c[a>>2]=e,c[r+52>>2]=a+4),f=-1,t=c[r+4>>2],-1!=(0|(b=((i=e+1|0)>>>0)%3|0?i:e-2|0))&&(f=c[c[t>>2]+(b<<2)>>2]),A=e-y(n,3)|0)i=e-1|0;else if(-1==(0|(i=e+2|0)))return 0;if(-1==(0|f))return 0;if(-1==(0|(u=c[c[t>>2]+(i<<2)>>2])))return 0;if(i=c[r+36>>2],(n=c[(a=i+(f>>>3&536870908)|0)>>2])&(t=1<<f)||(c[a>>2]=t|n,mr(r+8|0,f,b),i=c[r+36>>2]),(t=c[(n=(u>>>3&536870908)+i|0)>>2])&(i=1<<u)||(c[n>>2]=i|t,mr(r+8|0,u,(A?-1:2)+e|0)),(0|(i=c[r+52>>2]))==c[r+48>>2])return 1;for(u=r+8|0;;){r:{e:if(-1!=(0|(e=c[(i=i-4|0)>>2]))&&(t=(e>>>0)/3|0,a=c[r+24>>2]+(t>>>3&268435452)|0,!((n=c[a>>2])&(t=1<<t)))){for(c[a>>2]=t|n;;){if(b=c[r+4>>2],-1==(0|(f=c[c[b>>2]+(e<<2)>>2])))return 0;i:{if(A=c[r+36>>2]+(f>>>3&536870908)|0,!((a=c[A>>2])&(n=1<<f)))if(-1!=(0|(t=c[c[b+24>>2]+(f<<2)>>2]))&&-1!=(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&-1!=(0|(t=c[c[b+12>>2]+(i<<2)>>2]))){if(c[A>>2]=a|n,mr(u,f,e),-1!=(0|(((i=t+1|0)>>>0)%3|0?i:t-2))){i=e-2|0,t=e+1|0,e=-1,-1!=(0|(i=(t>>>0)%3|0?t:i))&&(e=c[c[c[r+4>>2]+12>>2]+(i<<2)>>2]),t=1<<(i=(e>>>0)/3|0),f=c[r+24>>2],b=c[f+((a=i>>>5|0)<<2)>>2];break i}}else c[A>>2]=a|n,mr(u,f,e);i=-1,n=c[r+4>>2],-1!=(0|(t=((t=e+1|0)>>>0)%3|0?t:e-2|0))&&(i=c[c[n+12>>2]+(t<<2)>>2]);t:{if((e>>>0)%3|0)f=e-1|0;else if(f=e+2|0,e=-1,-1==(0|f))break t;e=c[c[n+12>>2]+(f<<2)>>2]}if(A=(n=-1==(0|e))?-1:(e>>>0)/3|0,-1==(0|i)||(f=c[r+24>>2],(b=c[f+((a=(t=(i>>>0)/3|0)>>>5|0)<<2)>>2])&(t=1<<t))){if(!(n||(t=1<<A,f=c[r+24>>2],t&(b=c[f+((a=A>>>5|0)<<2)>>2]))))break i;i=c[r+52>>2]-4|0,c[r+52>>2]=i;break r}if(n)e=i;else if(c[(A>>>3&536870908)+f>>2]>>>A&1)e=i;else{if(f=c[r+52>>2],c[f-4>>2]=e,c[r+56>>2]!=(0|f)){c[f>>2]=i,i=f+4|0;break e}t:{if((t=(n=(a=f-(A=c[r+48>>2])|0)>>2)+1|0)>>>0<1073741824){if(e=a>>>1|0,a=a>>>0>=2147483644?1073741823:e>>>0>t>>>0?e:t){if(a>>>0>=1073741824)break t;t=vi(a<<2)}else t=0;if(c[(e=t+(n<<2)|0)>>2]=i,i=e+4|0,(0|f)!=(0|A))for(;f=f-4|0,c[(e=e-4|0)>>2]=c[f>>2],(0|f)!=(0|A););if(c[r+56>>2]=t+(a<<2),c[r+52>>2]=i,c[r+48>>2]=e,!A)break r;er(A),i=c[r+52>>2];break r}mt(),o()}Zi(),o()}}if(c[(a<<2)+f>>2]=t|b,-1==(0|e))break}return 0}c[r+52>>2]=i}if(c[r+48>>2]==(0|i))break}}return 1}function nr(r,e){var i,t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0,s=0;Z=i=Z-32|0;r:{if(!(c[r+8>>2]<<5>>>0>=e>>>0)){if((0|e)<0)break r;t=vi((e=1+(e-1>>>5|0)|0)<<2),c[i+24>>2]=e,c[i+20>>2]=0,c[i+16>>2]=t,e=c[r>>2],c[i+12>>2]=0,c[i+8>>2]=e,t=c[r+4>>2],c[i+4>>2]=31&t,c[i>>2]=e+(t>>>3&536870908),Z=a=Z-32|0,t=(e=((b=c[i+4>>2])-(A=c[i+12>>2])|0)+((u=c[i>>2])-(f=c[i+8>>2])<<3)|0)+(n=c[i+20>>2])|0,c[i+20>>2]=t,(t-1^n-1)>>>0<32&&n||(c[c[i+16>>2]+((t>>>0>=33?t-1>>>5:0)<<2)>>2]=0),t=c[i+16>>2]+(n>>>3&536870908)|0;e:if((0|(n&=31))!=(0|A)){if(c[a+28>>2]=A,c[a+24>>2]=f,c[a+20>>2]=b,c[a+16>>2]=u,c[a+12>>2]=n,c[a+8>>2]=t,e=c[a+28>>2],t=c[a+24>>2],(0|(A=(c[a+20>>2]-e|0)+(c[a+16>>2]-t<<3)|0))<=0)e=c[a+12>>2],f=c[a+8>>2];else{if(e?(b=(n=(0|A)<(0|(k=32-e|0))?A:k)>>>0>(u=32-(f=c[a+12>>2])|0)>>>0?u:n,_=c[a+8>>2],s=c[_>>2]&~(-1<<f&-1>>>u-b),u=c[t>>2]&-1<<e&-1>>>k-n,c[_>>2]=s|(e>>>0<f>>>0?u<<f-e:u>>>e-f|0),e=31&(t=f+b|0),c[a+12>>2]=e,f=_+(t>>>3&536870908)|0,c[a+8>>2]=f,(0|(t=n-b|0))>0&&(c[f>>2]=c[f>>2]&(-1>>>32-t^-1)|u>>>b+c[a+28>>2],c[a+12>>2]=t,e=t),A=A-n|0,t=c[a+24>>2]+4|0,c[a+24>>2]=t):e=c[a+12>>2],b=-1<<e,n=32-e|0,(0|A)>=32)for(u=-1^b;f=c[a+8>>2],t=c[t>>2],c[f>>2]=u&c[f>>2]|t<<e,c[a+8>>2]=f+4,c[f+4>>2]=b&c[f+4>>2]|t>>>n,t=c[a+24>>2]+4|0,c[a+24>>2]=t,f=A>>>0>63,A=A-32|0,f;);f=c[a+8>>2],(0|A)<=0||(u=n,n=(0|A)>(0|n)?n:A,u=c[f>>2]&~(b&-1>>>u-n),b=c[t>>2]&-1>>>32-A,c[f>>2]=u|b<<e,t=31&(e=e+n|0),c[a+12>>2]=t,f=(e>>>3&536870908)+f|0,c[a+8>>2]=f,(0|(e=A-n|0))<=0?e=t:(c[f>>2]=c[f>>2]&(-1>>>32-e^-1)|b>>>n,c[a+12>>2]=e))}c[a+4>>2]=e,c[a>>2]=f}else{if((0|e)<=0)break e;if(A&&(b=-1<<A&-1>>>(b=32-A|0)-(n=(0|e)<(0|b)?e:b),c[t>>2]=c[t>>2]&(-1^b)|b&c[f>>2],f=f+4|0,t=(A+n>>>3&536870908)+t|0,e=e-n|0),A=(0|e)/32|0,e+31>>>0>=63&&gr(t,f,A<<2),(0|(e=e-(A<<5)|0))<=0)break e;e=-1>>>32-e|0,c[(A=(n=t)+(t=A<<2)|0)>>2]=c[A>>2]&(-1^e)|e&c[t+f>>2]}Z=a+32|0,e=c[r>>2],c[r>>2]=c[i+16>>2],c[i+16>>2]=e,t=c[r+4>>2],c[r+4>>2]=c[i+20>>2],c[i+20>>2]=t,t=c[r+8>>2],c[r+8>>2]=c[i+24>>2],c[i+24>>2]=t,e&&er(e)}return void(Z=i+32|0)}mt(),o()}function Ar(r,e,i){e|=0,i|=0;var t,f=0,a=0,A=0,o=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0;r:if(!((0|(t=0|Zt[c[c[(r|=0)>>2]+44>>2]](r)))<=0)&&(u=c[e+4>>2]-c[e>>2]>>2,Z=a=Z+-64|0,A=ai(a),f=y(c[2541],t),yi(A,c[c[r+8>>2]+56>>2],255&t,5,0,f,f>>31),A=ee(vi(96),A),n[A+84|0]=1,c[A+72>>2]=c[A+68>>2],ie(A,u),c[A+60>>2]=c[c[r+8>>2]+60>>2],f=c[r+16>>2],c[r+16>>2]=A,f&&xe(f),Z=a- -64|0,b=c[r+16>>2],c[b+80>>2]&&(_=c[c[b>>2]>>2])&&!((0|(a=l=c[i+12>>2]))<=(0|(f=c[i+20>>2]))&(o=c[i+8>>2])>>>0<=(s=c[i+16>>2])>>>0|(0|f)>(0|a)))){p=y(u,t),u=_+c[b+48>>2]|0,b=c[i>>2],_=k[b+s|0],A=(a=s+1|0)?f:f+1|0,c[i+16>>2]=a,c[i+20>>2]=A;e:{i:{if(_){if(F(p,t,i,u))break i;break r}if((0|A)>=(0|l)&a>>>0>=o>>>0|(0|A)>(0|l))break r;if(o=k[a+b|0],f=(A=s+2|0)>>>0<2?f+1|0:f,c[i+16>>2]=A,c[i+20>>2]=f,f=c[c[r+16>>2]+64>>2],f=c[f+4>>2]-c[f>>2]|0,(0|o)!=c[2541]){if(f>>>0<y(o,p)>>>0)break r;if(a=(f=c[i+8>>2])-(A=c[i+16>>2])|0,l=f>>>0<A>>>0,f=c[i+20>>2],s=c[i+12>>2]-(l+f|0)|0,(l=$e(o,0,p,0)>>>0>a>>>0)&(0|(a=E))>=(0|s)|(0|a)>(0|s))break r;if(a=1,!p)break e;for(b=0;;){if((a=A+o|0)>>>0>(s=c[i+8>>2])>>>0&(0|(f=a>>>0<o>>>0?f+1|0:f))>=(0|(_=c[i+12>>2]))|(0|f)>(0|_))return 0;if(hr(u+(b<<2)|0,c[i>>2]+A|0,o),f=c[i+20>>2],f=(A=o+c[i+16>>2]|0)>>>0<o>>>0?f+1|0:f,c[i+16>>2]=A,c[i+20>>2]=f,(0|p)==(0|(b=b+1|0)))break}}else{if((a=p<<2)>>>0>f>>>0)break r;if(o=c[i+8>>2],s=c[i+12>>2],_=c[i+20>>2],(A=a+(f=c[i+16>>2])|0)>>>0>o>>>0&(0|(_=A>>>0<a>>>0?_+1|0:_))>=(0|s)|(0|_)>(0|s))break r;hr(u,f+c[i>>2]|0,a),A=c[i+20>>2],A=(f=a+c[i+16>>2]|0)>>>0<a>>>0?A+1|0:A,c[i+16>>2]=f,c[i+20>>2]=A}}if(a=1,p&&!((f=c[r+20>>2])&&(a=0,0|Zt[c[c[f>>2]+32>>2]](f)))){if(o=0,b=0,!((0|p)<=0)){if(1!=(0|p))for(A=-2&p;f=c[(a=o<<2)+u>>2],c[a+u>>2]=0-(1&f)^f>>>1,a=c[(f=4|a)+u>>2],c[f+u>>2]=0-(1&a)^a>>>1,o=o+2|0,(0|A)!=(0|(b=b+2|0)););1&p&&(A=c[(f=o<<2)+u>>2],c[f+u>>2]=0-(1&A)^A>>>1)}a=0}}if(f=a,A=c[r+20>>2]){if(!(0|Zt[c[c[A>>2]+40>>2]](A,i)))break r;if(!(f||(r=c[r+20>>2],0|Zt[c[c[r>>2]+44>>2]](r,u,u,p,t,c[e>>2]))))break r}d=1}return 0|d}function or(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0,s=0,p=0,l=0,y=0;r:if(_[e+38>>1]&&Ze(1,r+12|0,e)&&!((n=(t=c[e+8>>2])-(f=c[e+16>>2])|0)>>>0<(a=c[r+12>>2])>>>6>>>0&(0|(t=c[e+12>>2]-(c[e+20>>2]+(t>>>0<f>>>0)|0)|0))<=0|(0|t)<0)){if(t=c[r>>2],(i=c[r+4>>2]-t>>2)>>>0<a>>>0?(_e(r,a-i|0),a=c[r+12>>2]):i>>>0<=a>>>0||(c[r+4>>2]=t+(a<<2)),!a)return 1;for(t=c[e+16>>2],i=c[e+20>>2],s=c[r>>2],b=c[e+8>>2],o=c[e+12>>2],n=0;;){if((0|i)>=(0|o)&t>>>0>=b>>>0|(0|i)>(0|o))return 0;p=c[e>>2],u=k[p+t|0],i=(t=t+1|0)?i:i+1|0,c[e+16>>2]=t,c[e+20>>2]=i,f=u>>>2|0,A=0;e:{i:{t:{f:switch(0|(l=3&u)){case 3:break f;case 0:break i;default:break t}if((f=f+n|0)>>>0>=a>>>0)return 0;Sr(s+(n<<2)|0,0,4+(252&u)|0),n=f;break e}for(;;){if((0|t)==(0|b)&(0|i)==(0|o))break r;if(a=k[t+p|0],i=(t=t+1|0)?i:i+1|0,c[e+16>>2]=t,c[e+20>>2]=i,f|=a<<(A<<3|6),(0|l)==(0|(A=A+1|0)))break}}c[s+(n<<2)>>2]=f}if(!((a=c[r+12>>2])>>>0>(n=n+1|0)>>>0))break}if(e=r+16|0,b=c[r>>2],t=c[r+16>>2],(i=c[r+20>>2]-t|0)>>>0<=16383?_e(e,4096-(i>>>2|0)|0):16384!=(0|i)&&(c[r+20>>2]=t+16384),n=c[(i=r+28|0)>>2],(t=c[r+32>>2]-n>>3)>>>0<a>>>0)ye(i,a-t|0),n=c[i>>2];else if(t>>>0>a>>>0&&(c[r+32>>2]=(a<<3)+n),!a)break r;for(t=c[e>>2],e=0,r=0;;){if(A=c[(i=b+(e<<2)|0)>>2],f=r,c[(o=(e<<3)+n|0)+4>>2]=r,c[o>>2]=A,(r=(i=c[i>>2])+r|0)>>>0>4096)break r;if(!(r>>>0<=f>>>0)){if(A=0,o=7&i)for(;c[t+(f<<2)>>2]=e,f=f+1|0,(0|o)!=(0|(A=A+1|0)););if(!(i-1>>>0<=6))for(;c[(i=t+(f<<2)|0)>>2]=e,c[i+28>>2]=e,c[i+24>>2]=e,c[i+20>>2]=e,c[i+16>>2]=e,c[i+12>>2]=e,c[i+8>>2]=e,c[i+4>>2]=e,(0|(f=f+8|0))!=(0|r););}if((0|a)==(0|(e=e+1|0)))break}y=4096==(0|r)}return y}function br(r,e){r|=0;var i,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0;Z=i=Z-80|0;r:if(Ge(1,i+76|0,e|=0)&&(u=c[i+76>>2])&&!((t=$e((t=c[e+8>>2])-(a=c[e+16>>2])|0,c[e+12>>2]-(c[e+20>>2]+(t>>>0<a>>>0)|0)|0,5,0))>>>0<u>>>0&(0|(a=E))<=0|(0|a)<0)){for(t=c[r+4>>2],(f=c[r+8>>2]-t>>2)>>>0<u>>>0?_e(r+4|0,u-f|0):f>>>0<=u>>>0||(c[r+8>>2]=t+(u<<2)),d=r+16|0,_=c[r+32>>2];;){if((0|(t=n=c[e+12>>2]))<=(0|(f=c[e+20>>2]))&(A=c[e+8>>2])>>>0<=(a=c[e+16>>2])>>>0|(0|t)<(0|f)){f=0;break r}if(s=c[e>>2],m=k[s+a|0],t=f,t=(o=a+1|0)?t:t+1|0,c[e+16>>2]=o,c[e+20>>2]=t,A>>>0<=o>>>0&(0|t)>=(0|n)|(0|t)>(0|n)){f=0;break r}if(o=k[o+s|0],t=f,t=(b=a+2|0)>>>0<2?t+1|0:t,c[e+16>>2]=b,c[e+20>>2]=t,A>>>0<=b>>>0&(0|t)>=(0|n)|(0|t)>(0|n)){f=0;break r}if(b=k[b+s|0],t=f,t=(p=a+3|0)>>>0<3?t+1|0:t,c[e+16>>2]=p,c[e+20>>2]=t,A>>>0<=p>>>0&(0|t)>=(0|n)|(0|t)>(0|n)){f=0;break r}if(A=k[s+p|0],t=f,t=(f=a+4|0)>>>0<4?t+1|0:t,c[e+16>>2]=f,c[e+20>>2]=t,m>>>0>4){f=0;break r}if((o-12&255)>>>0<245){f=0;break r}if(!b){f=0;break r}if(t=ai(i+8|0),n=!!(0|A),f=(f=o-1|0)>>>0<=10?c[10148+(f<<2)>>2]:-1,yi(t,m,b,o,n,f=y(f,b),f>>31),Ge(1,i+4|0,e)){if(a=c[i+4>>2],c[i+68>>2]=a,f=ee(vi(96),t),Zt[c[c[_>>2]+8>>2]](_,c[_+12>>2]-c[_+8>>2]>>2,f),f=(c[_+12>>2]-c[_+8>>2]>>2)-1|0,c[c[(A=f<<2)+c[_+8>>2]>>2]+60>>2]=a,c[c[r+4>>2]+(l<<2)>>2]=f,t=c[r+16>>2],(0|(a=c[r+20>>2]-t>>2))>(0|f)||(c[i>>2]=-1,(f=f+1|0)>>>0>a>>>0?(Nr(d,f-a|0,i),t=c[d>>2]):f>>>0>=a>>>0||(c[r+20>>2]=(f<<2)+t)),c[t+A>>2]=l,f=1,(0|(l=l+1|0))!=(0|u))continue;break r}break}f=0}return Z=i+80|0,0|f}function ur(r,e,i){r|=0,e|=0,i|=0;var t,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0,s=0;Z=t=Z-16|0,c[t+8>>2]=i;r:if(!((0|(A=(b=c[r+12>>2])-(f=c[r+8>>2])>>2))>(0|e)))if((a=e+1|0)>>>0>A>>>0){if((_=a-A|0)>>>0<=(n=c[r+16>>2])-(f=c[r+12>>2])>>2>>>0){_&&(f=Sr(a=f,0,f=_<<2)+f|0),c[r+12>>2]=f;break r}e:{i:{t:{if((u=(A=f-(s=c[r+8>>2])>>2)+_|0)>>>0<1073741824){if(n=(a=n-s|0)>>>1|0,a=a>>>0>=2147483644?1073741823:n>>>0>u>>>0?n:u){if(a>>>0>=1073741824)break t;k=vi(a<<2)}if(A=(n=_<<2)+(u=Sr(b=(A<<2)+k|0,0,n))|0,a=(a<<2)+k|0,(0|f)==(0|s))break i;for(;n=c[(f=f-4|0)>>2],c[f>>2]=0,c[(b=b-4|0)>>2]=n,(0|f)!=(0|s););if(c[r+16>>2]=a,a=c[r+12>>2],c[r+12>>2]=A,f=c[r+8>>2],c[r+8>>2]=b,(0|f)==(0|a))break e;for(;n=c[(a=a-4|0)>>2],c[a>>2]=0,n&&xe(n),(0|f)!=(0|a););break e}mt(),o()}Zi(),o()}c[r+16>>2]=a,c[r+12>>2]=A,c[r+8>>2]=u}f&&er(f)}else if(!(a>>>0>=A>>>0)){if((0|(f=f+(a<<2)|0))!=(0|b)){for(;i=c[(b=b-4|0)>>2],c[b>>2]=0,i&&xe(i),(0|f)!=(0|b););i=c[t+8>>2]}c[r+12>>2]=f}r:{e:{if(!((0|(f=c[i+56>>2]))>4))if(k=y(f,12)+r|0,(0|(f=c[k+24>>2]))==c[k+28>>2]){if((a=(n=(A=f-(u=c[k+20>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(f=A>>>1|0,a=A>>>0>=2147483644?1073741823:f>>>0>a>>>0?f:a){if(a>>>0>=1073741824)break r;f=vi(a<<2)}else f=0;c[(n=f+(n<<2)|0)>>2]=e,f=gr(f,u,A),c[k+20>>2]=f,c[k+24>>2]=n+4,c[k+28>>2]=f+(a<<2),u&&er(u)}else c[f>>2]=e,c[k+24>>2]=f+4;return c[i+60>>2]=e,r=c[r+8>>2],c[t+8>>2]=0,e=c[(r=r+(e<<2)|0)>>2],c[r>>2]=i,e&&xe(e),r=c[t+8>>2],c[t+8>>2]=0,r&&xe(r),void(Z=t+16|0)}mt(),o()}Zi(),o()}function cr(r,e){var i,t,f=0,a=0,n=0,A=0,b=0,u=0,k=0,_=0,s=0,p=0;Z=i=Z-16|0,c[i>>2]=e,A=-1,-1!=(0|e)?(A=e+1|0,c[i+4>>2]=(A>>>0)%3|0?A:e-2|0,A=(e>>>0)%3|0?e-1|0:e+2|0):c[i+4>>2]=-1,c[i+8>>2]=A,t=(e>>>0)/3|0;r:{e:{i:{for(;;){t:if(-1!=(0|(k=c[(s<<2)+i>>2]))&&-1!=(0|(A=c[c[c[r+8>>2]+12>>2]+(k<<2)>>2]))){if(!(-1==(0|e)|(A>>>0)/3>>>0<t>>>0)&&(A=0,c[r+220>>2]!=c[r+216>>2]))for(;;){if(Se(c[r+368>>2]+(A<<4)|0))if(b=c[r+216>>2]+y(A,144)|0,(a=c[b+136>>2])>>>0<(f=c[b+140>>2])>>>0)c[a>>2]=k,c[b+136>>2]=a+4;else{if((u=(n=(_=(n=a)-(a=c[b+132>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(p=n<<2,n=(f=f-a|0)>>>1|0,u=f>>>0>=2147483644?1073741823:u>>>0<n>>>0?n:u){if(u>>>0>=1073741824)break e;f=vi(u<<2)}else f=0;c[(n=p+f|0)>>2]=k,f=gr(f,a,_),c[b+132>>2]=f,c[b+136>>2]=n+4,c[b+140>>2]=f+(u<<2),a&&er(a)}if(!((A=A+1|0)>>>0<(c[r+220>>2]-c[r+216>>2]|0)/144>>>0))break}}else{if(A=0,(0|(b=c[r+216>>2]))==c[r+220>>2])break t;for(;;){if(b=y(A,144)+b|0,(a=c[b+136>>2])>>>0<(f=c[b+140>>2])>>>0)c[a>>2]=k,c[b+136>>2]=a+4;else{if((u=(n=(_=(n=a)-(a=c[b+132>>2])|0)>>2)+1|0)>>>0>=1073741824)break i;if(p=n<<2,n=(f=f-a|0)>>>1|0,u=f>>>0>=2147483644?1073741823:u>>>0<n>>>0?n:u){if(u>>>0>=1073741824)break e;f=vi(u<<2)}else f=0;c[(n=p+f|0)>>2]=k,f=gr(f,a,_),c[b+132>>2]=f,c[b+136>>2]=n+4,c[b+140>>2]=f+(u<<2),a&&er(a)}if(A=A+1|0,b=c[r+216>>2],!(A>>>0<(c[r+220>>2]-b|0)/144>>>0))break}}if(3==(0|(s=s+1|0)))break}return Z=i+16|0,1}mt(),o()}Zi(),o()}mt(),o()}function kr(r,e){var i,t=0,f=0,a=0,A=0,b=0,u=0,p=0,l=0,d=0,m=0;Z=i=Z-16|0,m=-1;r:{e:{i:if(Ie(1,i+12|0,e)){if(p=c[i+12>>2]){if(t=c[r+8>>2],(c[t+4>>2]-c[t>>2]>>2>>>0)/3>>>0<p>>>0)break i;for(;;){if(!Ie(1,i+8|0,e))break i;if(t=c[i+8>>2],!Ie(1,i+8|0,e))break i;if((b=t+b|0)>>>0<(t=c[i+8>>2])>>>0)break i;if(a=b-t|0,(0|(t=c[r+40>>2]))==c[r+44>>2]){if((A=(f=(0|(d=(f=t)-(t=c[r+36>>2])|0))/12|0)+1|0)>>>0>=357913942)break e;if(u=f<<1,A=f>>>0>=178956970?357913941:A>>>0<u>>>0?u:A){if(A>>>0>=357913942)break r;u=vi(y(A,12))}else u=0;f=u+y(f,12)|0,c[f+4>>2]=b,c[f>>2]=a,a=gr(f+y((0|d)/-12|0,12)|0,t,d),c[r+44>>2]=u+y(A,12),c[r+40>>2]=f+12,c[r+36>>2]=a,t&&er(t)}else c[t+4>>2]=b,c[t>>2]=a,c[r+40>>2]=t+12,p=c[i+12>>2];if(!((l=l+1|0)>>>0<p>>>0))break}if(b=0,bi(e,0,0),p)for(;;){t=k[e+36|0];t:{f:{if((65535&((f=_[c[r+4>>2]+36>>1])<<8|f>>>8))>>>0<=513){if(!t)break t;if(a=0,(t=(l=(f=c[e+32>>2])>>>3|0)+(A=c[e+24>>2])|0)>>>0>=(u=c[e+28>>2])>>>0?t=f:(a=k[0|t],t=f+1|0,c[e+32>>2]=t,l=t>>>3|0,a=a>>>(7&f)&1),u>>>0>A+l>>>0)break f;break t}if(!t)break t;if(a=0,t=c[e+32>>2],(f=c[e+24>>2]+(t>>>3|0)|0)>>>0>=s[e+28>>2])break t;a=k[0|f]>>>(7&t)&1}c[e+32>>2]=t+1}if(t=c[r+36>>2]+y(b,12)|0,n[t+8|0]=254&k[t+8|0]|1&a,(0|p)==(0|(b=b+1|0)))break}n[e+36|0]=0,f=c[e+20>>2],r=0,t=(a=(r=(a=c[e+32>>2]+7|0)>>>0<7?1:r)<<29|a>>>3)+c[e+16>>2]|0,r=(r>>>3|0)+f|0,c[e+16>>2]=t,c[e+20>>2]=t>>>0<a>>>0?r+1|0:r}m=c[e+16>>2]}return Z=i+16|0,m}mt(),o()}Zi(),o()}function _r(r,e,i,t){var f,a,n,A=0,o=0,b=0,u=0,k=0,_=0,s=0;if(f=c[e+16>>2],u=c[i+4>>2]-f|0,A=c[i>>2]-f|0,c[i>>2]=A,o=u,c[i+4>>2]=o,n=(a=c[e+16>>2])>>>0>=(b=(u^(o>>=31))-o|0)+(((o=A>>31)^A)-o|0)>>>0)o=u;else{r:{e:{if((0|A)>=0){if(b=1,_=1,(0|u)>=0)break r;if(k=1,b=-1,_=-1,A)break e;break r}if(k=-1,b=-1,_=-1,(0|u)<=0)break r}b=(0|u)<=0?-1:1,_=k}o=(A<<1)-(s=y(_,a))|0,o=(((k=(0|y(b,_))>=0)?0-o|0:o)+(A=y(b,a))|0)/2|0,c[i+4>>2]=o,A=(u<<1)-A|0,A=((k?0-A|0:A)+s|0)/2|0,c[i>>2]=A}r:{e:{i:{t:{f:{a:{n:{if(A){if((0|A)<0)break n;if((0|o)>=0)break a;break i}if(o)break f;_=1,b=0,o=0,k=0;break r}if(_=1,(0|o)>0)break t;k=(0|o)>0?3:0,b=o,o=A;break r}b=0-o|0,o=0-A|0,k=2;break e}if((0|o)<=0)break i}o=0-o|0,b=A,k=3;break e}b=0-A|0,k=1}c[i>>2]=o,c[i+4>>2]=b,_=0}(0|(A=c[t>>2]+o|0))>(0|(u=c[e+16>>2]))?A=A-c[e+4>>2]|0:(0-u|0)<=(0|A)||(A=c[e+4>>2]+A|0),(0|u)<(0|(i=c[t+4>>2]+b|0))?i=i-c[e+4>>2]|0:(0-u|0)<=(0|i)||(i=c[e+4>>2]+i|0);r:if(_)e=i;else{e=i;e:{i:{t:switch(((t=4-k|0)>>>0<4?t:0-k|0)-1|0){case 2:break e;case 1:break i;case 0:break t;default:break r}e=0-A|0,A=i;break r}e=0-i|0,A=0-A|0;break r}e=A,A=0-i|0}if(n)i=e;else{r:{e:{if((0|A)>=0){if(i=1,o=1,(0|e)>=0)break r;if(t=1,i=-1,o=-1,A)break e;break r}if(t=-1,i=-1,o=-1,(0|e)<=0)break r}i=(0|e)<=0?-1:1,o=t}t=(t=A<<1)-(A=y(o,u))|0,i=((b=(o=(0|y(i,o))>=0)?0-t|0:t)+(t=y(i,u))|0)/2|0,e=(e<<1)-t|0,A=(A+(o?0-e|0:e)|0)/2|0}c[(e=r)>>2]=A+f,c[e+4>>2]=i+f}function sr(r,e){r|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,_=0,p=0,l=0;if(Z=i=Z-16|0,t=c[(e|=0)+20>>2],t=(a=(f=c[e+16>>2])+4|0)>>>0<4?t+1|0:t,o=c[e+12>>2],!(s[e+8>>2]<a>>>0&(0|o)<=(0|t)|(0|t)>(0|o))&&(f=f+c[e>>2]|0,b=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[e+16>>2]=a,c[e+20>>2]=t,!((0|b)<0)&&(Zr(r+76|0,b),c[(t=i)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,Er(t,e)))){if(b)for(o=1;f=1<<u,a=Se(t),A=c[r+76>>2]+(u>>>3&536870908)|0,1&(a^=o)?f=c[A>>2]&(-1^f):f|=c[A>>2],o=1^a,c[A>>2]=f,(0|b)!=(0|(u=u+1|0)););u=0,t=c[e+8>>2],A=a=c[e+12>>2],o=a=c[e+20>>2],b=f=(p=c[e+16>>2])+4|0,f>>>0>t>>>0&(0|(a=f>>>0<4?a+1|0:a))>=(0|A)|(0|a)>(0|A)||(l=c[e>>2],_=k[0|(f=l+p|0)]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[e+16>>2]=b,c[e+20>>2]=a,f=t,t=o,f>>>0<(a=p+8|0)>>>0&(0|(t=a>>>0<8?t+1|0:t))>=(0|A)|(0|t)>(0|A)||(f=k[0|(f=b+l|0)]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[e+16>>2]=a,c[e+20>>2]=t,(0|f)<(0|_)||(c[r+16>>2]=f,c[r+12>>2]=_,!(t=(f>>31)-((_>>31)+(f>>>0<_>>>0)|0)|0)&(e=f-_|0)>>>0>2147483646|t||(u=1,t=e+1|0,c[r+20>>2]=t,e=t>>>1|0,c[r+24>>2]=e,c[r+28>>2]=0-e,1&t||(c[r+24>>2]=e-1)))))}return Z=i+16|0,0|u}function pr(r,e,i,t){r|=0,i|=0,t|=0;var f,a,A=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0,v=0;r=0,Z=a=Z-16|0,f=c[(e|=0)+80>>2],A=k[i+24|0],e=y(f,A);r:{e:{i:{t:{if(b=c[i+28>>2],!(!k[i+84|0]|5!=(0|b)&6!=(0|b))){if(A=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,e){if((0|e)<0)break t;u=hr(r=vi(e<<=2),i+A|0,e)+e|0}(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t+8>>2]=u,c[t+4>>2]=u,c[t>>2]=r,_=1;break r}if(A&&Sr(r=vi(b=A<<2),0,b),s=c[t>>2],(b=c[t+4>>2]-s>>2)>>>0<e>>>0?_e(t,e-b|0):e>>>0>=b>>>0||(c[t+4>>2]=s+(e<<2)),!f){_=1;break i}if(!A){for(e=0;;){if(!M(i,k[i+84|0]?e:c[c[i+68>>2]+(e<<2)>>2],n[i+24|0],r))break i;if(_=f>>>0<=(e=e+1|0)>>>0,(0|e)==(0|f))break}break i}for(m=252&A,l=3&A,v=A>>>0<4,A=0;;){if(!M(i,k[i+84|0]?A:c[c[i+68>>2]+(A<<2)>>2],n[i+24|0],r))break i;if(d=c[t>>2],p=0,e=0,_=0,!v)for(;s=e<<2,c[(b=(u<<2)+d|0)>>2]=c[s+r>>2],c[b+4>>2]=c[(4|s)+r>>2],c[b+8>>2]=c[(8|s)+r>>2],c[b+12>>2]=c[(12|s)+r>>2],e=e+4|0,u=u+4|0,(0|m)!=(0|(_=_+4|0)););if(l)for(;c[(u<<2)+d>>2]=c[(e<<2)+r>>2],e=e+1|0,u=u+1|0,(0|(p=p+1|0))!=(0|l););if(_=f>>>0<=(A=A+1|0)>>>0,(0|A)==(0|f))break}break e}mt(),o()}if(!r)break r}er(r)}return Z=a+16|0,0|_}function lr(r,e){var i=0,t=0,f=0,a=0,n=0;a=-1,t=-1,-1!=(0|e)&&(a=((t=e+1|0)>>>0)%3|0?t:e-2|0,t=e-1|0,(e>>>0)%3|0||(t=e+2|0));r:{e:{i:switch(c[r+168>>2]){case 0:case 1:f=c[r+148>>2],i=1,n=(e=c[r+156>>2])+((-1==(0|a)?-1:c[c[f>>2]+(a<<2)>>2])<<2)|0,c[n>>2]=c[n>>2]+1,e=((-1==(0|t)?-1:c[c[f>>2]+(t<<2)>>2])<<2)+e|0;break e;case 5:f=c[r+148>>2],i=-1,i=(-1!=(0|e)?c[c[f>>2]+(e<<2)>>2]:i)<<2,e=c[r+156>>2],c[(i=i+e|0)>>2]=c[i>>2]+1,i=((-1==(0|a)?-1:c[c[f>>2]+(a<<2)>>2])<<2)+e|0,c[i>>2]=c[i>>2]+1,i=2,e=((-1==(0|t)?-1:c[c[f>>2]+(t<<2)>>2])<<2)+e|0;break e;case 3:f=c[r+148>>2],i=-1,i=(-1!=(0|e)?c[c[f>>2]+(e<<2)>>2]:i)<<2,e=c[r+156>>2],c[(i=i+e|0)>>2]=c[i>>2]+1,i=((-1==(0|a)?-1:c[c[f>>2]+(a<<2)>>2])<<2)+e|0,c[i>>2]=c[i>>2]+2,i=1,e=((-1==(0|t)?-1:c[c[f>>2]+(t<<2)>>2])<<2)+e|0;break e;case 7:break i;default:break r}f=c[r+148>>2],i=-1,i=(-1!=(0|e)?c[c[f>>2]+(e<<2)>>2]:i)<<2,e=c[r+156>>2],c[(i=i+e|0)>>2]=c[i>>2]+2,i=((-1==(0|a)?-1:c[c[f>>2]+(a<<2)>>2])<<2)+e|0,c[i>>2]=c[i>>2]+2,i=2,e=((-1==(0|t)?-1:c[c[f>>2]+(t<<2)>>2])<<2)+e|0}c[e>>2]=c[e>>2]+i}i=r,e=c[c[r+156>>2]+((-1==(0|a)?-1:c[c[c[r+148>>2]>>2]+(a<<2)>>2])<<2)>>2],t=c[r+180>>2],r=c[r+176>>2],c[i+172>>2]=(0|r)<=(0|e)?((0|e)<(0|t)?e:t)-r|0:0}function yr(r,e,i){var t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0;if((t=c[r+8>>2])-(f=c[r+4>>2])>>2>>>0>=e>>>0){if(e){if(t=f,n=7&e)for(;c[t>>2]=c[i>>2],t=t+4|0,(0|n)!=(0|(a=a+1|0)););if(f=(e<<2)+f|0,!((e-1&1073741823)>>>0<7))for(;c[t>>2]=c[i>>2],c[t+4>>2]=c[i>>2],c[t+8>>2]=c[i>>2],c[t+12>>2]=c[i>>2],c[t+16>>2]=c[i>>2],c[t+20>>2]=c[i>>2],c[t+24>>2]=c[i>>2],c[t+28>>2]=c[i>>2],(0|f)!=(0|(t=t+32|0)););}c[r+4>>2]=f}else{r:{if((A=(a=f-(b=c[r>>2])>>2)+e|0)>>>0<1073741824){if(t=(u=t-b|0)>>>1|0,A=u>>>0>=2147483644?1073741823:t>>>0>A>>>0?t:A){if(A>>>0>=1073741824)break r;k=vi(A<<2)}if(t=a=(a<<2)+k|0,u=7&e)for(;c[t>>2]=c[i>>2],t=t+4|0,(0|u)!=(0|(n=n+1|0)););if(n=(e<<2)+a|0,(e-1&1073741823)>>>0>=7)for(;c[t>>2]=c[i>>2],c[t+4>>2]=c[i>>2],c[t+8>>2]=c[i>>2],c[t+12>>2]=c[i>>2],c[t+16>>2]=c[i>>2],c[t+20>>2]=c[i>>2],c[t+24>>2]=c[i>>2],c[t+28>>2]=c[i>>2],(0|n)!=(0|(t=t+32|0)););if((0|f)!=(0|b))for(;f=f-4|0,c[(a=a-4|0)>>2]=c[f>>2],(0|f)!=(0|b););return c[r+8>>2]=(A<<2)+k,c[r+4>>2]=n,c[r>>2]=a,void(b&&er(b))}mt(),o()}Zi(),o()}}function dr(r,e,i){var t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0;if((t=c[r+8>>2])-(f=c[r>>2])>>2>>>0>=e>>>0){if(b=e>>>0>(A=(a=c[r+4>>2])-f>>2)>>>0?A:e){if(t=f,u=7&(n=b))for(;c[t>>2]=c[i>>2],n=n-1|0,t=t+4|0,(0|(k=k+1|0))!=(0|u););if(!(b>>>0<8))for(;c[t>>2]=c[i>>2],c[t+4>>2]=c[i>>2],c[t+8>>2]=c[i>>2],c[t+12>>2]=c[i>>2],c[t+16>>2]=c[i>>2],c[t+20>>2]=c[i>>2],c[t+24>>2]=c[i>>2],c[t+28>>2]=c[i>>2],t=t+32|0,n=n-8|0;);}if(e>>>0>A>>>0){for(e=(e-A<<2)+a|0;c[a>>2]=c[i>>2],(0|e)!=(0|(a=a+4|0)););return void(c[r+4>>2]=e)}c[r+4>>2]=f+(e<<2)}else if(f&&(c[r+4>>2]=f,er(f),c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0,t=0),e>>>0>=1073741824||(f=t>>>1|0,(t=t>>>0>=2147483644?1073741823:e>>>0<f>>>0?f:e)>>>0>=1073741824))mt(),o();else{if(f=vi(t<<=2),c[r>>2]=f,c[r+8>>2]=t+f,i=c[i>>2],t=f,n=7&e)for(;c[t>>2]=i,t=t+4|0,(0|n)!=(0|(a=a+1|0)););if(f=f+(e<<2)|0,(e-1&1073741823)>>>0>=7)for(;c[t+28>>2]=i,c[t+24>>2]=i,c[t+20>>2]=i,c[t+16>>2]=i,c[t+12>>2]=i,c[t+8>>2]=i,c[t+4>>2]=i,c[t>>2]=i,(0|f)!=(0|(t=t+32|0)););c[r+4>>2]=f}}function mr(r,e,i){var t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0;a=(i>>>0)/3|0,u=c[(c[c[r+8>>2]+96>>2]+y(a,12)|0)+(i-y(a,3)<<2)>>2];r:if(A=c[c[r+12>>2]+4>>2],(0|(f=c[A+4>>2]))==c[A+8>>2]){e:{if((t=(n=(a=f-(b=c[A>>2])|0)>>2)+1|0)>>>0<1073741824){if(k=n<<2,n=a>>>1|0,n=a>>>0>=2147483644?1073741823:t>>>0<n>>>0?n:t){if(n>>>0>=1073741824)break e;a=vi(n<<2)}else a=0;if(c[(t=k+a|0)>>2]=u,u=t+4|0,(0|f)!=(0|b))for(;f=f-4|0,c[(t=t-4|0)>>2]=c[f>>2],(0|f)!=(0|b););c[A+8>>2]=a+(n<<2),c[A+4>>2]=u,c[A>>2]=t,b&&er(b);break r}mt(),o()}Zi(),o()}else c[f>>2]=u,c[A+4>>2]=f+4;r:{e:{if(A=c[r+4>>2],(0|(f=c[A+4>>2]))==c[A+8>>2]){if((t=(u=(a=f-(b=c[A>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(n=a>>>1|0,n=a>>>0>=2147483644?1073741823:t>>>0<n>>>0?n:t){if(n>>>0>=1073741824)break r;a=vi(n<<2)}else a=0;if(c[(t=a+(u<<2)|0)>>2]=i,i=t+4|0,(0|f)!=(0|b))for(;f=f-4|0,c[(t=t-4|0)>>2]=c[f>>2],(0|f)!=(0|b););c[A+8>>2]=a+(n<<2),c[A+4>>2]=i,c[A>>2]=t,b&&er(b)}else c[f>>2]=i,c[A+4>>2]=f+4;return r=c[r+4>>2],c[c[r+12>>2]+(e<<2)>>2]=c[r+24>>2],void(c[r+24>>2]=c[r+24>>2]+1)}mt(),o()}Zi(),o()}function vr(r,e,i,t){var f,a=0,A=0,b=0,u=0,_=0,s=0;if(!((0|(f=t-i|0))<=0)){r:{if(((a=c[r+8>>2])-(u=c[r+4>>2])|0)>=(0|f)){if((0|(_=u-e|0))>=(0|f)){A=u,b=t;break r}if(A=u,(0|(b=i+_|0))!=(0|t))for(a=b;n[0|A]=k[0|a],A=A+1|0,(0|(a=a+1|0))!=(0|t););if(c[r+4>>2]=A,(0|_)>0)break r;return}if((0|(b=(u-(s=c[r>>2])|0)+f|0))>=0)return a=(A=a-s|0)<<1,b=(_=e-s|0)+(a=(A=A>>>0>=1073741823?2147483647:a>>>0>b>>>0?a:b)?vi(A):0)|0,(0|i)!=(0|t)&&(b=hr(b,i,f)+f|0),t=gr(a,s,_),e=gr(b,e,i=u-e|0),c[r+8>>2]=a+A,c[r+4>>2]=e+i,c[r>>2]=t,void(s&&er(s));mt(),o()}if(u>>>0>(t=(a=A)-f|0)>>>0)for(;n[0|a]=k[0|t],a=a+1|0,u>>>0>(t=t+1|0)>>>0;);if(c[r+4>>2]=a,(0|(r=e+f|0))!=(0|A)&&gr(A-(r=A-r|0)|0,e,r),(0|i)!=(0|b)){if(A=(-1^i)+b|0,r=b-i&7)for(t=0,a=e;n[0|a]=k[0|i],a=a+1|0,i=i+1|0,(0|r)!=(0|(t=t+1|0)););else a=e;if(!(A>>>0<7))for(;n[0|a]=k[0|i],n[a+1|0]=k[i+1|0],n[a+2|0]=k[i+2|0],n[a+3|0]=k[i+3|0],n[a+4|0]=k[i+4|0],n[a+5|0]=k[i+5|0],n[a+6|0]=k[i+6|0],n[a+7|0]=k[i+7|0],a=a+8|0,(0|b)!=(0|(i=i+8|0)););}}}function hr(r,e,i){var t,f=0,a=0;if(i>>>0>=512)return G(0|r,0|e,0|i),r;t=r+i|0;r:if(3&(r^e))if(t>>>0<4)i=r;else if((f=t-4|0)>>>0<r>>>0)i=r;else for(i=r;n[0|i]=k[0|e],n[i+1|0]=k[e+1|0],n[i+2|0]=k[e+2|0],n[i+3|0]=k[e+3|0],e=e+4|0,f>>>0>=(i=i+4|0)>>>0;);else{e:if(3&r)if(i)for(i=r;;){if(n[0|i]=k[0|e],e=e+1|0,!(3&(i=i+1|0)))break e;if(!(i>>>0<t>>>0))break}else i=r;else i=r;if(!((f=-4&t)>>>0<64||(a=f+-64|0)>>>0<i>>>0))for(;c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],c[i+16>>2]=c[e+16>>2],c[i+20>>2]=c[e+20>>2],c[i+24>>2]=c[e+24>>2],c[i+28>>2]=c[e+28>>2],c[i+32>>2]=c[e+32>>2],c[i+36>>2]=c[e+36>>2],c[i+40>>2]=c[e+40>>2],c[i+44>>2]=c[e+44>>2],c[i+48>>2]=c[e+48>>2],c[i+52>>2]=c[e+52>>2],c[i+56>>2]=c[e+56>>2],c[i+60>>2]=c[e+60>>2],e=e- -64|0,a>>>0>=(i=i- -64|0)>>>0;);if(i>>>0>=f>>>0)break r;for(;c[i>>2]=c[e>>2],e=e+4|0,f>>>0>(i=i+4|0)>>>0;);}if(i>>>0<t>>>0)for(;n[0|i]=k[0|e],e=e+1|0,(0|t)!=(0|(i=i+1|0)););return r}function Rr(r){var e,i=0,t=0,f=0,a=0;if(c[(r|=0)>>2]=8336,(i=c[(e=r+232|0)+196>>2])&&(c[e+200>>2]=i,er(i)),t=c[e+184>>2]){if((0|(i=t))!=(0|(f=c[e+188>>2]))){for(;(a=c[(i=f-12|0)>>2])&&(c[f-8>>2]=a,er(a)),f=i,(0|i)!=(0|t););i=c[e+184>>2]}c[e+188>>2]=t,er(i)}if((i=c[e+156>>2])&&(c[e+160>>2]=i,er(i)),t=c[e+136>>2],c[e+136>>2]=0,t){if(i=c[(f=t-4|0)>>2])for(i=t+(i<<4)|0;(0|t)!=(0|(i=i-16|0)););er(f)}if(we(r+216|0),(i=c[r+196>>2])&&(c[r+200>>2]=i,er(i)),(i=c[r+184>>2])&&(c[r+188>>2]=i,er(i)),(i=c[r+172>>2])&&(c[r+176>>2]=i,er(i)),(i=c[r+160>>2])&&(c[r+164>>2]=i,er(i)),i=c[r+144>>2])for(;t=c[i>>2],er(i),i=t;);return i=c[r+136>>2],c[r+136>>2]=0,i&&er(i),(i=c[r+120>>2])&&er(i),(i=c[r+108>>2])&&er(i),(i=c[r+96>>2])&&er(i),(i=c[r+72>>2])&&(c[r+76>>2]=i,er(i)),(i=c[r+60>>2])&&er(i),(i=c[r+48>>2])&&(c[r+52>>2]=i,er(i)),(i=c[r+36>>2])&&(c[r+40>>2]=i,er(i)),(i=c[r+24>>2])&&(c[r+28>>2]=i,er(i)),(i=c[r+12>>2])&&(c[r+16>>2]=i,er(i)),i=c[r+8>>2],c[r+8>>2]=0,i&&ge(i),0|r}function Nr(r,e,i){var t=0,f=0,a=0,n=0,A=0,b=0,u=0,k=0;if((t=c[r+8>>2])-(f=c[r+4>>2])>>2>>>0>=e>>>0){if(e){if(t=f,a=7&e)for(;c[t>>2]=c[i>>2],t=t+4|0,(0|a)!=(0|(A=A+1|0)););if(f=(e<<2)+f|0,!((e-1&1073741823)>>>0<7))for(;c[t>>2]=c[i>>2],c[t+4>>2]=c[i>>2],c[t+8>>2]=c[i>>2],c[t+12>>2]=c[i>>2],c[t+16>>2]=c[i>>2],c[t+20>>2]=c[i>>2],c[t+24>>2]=c[i>>2],c[t+28>>2]=c[i>>2],(0|f)!=(0|(t=t+32|0)););}c[r+4>>2]=f}else{r:{if((n=(a=(u=f-(b=c[r>>2])|0)>>2)+e|0)>>>0<1073741824){if(f=(t=t-b|0)>>>1|0,n=t>>>0>=2147483644?1073741823:f>>>0>n>>>0?f:n){if(n>>>0>=1073741824)break r;k=vi(n<<2)}if(t=a=(a<<2)+k|0,f=7&e)for(;c[t>>2]=c[i>>2],t=t+4|0,(0|f)!=(0|(A=A+1|0)););if(f=a+(e<<2)|0,(e-1&1073741823)>>>0>=7)for(;c[t>>2]=c[i>>2],c[t+4>>2]=c[i>>2],c[t+8>>2]=c[i>>2],c[t+12>>2]=c[i>>2],c[t+16>>2]=c[i>>2],c[t+20>>2]=c[i>>2],c[t+24>>2]=c[i>>2],c[t+28>>2]=c[i>>2],(0|f)!=(0|(t=t+32|0)););return e=gr(k,b,u),c[r+4>>2]=f,c[r>>2]=e,c[r+8>>2]=e+(n<<2),void(b&&er(b))}mt(),o()}Zi(),o()}}function Tr(r,e){var i=0,t=0,f=0,a=0,A=0,b=0,u=0,_=0;if((t=k[r+11|0]>>>7|0?c[r+4>>2]:127&k[r+11|0])>>>0<e>>>0){if(Z=b=Z-16|0,e=e-t|0){for(A=k[r+11|0]>>>7|0?(2147483647&c[r+8>>2])-1|0:10,u=(t=k[r+11|0]>>>7|0?c[r+4>>2]:127&k[r+11|0])+e|0,A-t>>>0<e>>>0&&(Z=f=Z-16|0,(i=u-A|0)>>>0<=2147483631-A>>>0?(a=k[r+11|0]>>>7|0?c[r>>2]:r,A>>>0<1073741799?(c[f+12>>2]=A<<1,c[f>>2]=i+A,Z=i=Z-16|0,Z=i+16|0,i=f+12|0,i=(i=(i=c[(s[f>>2]<s[i>>2]?i:f)>>2])>>>0>=11?11==(0|(i=(_=i+16&-16)-1|0))?_:i:10)+1|0):i=2147483631,Ci(f,i),i=c[f>>2],t&&le(i,a,t),10!=(0|A)&&er(a),c[r>>2]=i,c[r+8>>2]=-2147483648&c[r+8>>2]|2147483647&c[f+4>>2],c[r+8>>2]=-2147483648|c[r+8>>2],Z=f+16|0):(yt(),o())),a=(a=t)+(t=k[r+11|0]>>>7|0?c[r>>2]:r)|0,Z=f=Z-16|0,n[f+15|0]=0;e;)n[0|a]=k[f+15|0],e=e-1|0,a=a+1|0;Z=f+16|0,Vi(r,u),n[b+15|0]=0,n[t+u|0]=k[b+15|0]}Z=b+16|0}else t=k[r+11|0]>>>7|0?c[r>>2]:r,Z=a=Z-16|0,Vi(r,e),n[a+15|0]=0,n[e+t|0]=k[a+15|0],Z=a+16|0}function Vr(r,e){var i,t=0,f=0,a=0,A=0,b=0;Z=i=Z-16|0;r:{e:{if(e){if(c[r+88>>2]=0,c[r+92>>2]=0,f=c[r+84>>2],c[r+84>>2]=0,f&&er(f),c[r+76>>2]=0,c[r+80>>2]=0,f=c[r+72>>2],c[r+72>>2]=0,f&&er(f),f=c[e>>2],t=c[e+4>>2],n[i+15|0]=0,xr(r,t-f>>2,i+15|0),f=c[e+28>>2],t=c[e+24>>2],n[i+14|0]=0,xr(r+12|0,f-t>>2,i+14|0),dr(r+28|0,c[e+4>>2]-c[e>>2]>>2,10284),A=(t=c[e+28>>2]-c[e+24>>2]|0)>>2,a=c[r+52>>2],!(A>>>0<=c[r+60>>2]-a>>2>>>0)){if((0|t)<0)break e;if(f=c[r+56>>2],A=(t=vi(t))+(A<<2)|0,t=b=t+(f-a&-4)|0,(0|f)!=(0|a))for(;f=f-4|0,c[(t=t-4|0)>>2]=c[f>>2],(0|f)!=(0|a););c[r+60>>2]=A,c[r+56>>2]=b,c[r+52>>2]=t,a&&er(a)}if(A=(t=c[e+28>>2]-c[e+24>>2]|0)>>2,a=c[r+40>>2],!(A>>>0<=c[r+48>>2]-a>>2>>>0)){if((0|t)<0)break r;if(f=c[r+44>>2],A=(t=vi(t))+(A<<2)|0,t=b=t+(f-a&-4)|0,(0|f)!=(0|a))for(;f=f-4|0,c[(t=t-4|0)>>2]=c[f>>2],(0|f)!=(0|a););c[r+48>>2]=A,c[r+44>>2]=b,c[r+40>>2]=t,a&&er(a)}n[r+24|0]=1,c[r+64>>2]=e}return void(Z=i+16|0)}mt(),o()}mt(),o()}function Ur(r,e){var i=0,t=0,f=0;i=(0|r)==(0|e),n[e+12|0]=i;r:if(!i)for(;;){if(t=c[e+8>>2],k[t+12|0])break r;e:{if(i=c[t+8>>2],(0|(f=c[i>>2]))==(0|t)){if(!(!(f=c[i+4>>2])|k[f+12|0]))break e;return c[t>>2]!=(0|e)?(e=c[t+4>>2],r=c[e>>2],c[t+4>>2]=r,r&&(c[r+8>>2]=t,i=c[t+8>>2]),c[e+8>>2]=i,r=c[t+8>>2],c[((c[r>>2]!=(0|t))<<2)+r>>2]=e,c[e>>2]=t,c[t+8>>2]=e,i=c[e+8>>2],t=c[i>>2]):e=t,n[e+12|0]=1,n[i+12|0]=0,r=c[t+4>>2],c[i>>2]=r,r&&(c[r+8>>2]=i),c[t+8>>2]=c[i+8>>2],r=c[i+8>>2],c[((c[r>>2]!=(0|i))<<2)+r>>2]=t,c[t+4>>2]=i,void(c[i+8>>2]=t)}if(k[f+12|0]|!f){c[t>>2]==(0|e)?(r=c[e+4>>2],c[t>>2]=r,r&&(c[r+8>>2]=t,i=c[t+8>>2]),c[e+8>>2]=i,r=c[t+8>>2],c[((c[r>>2]!=(0|t))<<2)+r>>2]=e,c[e+4>>2]=t,c[t+8>>2]=e,i=c[e+8>>2]):e=t,n[e+12|0]=1,n[i+12|0]=0,r=c[i+4>>2],e=c[r>>2],c[i+4>>2]=e,e&&(c[e+8>>2]=i),c[r+8>>2]=c[i+8>>2],e=c[i+8>>2],c[((c[e>>2]!=(0|i))<<2)+e>>2]=r,c[r>>2]=i,c[i+8>>2]=r;break r}}if(n[t+12|0]=1,n[i+12|0]=(0|r)==(0|i),n[f+12|0]=1,e=i,(0|i)==(0|r))break}}function Wr(r,e,i,t){var f=0,a=0,n=0,A=0,o=0,b=0,u=0,c=0,k=0;r:{e:{i:{t:{f:{a:{n:{A:{o:{b:{u:{if(e){if(!i)break u;if(!t)break b;if((f=v(t)-v(e)|0)>>>0<=31)break o;break i}if(1==(0|t)|t>>>0>1)break i;E=0,r=(r>>>0)/(i>>>0)|0;break r}if(!r)break A;if(!t|t-1&t)break n;r=e>>>Xi(t)|0,E=0;break r}if(!(i-1&i))break a;n=0-(A=(v(i)+33|0)-v(e)|0)|0;break t}A=f+1|0,n=63-f|0;break t}E=0,r=(e>>>0)/(t>>>0)|0;break r}if((f=v(t)-v(e)|0)>>>0<31)break f;break i}if(1==(0|i))break e;i=31&(t=Xi(i)),(63&t)>>>0>=32?r=e>>>i|0:(f=e>>>i|0,r=((1<<i)-1&e)<<32-i|r>>>i),E=f;break r}A=f+1|0,n=63-f|0}if(a=31&(f=63&A),f>>>0>=32?(f=0,o=e>>>a|0):(f=e>>>a|0,o=((1<<a)-1&e)<<32-a|r>>>a),a=31&(n&=63),n>>>0>=32?(e=r<<a,r=0):(e=(1<<a)-1&r>>>32-a|e<<a,r<<=a),A)for(a=t-1|0,k=-1!=(0|(n=i-1|0))?a+1|0:a;b=f<<1|o>>>31,o=(f=o<<1|e>>>31)-(u=i&(a=k-(b+(f>>>0>n>>>0)|0)>>31))|0,f=b-((t&a)+(f>>>0<u>>>0)|0)|0,e=e<<1|r>>>31,r=c|r<<1,c=1&a,A=A-1|0;);E=e<<1|r>>>31,r=c|r<<1;break r}r=0,e=0}E=e}return r}function Dr(r,e,i,t){var f=0,a=0,n=0,A=0,b=0,u=0;r:{e:{i:if(e){if((0|t)<0)break r;t:if(!((0|t)<=0&i>>>0<=(n=(f=c[r+4>>2])-(a=c[r>>2])|0)>>>0|(0|t)<0))if(i>>>0>n>>>0){if((t=i-n|0)>>>0<=(A=c[r+8>>2])-f>>>0){b=r,u=Sr(f,0,t)+t|0,c[b+4>>2]=u;break t}if((0|i)<0)break e;if(A=(f=A-a|0)<<1,Sr((A=vi(f=f>>>0>=1073741823?2147483647:i>>>0<A>>>0?A:i))+n|0,0,t),t=gr(A,a,n),c[r+8>>2]=t+f,c[r+4>>2]=i+t,c[r>>2]=t,!a)break t;er(a)}else i>>>0>=n>>>0||(c[r+4>>2]=i+a);i&&gr(c[r>>2],e,i)}else{if((0|t)<0)break r;if(i>>>0>(t=(a=c[r+4>>2])-(e=c[r>>2])|0)>>>0){if((n=i-t|0)>>>0<=(f=c[r+8>>2])-a>>>0){b=r,u=Sr(a,0,n)+n|0,c[b+4>>2]=u;break i}if((0|i)<0)break e;if(f=(a=f-e|0)<<1,Sr((f=vi(a=a>>>0>=1073741823?2147483647:i>>>0<f>>>0?f:i))+t|0,0,n),t=gr(f,e,t),c[r+8>>2]=t+a,c[r+4>>2]=i+t,c[r>>2]=t,!e)break i;er(e);break i}if(i>>>0>=t>>>0)break i;c[r+4>>2]=e+i}e=c[r+28>>2],e=(i=c[r+24>>2]+1|0)?e:e+1|0,c[r+24>>2]=i,c[r+28>>2]=e,n=1;break r}mt(),o()}return n}function Gr(r,e,i){r|=0,e|=0,i|=0;var t,f=0,a=0,n=0,A=0,o=0,b=d(0),u=0,_=0,s=0,l=0,y=0,m=0,v=0,h=0,R=0,N=0,T=0;if(Z=t=Z-16|0,9==c[i+28>>2]){if(f=c[r+4>>2],n=vi(a=(o=k[i+24|0])<<2),c[(_=t+8|0)>>2]=1065353216,b=p[r+20>>2],(0|(f=~(-1<<f)))>0&&(p[_>>2]=b/d(0|f)),(y=(0|f)>0)&&(u=c[i+80>>2]))if(o)for(m=c[c[e>>2]>>2]+c[e+48>>2]|0,N=254&o,T=1&o,e=0;;){if(s=c[r+8>>2],b=p[_>>2],f=0,l=0,1!=(0|o))for(;v=(e<<2)+m|0,p[(A=f<<2)+n>>2]=d(b*d(c[v>>2]))+p[A+s>>2],p[(A|=4)+n>>2]=d(b*d(c[v+4>>2]))+p[A+s>>2],f=f+2|0,e=e+2|0,(0|N)!=(0|(l=l+2|0)););if(T&&(p[(f<<=2)+n>>2]=d(b*d(c[(e<<2)+m>>2]))+p[f+s>>2],e=e+1|0),hr(c[c[i+64>>2]>>2]+h|0,n,a),h=a+h|0,(0|(R=R+1|0))==(0|u))break}else{if(e=0,1!=(0|u))for(r=-2&u,f=0;hr(c[c[i+64>>2]>>2]+e|0,n,a),hr((e=e+a|0)+c[c[i+64>>2]>>2]|0,n,a),e=e+a|0,(0|r)!=(0|(f=f+2|0)););1&u&&hr(c[c[i+64>>2]>>2]+e|0,n,a)}er(n)}return Z=t+16|0,0|y}function Zr(r,e){var i,t=0,f=0,a=0,n=0,A=0,b=0;Z=i=Z-16|0;r:{e:if((a=c[r+4>>2])>>>0<e>>>0){if((f=e-a|0)>>>0>(n=(t=c[r+8>>2])<<5)>>>0|a>>>0>n-f>>>0){if(c[i+8>>2]=0,c[i>>2]=0,c[i+4>>2]=0,(0|e)<0)break r;nr(i,e=n>>>0<=1073741822?(e=e+31&-32)>>>0<(t<<=6)>>>0?t:e:2147483647),a=c[r+4>>2],c[i+4>>2]=a+f,b=c[r>>2],e=c[i>>2],(0|a)<=0||(t=a>>>5|0,a>>>0>=32&&gr(e,b,t<<2),e=(n=t<<2)+e|0,(A=31&a)&&(t=-1>>>32-A|0,c[e>>2]=c[e>>2]&(-1^t)|c[b+n>>2]&t),b=c[r>>2]),c[r>>2]=c[i>>2],c[i>>2]=b,t=c[r+4>>2],c[r+4>>2]=c[i+4>>2],c[i+4>>2]=t,t=c[r+8>>2],c[r+8>>2]=c[i+8>>2],c[i+8>>2]=t,b&&er(b)}else c[r+4>>2]=e,A=31&a,e=c[r>>2]+(a>>>3&536870908)|0;if(!f)break e;if(A&&(r=(t=32-A|0)>>>0<f>>>0?t:f,c[e>>2]=c[e>>2]&~(-1<<A&-1>>>t-r),f=f-r|0,e=e+4|0),r=f>>>5|0,f>>>0>=32&&Sr(e,0,r<<2),(-32&f)==(0|f))break e;c[(r=(r<<2)+e|0)>>2]=c[r>>2]&(-1>>>32-(31&f)^-1)}else c[r+4>>2]=e;return void(Z=i+16|0)}mt(),o()}function Er(r,e){var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,_=0;Z=i=Z-16|0;r:if(!((0|(A=c[e+20>>2]))>=(0|(b=c[e+12>>2]))&(t=c[e+16>>2])>>>0>=s[e+8>>2]|(0|A)>(0|b))&&(n[r+12|0]=k[t+c[e>>2]|0],t=c[e+20>>2],t=(A=c[e+16>>2]+1|0)?t:t+1|0,c[e+16>>2]=A,c[e+20>>2]=t,Ee(1,i+12|0,e)&&(o=(b=c[e+8>>2])-(A=c[e+16>>2])|0,t=c[i+12>>2],f=A>>>0>b>>>0,b=c[e+20>>2],!(o>>>0<t>>>0&(0|(a=c[e+12>>2]-(f+b|0)|0))<=0|(0|a)<0|(0|t)<=0)))){o=A+c[e>>2]|0,c[r>>2]=o;e:{i:{if((f=k[0|(u=(a=t-1|0)+o|0)])>>>0<=63)c[r+4>>2]=a,f=63&k[0|u];else{t:switch((f>>>6|0)-1|0){case 1:break i;case 0:break t;default:break r}if(t>>>0<2)break r;a=t-2|0,c[r+4>>2]=a,f=k[(o=o+a|0)+1|0]<<8&16128|k[0|o]}c[r+8>>2]=f+4096;break e}if(t>>>0<3)break r;if(a=t-3|0,c[r+4>>2]=a,f=r,r=k[(r=o+a|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r],c[f+8>>2]=r+4096,r>>>0>1044479)break r}r=b,r=(f=t)>>>0>(t=t+A|0)>>>0?r+1|0:r,c[e+16>>2]=t,c[e+20>>2]=r,_=1}return Z=i+16|0,_}function Fr(r,e,i){e|=0,i|=0;var t=0,f=0,a=0,n=0,A=0,o=0,b=0;return(t=(f=c[(r|=0)+12>>2])-(o=c[r+8>>2])>>2)>>>0<(e=k[e+24|0])>>>0?(_e(r+8|0,e-t|0),o=c[r+8>>2],f=c[r+12>>2]):e>>>0>=t>>>0||(f=(e<<2)+o|0,c[r+12>>2]=f),e=0,a=c[i+8>>2],A=c[i+12>>2],b=c[i+20>>2],a>>>0<(n=(f=f-o|0)+(t=c[i+16>>2])|0)>>>0&(0|A)<=(0|(b=f>>>0>n>>>0?b+1|0:b))|(0|A)<(0|b)||(hr(o,t+c[i>>2]|0,f),t=c[i+20>>2],t=(n=f)>>>0>(f=f+c[i+16>>2]|0)>>>0?t+1|0:t,c[i+16>>2]=f,c[i+20>>2]=t,(a=c[i+8>>2])>>>0<(n=f+4|0)>>>0&(0|(t=n>>>0<4?t+1|0:t))>=(0|(A=c[i+12>>2]))|(0|t)>(0|A)||(t=f+c[i>>2]|0,c[r+20>>2]=k[0|t]|k[t+1|0]<<8|k[t+2|0]<<16|k[t+3|0]<<24,n=t=c[i+20>>2],a=t,a=(t=(f=c[i+16>>2])+4|0)>>>0<4?a+1|0:a,c[i+16>>2]=t,c[i+20>>2]=a,(0|a)>=(0|(A=c[i+12>>2]))&t>>>0>=s[i+8>>2]|(0|a)>(0|A)||(a=k[t+c[i>>2]|0],t=n,t=(f=f+5|0)>>>0<5?t+1|0:t,c[i+16>>2]=f,c[i+20>>2]=t,a-1>>>0>29||(c[r+4>>2]=a,e=1)))),0|e}function Ir(r,e,i,t){var f,a=0,n=0,A=0,o=0,b=0,u=0,k=0,_=0;b=+p[e>>2],u=+p[e+4>>2],k=+p[e+8>>2],(A=m(b)+m(u)+m(k))>1e-6?(u*=A=1/A,b*=A,a=A*k<0):(b=1,u=0,a=0),f=c[r+16>>2],A=N(b*(k=+(0|f))+.5),o=((n=(_=m(A)<2147483648?~~A:-2147483648)>>31)^_)-n|0,A=N(u*k+.5),o=(0|(e=f-(o+(((n=m(A)<2147483648?~~A:-2147483648)^(e=n>>31))-e|0)|0)|0))>0?e:0,a=a?0-o|0:o,n=n+(e>>31&((0|n)>0?e:0-e))|0,(0|_)>=0?(e=a+f|0,r=c[r+8>>2],a=f+n|0):(e=((e=n>>31)^n)-e|0,r=c[r+8>>2],e=(0|a)<0?e:r-e|0,a=(0|n)<0?o:r-o|0),e|a&&(0|r)!=(0|e)|a&&(0|r)!=(0|a)|e?(0|e)<=(0|f)|a?(0|r)!=(0|a)|(0|e)>=(0|f)?(0|r)!=(0|e)|(0|a)>=(0|f)?e?r=a:(e=0,r=(0|a)<=(0|f)?a:(f<<1)-a|0):(e=r,r=(f<<1)-a|0):e=(f<<1)-e|0:(e=(f<<1)-e|0,r=0):e=r,c[i>>2]=r,c[t>>2]=e}function Yr(r,e){var i,t,f,a=0,A=0,o=0;t=c[r>>2],c[(a=t+(e>>>3&536870908)|0)>>2]=c[a>>2]|1<<e,i=c[r+64>>2],A=-1,(o=-1==(0|e))||(A=-1,-1!=(0|(a=((a=e+1|0)>>>0)%3|0?a:e-2|0))&&(A=c[c[i>>2]+(a<<2)>>2])),a=c[r+12>>2],c[(f=(A>>>3&536870908)+a|0)>>2]=c[f>>2]|1<<A;r:{if(o)r=a+536870908|0,e=c[a+536870908>>2],a=-2147483648;else{e:{if((e>>>0)%3|0)o=e-1|0;else if(A=-1,-1==(0|(o=e+2|0)))break e;A=c[c[i>>2]+(o<<2)>>2]}if(c[(o=(A>>>3&536870908)+a|0)>>2]=c[o>>2]|1<<A,A=-1,-1==(0|(e=c[c[i+12>>2]+(e<<2)>>2])))break r;n[r+24|0]=0,c[(r=(e>>>3&536870908)+t|0)>>2]=c[r>>2]|1<<e,-1!=(0|(r=((r=e+1|0)>>>0)%3|0?r:e-2|0))&&(A=c[c[i>>2]+(r<<2)>>2]),c[(r=a+(A>>>3&536870908)|0)>>2]=c[r>>2]|1<<A;e:{if((e>>>0)%3|0)e=e-1|0;else if(r=-1,-1==(0|(e=e+2|0)))break e;r=c[c[i>>2]+(e<<2)>>2]}e=1<<r,a=c[(r=a+(r>>>3&536870908)|0)>>2]}c[r>>2]=e|a}}function wr(r,e,i){r|=0,e|=0,i|=0;var t=0,f=d(0),a=d(0),A=d(0),o=d(0),_=d(0),s=0,p=d(0),l=d(0),y=d(0),v=d(0),h=0;if(!(9!=c[i+28>>2]|3!=k[i+24|0])&&!((r=c[r+4>>2])-2>>>0>28)&&(h=1,s=c[i+80>>2]))for(p=d(d(2)/d((1<<r)-2|0)),i=c[c[i>>2]>>2]+c[i+48>>2]|0,r=c[c[e>>2]>>2]+c[e+48>>2]|0,e=0;A=d(0),l=d(0),y=d(0),f=d(d(d(c[r>>2])*p)+d(-1)),a=d(d(d(c[r+4>>2])*p)+d(-1)),_=d(d(d(1)-d(m(f)))-d(m(a))),o=d(R(d(-_),d(0))),v=d(-o),a=d(a+(a<d(0)?o:v)),f=d(f+(f<d(0)?o:v)),+(o=d(d(a*a)+d(d(_*_)+d(f*f))))<1e-6||(A=d(d(1)/d(V(o))),y=d(a*A),l=d(f*A),A=d(_*A)),r=r+8|0,b(y),t=u(2),n[i+8|0]=t,n[i+9|0]=t>>>8,n[i+10|0]=t>>>16,n[i+11|0]=t>>>24,b(l),t=u(2),n[i+4|0]=t,n[i+5|0]=t>>>8,n[i+6|0]=t>>>16,n[i+7|0]=t>>>24,b(A),t=u(2),n[0|i]=t,n[i+1|0]=t>>>8,n[i+2|0]=t>>>16,n[i+3|0]=t>>>24,i=i+12|0,(0|s)!=(0|(e=e+1|0)););return 0|h}function jr(r,e){var i,t=0,f=0,a=0,n=0,A=0,o=0,b=0;Z=i=Z-16|0;r:if(Re(1,i+8|0,e)&&(n=(f=c[e+8>>2])-(a=c[e+16>>2])|0,A=c[i+12>>2],t=f>>>0<a>>>0,f=c[e+20>>2],!((0|A)==(0|(o=c[e+12>>2]-(t+f|0)|0))&(t=c[i+8>>2])>>>0>n>>>0|A>>>0>o>>>0||(f=f+A|0,f=(n=t+a|0)>>>0<a>>>0?f+1|0:f,c[e+16>>2]=n,c[e+20>>2]=f,(0|t)<=0)))){e=c[e>>2]+a|0,c[r+40>>2]=e;e:if((n=k[0|(f=e+(a=t-1|0)|0)])>>>0<=63)c[r+44>>2]=a,e=63&k[0|f];else{i:switch((n>>>6|0)-1|0){case 0:if(t>>>0<2)break r;t=t-2|0,c[r+44>>2]=t,e=k[(e=e+t|0)+1|0]<<8&16128|k[0|e];break e;case 1:if(t>>>0<3)break r;t=t-3|0,c[r+44>>2]=t,e=k[(e=e+t|0)+1|0]<<8|k[e+2|0]<<16&4128768|k[0|e];break e;default:break i}t=t-4|0,c[r+44>>2]=t,e=1073741823&(k[0|(e=e+t|0)]|k[e+1|0]<<8|k[e+2|0]<<16|k[e+3|0]<<24)}c[r+48>>2]=e+16384,b=e>>>0<4177920}return Z=i+16|0,b}function Jr(r){var e,i=0,t=0,f=0;if(c[(r|=0)>>2]=8284,e=c[r+368>>2],c[r+368>>2]=0,e){if(i=c[(f=e-4|0)>>2])for(t=(i<<4)+e|0;(0|e)!=(0|(t=t-16|0)););er(f)}if(we(r+216|0),(i=c[r+196>>2])&&(c[r+200>>2]=i,er(i)),(i=c[r+184>>2])&&(c[r+188>>2]=i,er(i)),(i=c[r+172>>2])&&(c[r+176>>2]=i,er(i)),(i=c[r+160>>2])&&(c[r+164>>2]=i,er(i)),t=c[r+144>>2])for(;i=c[t>>2],er(t),t=i,i;);return i=c[r+136>>2],c[r+136>>2]=0,i&&er(i),(i=c[r+120>>2])&&er(i),(i=c[r+108>>2])&&er(i),(i=c[r+96>>2])&&er(i),(i=c[r+72>>2])&&(c[r+76>>2]=i,er(i)),(i=c[r+60>>2])&&er(i),(i=c[r+48>>2])&&(c[r+52>>2]=i,er(i)),(i=c[r+36>>2])&&(c[r+40>>2]=i,er(i)),(i=c[r+24>>2])&&(c[r+28>>2]=i,er(i)),(i=c[r+12>>2])&&(c[r+16>>2]=i,er(i)),i=c[r+8>>2],c[r+8>>2]=0,i&&ge(i),0|r}function Br(r,e){var i=0,t=0;i=c[e+8>>2],c[r+4>>2]=c[e+4>>2],c[r+8>>2]=i,c[r+20>>2]=c[e+20>>2],i=c[e+16>>2],c[r+12>>2]=c[e+12>>2],c[r+16>>2]=i;r:{e:{if((0|r)!=(0|e)){if(i=c[e+28>>2]){if(t=c[r+24>>2],c[r+32>>2]<<5>>>0<i>>>0){if(t&&(er(t),c[r+32>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,i=c[e+28>>2]),(0|i)<0)break e;t=vi((i=1+(i-1>>>5|0)|0)<<2),c[r+32>>2]=i,c[r+28>>2]=0,c[r+24>>2]=t,i=c[e+28>>2]}gr(t,c[e+24>>2],4+(i-1>>>3&536870908)|0),i=c[e+28>>2]}else i=0;if(c[r+28>>2]=i,i=c[e+40>>2]){if(t=c[r+36>>2],c[r+44>>2]<<5>>>0<i>>>0){if(t&&(er(t),c[r+44>>2]=0,c[r+36>>2]=0,c[r+40>>2]=0,i=c[e+40>>2]),(0|i)<0)break r;t=vi((i=1+(i-1>>>5|0)|0)<<2),c[r+44>>2]=i,c[r+40>>2]=0,c[r+36>>2]=t,i=c[e+40>>2]}gr(t,c[e+36>>2],4+(i-1>>>3&536870908)|0),e=c[e+40>>2]}else e=0;c[r+40>>2]=e}return}mt(),o()}mt(),o()}function Mr(r){var e,i=0,t=0;i=c[r+8>>2],e=c[r>>2];r:{if(k[r+12|0]){e:{if(-1!=(0|i)&&-1!=(0|(i=((t=i+1|0)>>>0)%3|0?t:i-2|0))&&-1!=(0|(i=c[c[e+12>>2]+(i<<2)>>2]))){if(i=((t=i+1|0)>>>0)%3|0?t:i-2|0,c[r+8>>2]=i,-1!=(0|i))break e}else c[r+8>>2]=-1;i=-1;i:if(-1!=(0|(t=c[r+4>>2]))){if((t>>>0)%3|0)t=t-1|0;else if(i=-1,-1==(0|(t=t+2|0)))break i;i=-1,-1!=(0|(t=c[c[e+12>>2]+(t<<2)>>2]))&&(i=t-1|0,(t>>>0)%3|0||(i=t+2|0))}return n[r+12|0]=0,void(c[r+8>>2]=i)}if((0|i)!=c[r+4>>2])break r;return void(c[r+8>>2]=-1)}t=-1;e:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(t=-1,-1==(0|(i=i+2|0)))break e;t=-1,-1!=(0|(i=c[c[e+12>>2]+(i<<2)>>2]))&&(t=i-1|0,(i>>>0)%3|0||(t=i+2|0))}c[r+8>>2]=t}}function Qr(r){var e,i=0,t=0;e=vi(32),n[e+26|0]=0,i=k[1475]|k[1476]<<8,n[e+24|0]=i,n[e+25|0]=i>>>8,i=k[1471]|k[1472]<<8|k[1473]<<16|k[1474]<<24,t=k[1467]|k[1468]<<8|k[1469]<<16|k[1470]<<24,n[e+16|0]=t,n[e+17|0]=t>>>8,n[e+18|0]=t>>>16,n[e+19|0]=t>>>24,n[e+20|0]=i,n[e+21|0]=i>>>8,n[e+22|0]=i>>>16,n[e+23|0]=i>>>24,i=k[1463]|k[1464]<<8|k[1465]<<16|k[1466]<<24,t=k[1459]|k[1460]<<8|k[1461]<<16|k[1462]<<24,n[e+8|0]=t,n[e+9|0]=t>>>8,n[e+10|0]=t>>>16,n[e+11|0]=t>>>24,n[e+12|0]=i,n[e+13|0]=i>>>8,n[e+14|0]=i>>>16,n[e+15|0]=i>>>24,i=k[1455]|k[1456]<<8|k[1457]<<16|k[1458]<<24,t=k[1451]|k[1452]<<8|k[1453]<<16|k[1454]<<24,n[0|e]=t,n[e+1|0]=t>>>8,n[e+2|0]=t>>>16,n[e+3|0]=t>>>24,n[e+4|0]=i,n[e+5|0]=i>>>8,n[e+6|0]=i>>>16,n[e+7|0]=i>>>24,c[r>>2]=-1,me(r+4|0,e,26),er(e)}function gr(r,e,i){var t=0,f=0;r:if((0|r)!=(0|e)){if(e-(f=r+i|0)>>>0<=0-(i<<1)>>>0)return hr(r,e,i);if(t=3&(r^e),r>>>0<e>>>0){if(t)t=r;else{if(3&r)for(t=r;;){if(!i)break r;if(n[0|t]=k[0|e],e=e+1|0,i=i-1|0,!(3&(t=t+1|0)))break}else t=r;if(!(i>>>0<=3))for(;c[t>>2]=c[e>>2],e=e+4|0,t=t+4|0,(i=i-4|0)>>>0>3;);}if(i)for(;n[0|t]=k[0|e],t=t+1|0,e=e+1|0,i=i-1|0;);}else{if(!t){if(3&f)for(;;){if(!i)break r;if(n[0|(t=(i=i-1|0)+r|0)]=k[e+i|0],!(3&t))break}if(!(i>>>0<=3))for(;c[(i=i-4|0)+r>>2]=c[e+i>>2],i>>>0>3;);}if(!i)break r;for(;n[(i=i-1|0)+r|0]=k[e+i|0],i;);}}return r}function Or(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0;if((t=c[r+8>>2])-(i=c[r+4>>2])>>2>>>0>=e>>>0)return e&&(i=Sr(i,0,e<<=2)+e|0),void(c[r+4>>2]=i);r:{e:{i:{if((f=(a=i-(n=c[r>>2])>>2)+e|0)>>>0<1073741824){if(A=(t=t-n|0)>>>1|0,f=t>>>0>=2147483644?1073741823:f>>>0<A>>>0?A:f){if(f>>>0>=1073741824)break i;b=vi(f<<2)}if(a=(e=Sr(t=(a<<2)+b|0,0,a=e<<2))+a|0,f=(f<<2)+b|0,(0|i)==(0|n))break e;for(;e=c[(i=i-4|0)>>2],c[i>>2]=0,c[(t=t-4|0)>>2]=e,(0|i)!=(0|n););if(c[r+8>>2]=f,e=c[r+4>>2],c[r+4>>2]=a,i=c[r>>2],c[r>>2]=t,(0|e)==(0|i))break r;for(;r=c[(e=e-4|0)>>2],c[e>>2]=0,r&&Zt[c[c[r>>2]+4>>2]](r),(0|e)!=(0|i););break r}mt(),o()}Zi(),o()}c[r+8>>2]=f,c[r+4>>2]=a,c[r>>2]=e}i&&er(i)}function Cr(r,e){r|=0;var i,t,f,a,n=0,A=0,o=0,b=0,u=0,_=0;return o=c[(e|=0)+8>>2],i=A=c[e+12>>2],a=A=c[e+20>>2],f=n=(t=c[e+16>>2])+4|0,n>>>0>o>>>0&(0|(A=n>>>0<4?A+1|0:A))>=(0|i)|(0|A)>(0|i)||(u=c[e>>2],b=k[0|(n=u+t|0)]|k[n+1|0]<<8|k[n+2|0]<<16|k[n+3|0]<<24,c[e+16>>2]=f,c[e+20>>2]=A,n=o,o=a,n>>>0<(A=t+8|0)>>>0&(0|(o=A>>>0<8?o+1|0:o))>=(0|i)|(0|o)>(0|i)||(n=k[0|(n=f+u|0)]|k[n+1|0]<<8|k[n+2|0]<<16|k[n+3|0]<<24,c[e+16>>2]=A,c[e+20>>2]=o,(0|n)<(0|b)||(c[r+16>>2]=n,c[r+12>>2]=b,!(A=(n>>31)-((b>>31)+(n>>>0<b>>>0)|0)|0)&(o=n-b|0)>>>0>2147483646|A||(A=o+1|0,c[r+20>>2]=A,o=A>>>1|0,c[r+24>>2]=o,c[r+28>>2]=0-o,1&A||(c[r+24>>2]=o-1),_=Er(r+112|0,e))))),0|_}function zr(r,e){var i=0,t=0,f=0,a=0;t=-1,f=-1,a=-1;r:{e:if(-1!=(0|e)){if(f=c[c[c[r+4>>2]+12>>2]+(e<<2)>>2],(0|(i=((i=e+1|0)>>>0)%3|0?i:e-2|0))>=0&&(a=(i>>>0)/3|0,a=c[(c[c[r>>2]+96>>2]+y(a,12)|0)+(i-y(a,3)<<2)>>2]),-1!=(0|f)&&((0|(i=((f>>>0)%3|0?-1:2)+f|0))<0||(t=(i>>>0)/3|0,t=c[(c[c[r>>2]+96>>2]+y(t,12)|0)+(i-y(t,3)<<2)>>2])),i=-1,(0|t)!=(0|a))break r;if(a=-1,(0|(e=((e>>>0)%3|0?-1:2)+e|0))>=0){if(t=(e>>>0)/3|0,t=c[(c[c[r>>2]+96>>2]+y(t,12)|0)+(e-y(t,3)<<2)>>2],-1==(0|f))break e}else if(t=-1,-1==(0|f))break e;(0|(e=((e=f+1|0)>>>0)%3|0?e:f-2|0))<0||(i=c[c[r>>2]+96>>2],a=c[(i+y(r=(e>>>0)/3|0,12)|0)+(e-y(r,3)<<2)>>2])}i=(0|t)!=(0|a)?-1:f}return i}function Xr(r,e){var i,t,f=0;Z=i=Z+-64|0,f=c[r>>2],t=c[f-4>>2],f=c[f-8>>2],c[i+32>>2]=0,c[i+36>>2]=0,c[i+40>>2]=0,c[i+44>>2]=0,c[i+48>>2]=0,c[i+52>>2]=0,n[i+55|0]=0,n[i+56|0]=0,n[i+57|0]=0,n[i+58|0]=0,n[i+59|0]=0,n[i+60|0]=0,n[i+61|0]=0,n[i+62|0]=0,c[i+24>>2]=0,c[i+28>>2]=0,c[i+20>>2]=0,c[i+16>>2]=11020,c[i+12>>2]=r,c[i+8>>2]=e,r=r+f|0,f=0;r:if(Be(t,e,0))c[i+56>>2]=1,Zt[c[c[t>>2]+20>>2]](t,i+8|0,r,r,1,0),f=1==c[i+32>>2]?r:0;else{Zt[c[c[t>>2]+24>>2]](t,i+8|0,r,1,0);e:switch(c[i+44>>2]){case 0:f=1==c[i+48>>2]&&1==c[i+36>>2]&&1==c[i+40>>2]?c[i+28>>2]:0;break r;case 1:break e;default:break r}1!=c[i+32>>2]&&c[i+48>>2]|1!=c[i+36>>2]|1!=c[i+40>>2]||(f=c[i+24>>2])}return Z=i- -64|0,f}function Sr(r,e,i){var t=0,f=0,a=0,A=0;if(i&&(n[0|r]=e,n[(t=r+i|0)-1|0]=e,!(i>>>0<3||(n[r+2|0]=e,n[r+1|0]=e,n[t-3|0]=e,n[t-2|0]=e,i>>>0<7||(n[r+3|0]=e,n[t-4|0]=e,i>>>0<9||(f=(t=0-r&3)+r|0,e=y(255&e,16843009),c[f>>2]=e,c[(i=(t=i-t&-4)+f|0)-4>>2]=e,t>>>0<9||(c[f+8>>2]=e,c[f+4>>2]=e,c[i-8>>2]=e,c[i-12>>2]=e,t>>>0<25||(c[f+24>>2]=e,c[f+20>>2]=e,c[f+16>>2]=e,c[f+12>>2]=e,c[i-16>>2]=e,c[i-20>>2]=e,c[i-24>>2]=e,c[i-28>>2]=e,(i=t-(A=4&f|24)|0)>>>0<32))))))))for(t=$e(e,0,1,1),a=E,e=f+A|0;c[e+24>>2]=t,c[e+28>>2]=a,c[e+16>>2]=t,c[e+20>>2]=a,c[e+8>>2]=t,c[e+12>>2]=a,c[e>>2]=t,c[e+4>>2]=a,e=e+32|0,(i=i-32|0)>>>0>31;);return r}function Hr(r,e,i){var t,f,a=0,n=0,A=0,o=0,b=0,u=0,_=0;Z=t=Z-16|0;r:{if((0|(n=c[r+24>>2]))!=(0|(f=c[r+28>>2])))for(;;){c[t+8>>2]=0,c[t>>2]=0,c[t+4>>2]=0,r=ti(c[n>>2],e,t),o=(A=k[t+11|0])<<24>>24,b=3;e:{i:{t:if(r&&(b=0,a=(r=k[i+11|0])<<24>>24,(0|(u=(0|o)<0?c[t+4>>2]:A))==(0|((0|a)<0?c[i+4>>2]:r)))){r=(0|a)<0?c[i>>2]:i;f:if(a=(0|o)<0){if(u&&Ye(a?c[t>>2]:t,r,u))break i}else{if(a=t,!o)break f;for(;;){if(k[0|a]!=k[0|r])break t;if(r=r+1|0,a=a+1|0,!(A=A-1|0))break}}_=c[n>>2],b=1}if((0|o)>=0)break e}er(c[t>>2])}e:switch(0|b){case 0:case 3:break e;default:break r}if((0|f)==(0|(n=n+4|0)))break}_=0}return Z=t+16|0,_}function Pr(r,e,i){var t,f=0,a=0,n=0,A=0,b=0;if((t=(n=i-e|0)>>2)>>>0<=(f=c[r+8>>2])-(a=c[r>>2])>>2>>>0){if(n=(A=(f=c[r+4>>2])-a|0)+e|0,(0|(A=(b=A>>2)>>>0<t>>>0?n:i))!=(0|e))for(;c[a>>2]=c[e>>2],a=a+4|0,(0|A)!=(0|(e=e+4|0)););if(t>>>0>b>>>0){if((0|i)!=(0|A))for(;c[f>>2]=c[n>>2],f=f+4|0,(0|(n=n+4|0))!=(0|i););return void(c[r+4>>2]=f)}c[r+4>>2]=a}else{if(a&&(c[r+4>>2]=a,er(a),c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0,f=0),!((0|n)<0||(a=f>>>1|0,(f=f>>>0>=2147483644?1073741823:a>>>0>t>>>0?a:t)>>>0>=1073741824)))return f=vi(a=f<<2),c[r>>2]=f,c[r+8>>2]=f+a,(0|e)!=(0|i)&&(f=hr(f,i=e,e=4+(n-4&-4)|0)+e|0),void(c[r+4>>2]=f);mt(),o()}}function xr(r,e,i){var t,f=0,a=0;Z=t=Z-16|0,c[r+4>>2]=0;r:{e:if(e){if((f=(a=c[r+8>>2])<<5)>>>0>=e>>>0)c[r+4>>2]=e;else{if(c[t+8>>2]=0,c[t>>2]=0,c[t+4>>2]=0,(0|e)<0)break r;nr(t,f=f>>>0<=1073741822?(f=e+31&-32)>>>0<(a<<=6)>>>0?a:f:2147483647),a=c[r>>2],c[r>>2]=c[t>>2],c[t>>2]=a,f=c[r+4>>2],c[r+4>>2]=e,c[t+4>>2]=f,f=c[r+8>>2],c[r+8>>2]=c[t+8>>2],c[t+8>>2]=f,a&&er(a)}if(f=e>>>5|0,r=c[r>>2],k[0|i]){if(e>>>0>=32&&Sr(r,255,f<<2),(-32&e)==(0|e))break e;c[(r=r+(f<<2)|0)>>2]=c[r>>2]|-1>>>32-(31&e)}else e>>>0>=32&&Sr(r,0,f<<2),(-32&e)!=(0|e)&&(c[(r=r+(f<<2)|0)>>2]=c[r>>2]&(-1>>>32-(31&e)^-1))}return void(Z=t+16|0)}mt(),o()}function Lr(r,e){var i=0,t=0,f=0,a=0,n=0,A=0;if((0|(i=c[r+4>>2]))!=c[r+8>>2])return f=c[e+4>>2],c[i>>2]=c[e>>2],c[i+4>>2]=f,c[i+8>>2]=c[e+8>>2],void(c[r+4>>2]=i+12);r:{if((f=(t=(i-(n=c[r>>2])|0)/12|0)+1|0)>>>0<357913942){if(a=t<<1,a=t>>>0>=178956970?357913941:f>>>0<a>>>0?a:f){if(a>>>0>=357913942)break r;f=vi(y(a,12))}else f=0;if(t=f+y(t,12)|0,A=c[e+4>>2],c[t>>2]=c[e>>2],c[t+4>>2]=A,c[t+8>>2]=c[e+8>>2],e=t+12|0,(0|i)!=(0|n)){for(;A=c[(i=i-12|0)+4>>2],c[(t=t-12|0)>>2]=c[i>>2],c[t+4>>2]=A,c[t+8>>2]=c[i+8>>2],(0|i)!=(0|n););i=c[r>>2]}return c[r+8>>2]=f+y(a,12),c[r+4>>2]=e,c[r>>2]=t,void(i&&er(i))}mt(),o()}Zi(),o()}function Kr(r,e,i,t,f,a,A){var b,u=0,_=0;if(Z=b=Z-16|0,2147483631+(-1^e)>>>0>=i>>>0)return u=k[r+11|0]>>>7|0?c[r>>2]:r,e>>>0<1073741799?(c[b+12>>2]=e<<1,c[b>>2]=e+i,Z=i=Z-16|0,Z=i+16|0,i=b+12|0,i=(i=(i=c[(s[b>>2]<s[i>>2]?i:b)>>2])>>>0>=11?11==(0|(i=(_=i+16&-16)-1|0))?_:i:10)+1|0):i=2147483631,Ci(b,i),i=c[b>>2],a&&le(i,A,a),A=t-f|0,(0|t)!=(0|f)&&le(i+a|0,f+u|0,A),10!=(0|e)&&er(u),c[r>>2]=i,c[r+8>>2]=-2147483648&c[r+8>>2]|2147483647&c[b+4>>2],c[r+8>>2]=-2147483648|c[r+8>>2],e=r,r=a+A|0,c[e+4>>2]=r,n[b+12|0]=0,n[r+i|0]=k[b+12|0],void(Z=b+16|0);yt(),o()}function qr(r,e,i){var t=0,f=0,a=0,n=0;r:{if(a=e>>>0<1431655766&(e|i)>=0){if(dr(r,e=y(e,3),10224),dr(r+12|0,e,10228),t=c[r+24>>2],!(c[r+32>>2]-t>>2>>>0>=i>>>0)){if(i>>>0>=1073741824)break r;if(e=c[r+28>>2],f=(i=vi(f=i<<2))+f|0,i=n=i+(e-t&-4)|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[r+32>>2]=f,c[r+28>>2]=n,c[r+24>>2]=i,t&&er(t)}c[r+80>>2]=0,c[r+84>>2]=0,e=c[r+76>>2],c[r+76>>2]=0,e&&er(e),c[r+68>>2]=0,c[r+72>>2]=0,r=c[(e=r- -64|0)>>2],c[e>>2]=0,r&&er(r)}return a}mt(),o()}function $r(r){var e=0,i=0,t=0,f=0,a=0;a=1;r:if(!((0|(i=c[r+140>>2]))<=0)){for(e=i<<4,t=vi(i>>>0>268435455?-1:4|e),c[t>>2]=i,i=(t=t+4|0)+e|0,e=t;c[e>>2]=0,c[e+4>>2]=0,n[e+5|0]=0,n[e+6|0]=0,n[e+7|0]=0,n[e+8|0]=0,n[e+9|0]=0,n[e+10|0]=0,n[e+11|0]=0,n[e+12|0]=0,(0|i)!=(0|(e=e+16|0)););if(f=c[r+136>>2],c[r+136>>2]=t,f){if(t=c[(i=f-4|0)>>2])for(e=(t<<4)+f|0;(0|f)!=(0|(e=e-16|0)););er(i)}if(e=0,!(c[r+140>>2]<=0))for(;;){if(!(a=Er(c[r+136>>2]+(e<<4)|0,r)))break r;if(!((0|(e=e+1|0))<c[r+140>>2]))break}}return a}function re(r,e){r|=0;var i,t,f,a=0,n=0,A=0,o=0,b=0;return n=c[(e|=0)+8>>2],i=a=c[e+12>>2],f=a=c[e+20>>2],n>>>0<(o=(t=c[e+16>>2])+4|0)>>>0&(0|(a=o>>>0<4?a+1|0:a))>=(0|i)|(0|a)>(0|i)||(A=t+c[e>>2]|0,A=k[0|A]|k[A+1|0]<<8|k[A+2|0]<<16|k[A+3|0]<<24,c[e+16>>2]=o,c[e+20>>2]=a,o=n,n=f,(a=t+8|0)>>>0>o>>>0&(0|(n=a>>>0<8?n+1|0:n))>=(0|i)|(0|n)>(0|i)||(c[e+16>>2]=a,c[e+20>>2]=n,1&A&&((n=31^v(A))-1>>>0>28||(c[r+8>>2]=n+1,a=-2^(n=-2<<n),c[r+16>>2]=a,c[r+12>>2]=-1^n,c[r+24>>2]=a>>1,p[r+20>>2]=d(2)/d(0|a),b=Er(r+96|0,e))))),0|b}function ee(r,e){var i=0;return i=c[e+4>>2],c[r>>2]=c[e>>2],c[r+4>>2]=i,i=c[e+60>>2],c[r+56>>2]=c[e+56>>2],c[r+60>>2]=i,i=c[e+52>>2],c[r+48>>2]=c[e+48>>2],c[r+52>>2]=i,i=c[e+44>>2],c[r+40>>2]=c[e+40>>2],c[r+44>>2]=i,i=c[e+36>>2],c[r+32>>2]=c[e+32>>2],c[r+36>>2]=i,i=c[e+28>>2],c[r+24>>2]=c[e+24>>2],c[r+28>>2]=i,i=c[e+20>>2],c[r+16>>2]=c[e+16>>2],c[r+20>>2]=i,i=c[e+12>>2],c[r+8>>2]=c[e+8>>2],c[r+12>>2]=i,c[r+88>>2]=0,c[r+64>>2]=0,c[r+68>>2]=0,c[r+72>>2]=0,c[r+76>>2]=0,n[r+77|0]=0,n[r+78|0]=0,n[r+79|0]=0,n[r+80|0]=0,n[r+81|0]=0,n[r+82|0]=0,n[r+83|0]=0,n[r+84|0]=0,r}function ie(r,e){var i,t,f=0,a=0,n=0;return c[r+64>>2]||(f=vi(32),c[f+16>>2]=0,c[f+20>>2]=0,c[f+8>>2]=0,c[f>>2]=0,c[f+4>>2]=0,c[f+24>>2]=0,c[f+28>>2]=0,a=c[r+64>>2],c[r+64>>2]=f,a&&((f=c[a>>2])&&(c[a+4>>2]=f,er(f)),er(a))),a=c[r+64>>2],f=(f=c[r+28>>2]-1|0)>>>0<=10?c[10148+(f<<2)>>2]:-1,(t=Dr(a,0,$e(f=y(f,k[r+24|0]),i=f>>31,e,0),E))&&(a=c[r+64>>2],c[r>>2]=a,n=c[a+20>>2],c[r+8>>2]=c[a+16>>2],c[r+12>>2]=n,n=c[a+24>>2],a=c[a+28>>2],c[r+48>>2]=0,c[r+52>>2]=0,c[r+40>>2]=f,c[r+44>>2]=i,c[r+16>>2]=n,c[r+20>>2]=a,c[r+80>>2]=e),t}function te(r,e){var i,t=0,f=0,a=0,n=0,A=0,o=0;i=r+4|0;r:{e:if(r=c[r+4>>2]){for(n=(t=(f=k[e+11|0])<<24>>24<0)?c[e>>2]:e,f=t?c[e+4>>2]:f,e=i;(o=(A=(a=(t=(a=k[r+27|0])<<24>>24<0)?c[r+20>>2]:a)>>>0>f>>>0)?f:a)&&(t=Ye(t?c[r+16>>2]:r+16|0,n,o))||(t=f>>>0>a>>>0?-1:A),e=(t=(0|t)<0)?e:r,r=c[(t?r+4:r)>>2];);if((0|e)!=(0|i)){if(!(a=(t=(r=(t=k[e+27|0])<<24>>24<0)?c[e+20>>2]:t)>>>0<f>>>0?t:f)||!(r=Ye(n,r?c[e+16>>2]:e+16|0,a))){if(t>>>0>f>>>0)break e;break r}if((0|r)>=0)break r}}e=i}return e}function fe(r,e){e|=0;var i=0,t=0,f=0,a=0;if((0|(i=c[(r|=0)+216>>2]))!=c[r+220>>2])for(;;){r:if(!((0|(i=c[y(f,144)+i>>2]))<0||(t=c[r+4>>2],a=c[t+8>>2],(0|i)>=c[t+12>>2]-a>>2||(t=0,i=c[(i<<2)+a>>2],(0|Zt[c[c[i>>2]+24>>2]](i))<=0)))){for(;;){if((0|Zt[c[c[i>>2]+20>>2]](i,t))!=(0|e)){if(t=t+1|0,(0|Zt[c[c[i>>2]+24>>2]](i))>(0|t))continue;break r}break}return r=c[r+216>>2]+y(f,144)|0,0|(k[r+100|0]?r+4:0)}if(f=f+1|0,i=c[r+216>>2],!(f>>>0<(c[r+220>>2]-i|0)/144>>>0))break}return 0}function ae(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0;if((i=c[r+8>>2])-(t=c[r+4>>2])>>2>>>0>=e>>>0)return e&&(t=Sr(t,0,e<<=2)+e|0),void(c[r+4>>2]=t);r:{if((f=(n=t-(a=c[r>>2])>>2)+e|0)>>>0<1073741824){if(A=(i=i-a|0)>>>1|0,f=i>>>0>=2147483644?1073741823:f>>>0<A>>>0?A:f){if(f>>>0>=1073741824)break r;b=vi(f<<2)}if(e=Sr(i=(n<<2)+b|0,0,e<<=2)+e|0,(0|t)!=(0|a))for(;t=t-4|0,c[(i=i-4|0)>>2]=c[t>>2],(0|t)!=(0|a););return c[r+8>>2]=(f<<2)+b,c[r+4>>2]=e,c[r>>2]=i,void(a&&er(a))}mt(),o()}Zi(),o()}function ne(r){var e=0,i=0,t=0,f=0,a=0;if(t=c[r+8>>2],!k[t+84|0]&&!(!(e=c[r+16>>2])|!k[e+84|0]||(i=c[t+72>>2],f=c[t+68>>2],n[e+84|0]=0,i=i-f>>2,a=c[e+68>>2],i>>>0>(f=c[e+72>>2]-a>>2)>>>0?(yr(e+68|0,i-f|0,2004),t=c[r+8>>2]):i>>>0>=f>>>0||(c[e+72>>2]=a+(i<<2)),k[t+84|0]||(0|(i=c[t+68>>2]))==c[t+72>>2])))for(f=c[c[r+16>>2]+68>>2],e=0;c[(a=e<<2)+f>>2]=c[i+a>>2],e=e+1|0,i=c[t+68>>2],e>>>0<c[t+72>>2]-i>>2>>>0;);return c[r+16>>2]}function Ae(r,e){e|=0;var i=0,t=0,f=0,a=0;if((0|(i=c[(r|=0)+216>>2]))!=c[r+220>>2])for(;;){r:if(!((0|(i=c[y(f,144)+i>>2]))<0||(t=c[r+4>>2],a=c[t+8>>2],(0|i)>=c[t+12>>2]-a>>2||(t=0,i=c[(i<<2)+a>>2],(0|Zt[c[c[i>>2]+24>>2]](i))<=0)))){for(;;){if((0|Zt[c[c[i>>2]+20>>2]](i,t))!=(0|e)){if(t=t+1|0,(0|Zt[c[c[i>>2]+24>>2]](i))>(0|t))continue;break r}break}return 104+(c[r+216>>2]+y(f,144)|0)|0}if(f=f+1|0,i=c[r+216>>2],!(f>>>0<(c[r+220>>2]-i|0)/144>>>0))break}return r+184|0}function oe(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0;r:{e:if((t=(i=c[r+4>>2])-(f=c[r>>2])|0)>>>0<e>>>0){if((n=e-t|0)>>>0<=(a=c[r+8>>2])-i>>>0){A=r,b=Sr(i,0,n)+n|0,c[A+4>>2]=b;break e}if((0|e)<0)break r;if(a=(i=a-f|0)<<1,Sr((a=vi(i=i>>>0>=1073741823?2147483647:e>>>0<a>>>0?a:e))+t|0,0,n),t=gr(a,f,t),c[r+8>>2]=t+i,c[r+4>>2]=e+t,c[r>>2]=t,!f)break e;er(f)}else e>>>0>=t>>>0||(c[r+4>>2]=e+f);return i=e=c[r+28>>2],t=e+1|0,f=(e=c[r+24>>2]+1|0)?i:t,c[r+24>>2]=e,void(c[r+28>>2]=f)}mt(),o()}function be(r,e){var i=0,t=0,f=0,a=0,n=0,A=0;if((0|(f=c[r+4>>2]))!=c[r+8>>2])return c[f>>2]=c[e>>2],void(c[r+4>>2]=f+4);r:{if((t=(i=(a=f-(n=c[r>>2])|0)>>2)+1|0)>>>0<1073741824){if(A=i<<2,i=a>>>1|0,i=a>>>0>=2147483644?1073741823:i>>>0>t>>>0?i:t){if(i>>>0>=1073741824)break r;a=vi(i<<2)}else a=0;if(c[(t=A+a|0)>>2]=c[e>>2],e=t+4|0,(0|f)!=(0|n))for(;f=f-4|0,c[(t=t-4|0)>>2]=c[f>>2],(0|f)!=(0|n););return c[r+8>>2]=a+(i<<2),c[r+4>>2]=e,c[r>>2]=t,void(n&&er(n))}mt(),o()}Zi(),o()}function ue(r){c[r>>2]=-1,c[r+4>>2]=0,c[r+8>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,n[r+28|0]=1,c[r+20>>2]=0,c[r+24>>2]=0,c[r+12>>2]=0,c[r+16>>2]=0,c[r+40>>2]=0,c[r+44>>2]=0,c[r+48>>2]=0,c[r+52>>2]=0,c[r+56>>2]=0,c[r+60>>2]=0,c[r+64>>2]=0,c[r+68>>2]=0,c[r+76>>2]=0,c[r+80>>2]=0,c[r+84>>2]=0,c[r+88>>2]=0,c[r+92>>2]=0,c[r+96>>2]=0,c[r+72>>2]=r+4,c[r+104>>2]=0,c[r+108>>2]=0,n[r+100|0]=1,c[r+112>>2]=0,c[r+116>>2]=0,c[r+120>>2]=0,c[r+124>>2]=0,c[r+128>>2]=0,c[r+132>>2]=0,c[r+136>>2]=0,c[r+140>>2]=0}function ce(r,e){var i=0,t=0,f=0,a=0;t=c[r+12>>2],(i=c[r+16>>2]-t>>2)>>>0<e>>>0?_e(r+12|0,e-i|0):e>>>0>=i>>>0||(c[r+16>>2]=t+(e<<2));r:{if(i=c[r>>2],!(c[r+8>>2]-i>>2>>>0>=e>>>0)){if(e>>>0>=1073741824)break r;if(t=c[r+4>>2],f=(e=vi(f=e<<2))+f|0,e=a=e+(t-i&-4)|0,(0|i)!=(0|t))for(;t=t-4|0,c[(e=e-4|0)>>2]=c[t>>2],(0|i)!=(0|t););c[r+8>>2]=f,c[r+4>>2]=a,c[r>>2]=e,i&&er(i)}return}mt(),o()}function ke(r){var e=0,i=0,t=0;if(c[(r|=0)>>2]=10300,(e=c[r+68>>2])&&(c[r+72>>2]=e,er(e)),(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),(e=c[r+44>>2])&&(c[r+48>>2]=e,er(e)),(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),(e=c[r+20>>2])&&(c[r+24>>2]=e,er(e)),e=c[r+8>>2]){if(t=e,(0|e)!=(0|(i=c[r+12>>2]))){for(;t=c[(i=i-4|0)>>2],c[i>>2]=0,t&&xe(t),(0|e)!=(0|i););t=c[r+8>>2]}c[r+12>>2]=e,er(t)}return e=c[r+4>>2],c[r+4>>2]=0,e&&je(e),0|r}function _e(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0;if((f=c[r+8>>2])-(i=c[r+4>>2])>>2>>>0>=e>>>0)return e&&(i=Sr(i,0,e<<=2)+e|0),void(c[r+4>>2]=i);r:{if((t=(A=(n=(a=i)-(i=c[r>>2])|0)>>2)+e|0)>>>0<1073741824){if(a=(f=f-i|0)>>>1|0,t=f>>>0>=2147483644?1073741823:t>>>0<a>>>0?a:t){if(t>>>0>=1073741824)break r;b=vi(t<<2)}return f=Sr((A<<2)+b|0,0,e<<=2),a=t<<2,t=gr(b,i,n),c[r+8>>2]=a+t,c[r+4>>2]=e+f,c[r>>2]=t,void(i&&er(i))}mt(),o()}Zi(),o()}function se(r,e){var i=0,t=0,f=0,a=0;if((0|(i=r+4|0))!=(0|(r=te(r,e)))){for(e=r+28|0,e=n[r+39|0]<0?c[e>>2]:e;e=(r=e)+1|0,32==(0|(i=n[0|r]))|i-9>>>0<5;);r:{e:{i:switch((i=n[0|r])-43|0){case 0:break e;case 2:break i;default:break r}f=1}i=n[0|e],r=e}if(i-48>>>0<10)for(;t=48+(y(t,10)-n[0|r]|0)|0,e=n[r+1|0],r=r+1|0,e-48>>>0<10;);-1!=(0|(r=f?t:0-t|0))&&(a=!!(0|r))}return a}function pe(r,e){var i=0,t=0,f=0,a=0,n=0,A=0;if(r=c[r>>2],(i=c[r+4>>2])>>>0<(f=c[r+8>>2])>>>0)return c[i>>2]=c[e>>2],void(c[r+4>>2]=i+4);r:{if((a=(t=(n=(t=i)-(i=c[r>>2])|0)>>2)+1|0)>>>0<1073741824){if(A=t<<2,t=(f=f-i|0)>>>1|0,a=f>>>0>=2147483644?1073741823:a>>>0<t>>>0?t:a){if(a>>>0>=1073741824)break r;f=vi(a<<2)}else f=0;return c[(t=A+f|0)>>2]=c[e>>2],e=gr(f,i,n),c[r+8>>2]=e+(a<<2),c[r+4>>2]=t+4,c[r>>2]=e,void(i&&er(i))}mt(),o()}Zi(),o()}function le(r,e,i){var t,f,a,n,A=0;Z=A=(Z=t=(Z=f=Z-16|0)-32|0)-16|0,c[A+12>>2]=e,c[A+8>>2]=e+i,c[t+24>>2]=c[A+12>>2],c[t+28>>2]=c[A+8>>2],Z=i=(Z=A+16|0)-16|0,a=(n=c[t+28>>2])-(A=c[t+24>>2])|0,(0|A)!=(0|n)&&gr(r,A,a),c[i+12>>2]=A+a,c[i+8>>2]=r+a,c[t+16>>2]=c[i+12>>2],c[t+20>>2]=c[i+8>>2],Z=i+16|0,c[t+12>>2]=(c[t+16>>2]-e|0)+e,c[t+8>>2]=(c[t+20>>2]-r|0)+r,c[f+8>>2]=c[t+12>>2],c[f+12>>2]=c[t+8>>2],Z=t+32|0,Z=f+16|0}function ye(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,b=0;if((f=c[r+8>>2])-(i=c[r+4>>2])>>3>>>0>=e>>>0)return e&&(i=Sr(i,0,e<<=3)+e|0),void(c[r+4>>2]=i);r:{if((t=(A=(n=(a=i)-(i=c[r>>2])|0)>>3)+e|0)>>>0<536870912){if(a=(f=f-i|0)>>>2|0,t=f>>>0>=2147483640?536870911:t>>>0<a>>>0?a:t){if(t>>>0>=536870912)break r;b=vi(t<<3)}return f=Sr((A<<3)+b|0,0,e<<=3),a=t<<3,t=gr(b,i,n),c[r+8>>2]=a+t,c[r+4>>2]=e+f,c[r>>2]=t,void(i&&er(i))}mt(),o()}Zi(),o()}function de(r,e){var i=0,t=0,f=0,a=0,n=0,A=0;if((f=c[r+8>>2])-(i=c[r+4>>2])>>1>>>0>=e>>>0)return e&&(i=Sr(i,0,e<<=1)+e|0),void(c[r+4>>2]=i);r:{if((0|(t=(a=(n=(a=i)-(i=c[r>>2])|0)>>1)+e|0))>=0){if(t=(f=f-i|0)>>>0>=2147483646?2147483647:t>>>0<f>>>0?f:t){if((0|t)<0)break r;A=vi(t<<1)}return f=Sr((a<<1)+A|0,0,e<<=1),a=t<<1,t=gr(A,i,n),c[r+8>>2]=a+t,c[r+4>>2]=e+f,c[r>>2]=t,void(i&&er(i))}mt(),o()}Zi(),o()}function me(r,e,i){var t,f=0,a=0;Z=t=Z-16|0;r:{if(i>>>0<11)f=r,n[r+11|0]=128&k[r+11|0]|i,n[r+11|0]=127&k[r+11|0];else{if(i>>>0>2147483631)break r;Ci(t+8|0,(f=i>>>0>=11?11==(0|(f=(a=i+16&-16)-1|0))?a:f:10)+1|0),f=c[t+8>>2],c[r>>2]=f,c[r+8>>2]=-2147483648&c[r+8>>2]|2147483647&c[t+12>>2],c[r+8>>2]=-2147483648|c[r+8>>2],c[r+4>>2]=i}return le(f,e,i+1|0),void(Z=t+16|0)}yt(),o()}function ve(r,e){var i=0,t=0,f=0;t=(i=c[r+4>>2])+e|0,c[r+4>>2]=t,(t-1^i-1)>>>0<32&&i||(c[c[r>>2]+((t>>>0>=33?t-1>>>5:0)<<2)>>2]=0),e&&(r=c[r>>2]+(i>>>3&536870908)|0,(i&=31)&&(f=e>>>0>(t=32-i|0)>>>0?t:e,c[r>>2]=c[r>>2]&~(-1<<i&-1>>>t-f),e=e-f|0,r=r+4|0),i=e>>>5|0,e>>>0>=32&&Sr(r,0,i<<2),(-32&e)!=(0|e)&&(c[(r=(i<<2)+r|0)>>2]=c[r>>2]&(-1>>>32-(31&e)^-1)))}function he(r,e,i){var t=0,f=0,a=0,A=0;r:if(!(r>>>0>10||(0|(t=c[i+20>>2]))>=(0|(a=c[i+12>>2]))&(f=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|a))){if(a=n[f+c[i>>2]|0],t=(f=f+1|0)?t:t+1|0,c[i+16>>2]=f,c[i+20>>2]=t,(0|(t=a))<0){if(!he(r+1|0,e,i))break r;t=127&t|(r=c[e>>2])<<7,r=c[e+4>>2]<<7|r>>>25}else t&=255,r=0;c[e>>2]=t,c[e+4>>2]=r,A=1}return A}function Re(r,e,i){var t=0,f=0,a=0,A=0;r:if(!(r>>>0>10||(0|(t=c[i+20>>2]))>=(0|(a=c[i+12>>2]))&(f=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|a))){if(a=n[f+c[i>>2]|0],t=(f=f+1|0)?t:t+1|0,c[i+16>>2]=f,c[i+20>>2]=t,(0|(t=a))<0){if(!Re(r+1|0,e,i))break r;t=127&t|(r=c[e>>2])<<7,r=c[e+4>>2]<<7|r>>>25}else t&=255,r=0;c[e>>2]=t,c[e+4>>2]=r,A=1}return A}function Ne(r,e,i,t){n[r+53|0]=1;r:if(c[r+4>>2]==(0|i)){n[r+52|0]=1;e:{if(!(i=c[r+16>>2])){if(c[r+36>>2]=1,c[r+24>>2]=t,c[r+16>>2]=e,1!=(0|t))break r;if(1==c[r+48>>2])break e;break r}if((0|e)==(0|i)){if(2==(0|(i=c[r+24>>2]))&&(c[r+24>>2]=t,i=t),1!=c[r+48>>2])break r;if(1==(0|i))break e;break r}c[r+36>>2]=c[r+36>>2]+1}n[r+54|0]=1}}function Te(r,e,i){e|=0,i|=0;var t,f=0;Z=t=Z-16|0,c[(r|=0)+4>>2]=e,e=c[e+64>>2],f=c[e>>2],e=c[e+4>>2],n[t+15|0]=0,xr(r+24|0,(e-f>>2>>>0)/3|0,t+15|0),e=c[r+4>>2],f=c[e+56>>2],e=c[e+52>>2],n[t+14|0]=0,xr(r+36|0,f-e>>2,t+14|0),e=c[i+12>>2],c[r+16>>2]=c[i+8>>2],c[r+20>>2]=e,e=c[i+4>>2],c[r+8>>2]=c[i>>2],c[r+12>>2]=e,Z=t+16|0}function Ve(r,e){var i=0,t=0;r:{if((0|(i=c[r+4>>2]))==(t=c[r+8>>2])<<5){if((i+1|0)<0)break r;nr(r,i=i>>>0<=1073741822?(i=32+(-32&i)|0)>>>0<(t<<=6)>>>0?t:i:2147483647),i=c[r+4>>2]}return c[r+4>>2]=i+1,t=1<<i,r=c[r>>2]+(i>>>3&536870908)|0,k[0|e]?void(c[r>>2]=t|c[r>>2]):void(c[r>>2]=c[r>>2]&(-1^t))}mt(),o()}function Ue(r){var e;return c[r>>2]=0,c[r+4>>2]=0,c[r+56>>2]=0,c[r+48>>2]=0,c[r+52>>2]=0,c[r+40>>2]=0,c[r+44>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,c[(e=r- -64|0)>>2]=0,c[e+4>>2]=0,c[r+72>>2]=0,c[r+76>>2]=0,c[r+80>>2]=0,c[r+84>>2]=0,c[r+60>>2]=r,r}function We(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!We(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function De(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!De(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Ge(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!Ge(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Ze(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!Ze(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Ee(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!Ee(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Fe(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!Fe(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Ie(r,e,i){var t=0,f=0,a=0,n=0;r:if(!(r>>>0>5||(0|(t=c[i+20>>2]))>=(0|(f=c[i+12>>2]))&(a=c[i+16>>2])>>>0>=s[i+8>>2]|(0|t)>(0|f))){if(f=k[c[i>>2]+a|0],t=(a=a+1|0)?t:t+1|0,c[i+16>>2]=a,c[i+20>>2]=t,(0|(t=f<<24>>24))<0){if(!Ie(r+1|0,e,i))break r;f=127&t|c[e>>2]<<7}c[e>>2]=f,n=1}return n}function Ye(r,e,i){var t=0,f=0;r:{e:{if(i>>>0>=4){if(3&(r|e))break e;for(;;){if(c[r>>2]!=c[e>>2])break e;if(e=e+4|0,r=r+4|0,!((i=i-4|0)>>>0>3))break}}if(!i)break r}for(;;){if((0|(t=k[0|r]))==(0|(f=k[0|e]))){if(e=e+1|0,r=r+1|0,i=i-1|0)continue;break r}break}return t-f|0}return 0}function we(r){var e,i=0,t=0,f=0;if(e=c[r>>2]){if(f=e,(0|e)!=(0|(t=c[r+4>>2]))){for(;(i=c[(f=t-144|0)+132>>2])&&(c[t-8>>2]=i,er(i)),(i=c[t-28>>2])&&(c[t-24>>2]=i,er(i)),(i=c[t-40>>2])&&(c[t-36>>2]=i,er(i)),Oe(t-140|0),(0|e)!=(0|(t=f)););f=c[r>>2]}c[r+4>>2]=e,er(f)}}function je(r){var e=0,i=0,t=0;if(r){if(t=c[r+24>>2]){if((0|(e=t))!=(0|(i=c[r+28>>2]))){for(;e=c[(i=i-4|0)>>2],c[i>>2]=0,e&&(Ai(e+12|0,c[e+16>>2]),mi(e,c[e+4>>2]),er(e)),(0|i)!=(0|t););e=c[r+24>>2]}c[r+28>>2]=t,er(e)}Ai(r+12|0,c[r+16>>2]),mi(r,c[r+4>>2]),er(r)}}function Je(r,e,i){r|=0,e|=0;var t,f,a,n,A=0,o=0;return(n=c[(i|=0)+8>>2])>>>0>(f=c[i+16>>2])>>>0&(0|(A=a=c[i+12>>2]))>=(0|(t=c[i+20>>2]))|(0|t)<(0|A)&&(e=k[c[i>>2]+f|0],A=(o=f+1|0)?t:t+1|0,c[i+16>>2]=o,c[i+20>>2]=A,c[r+4>>2]=e),f>>>0<n>>>0&(0|t)<=(0|a)|(0|t)<(0|a)}function Be(r,e,i){var t=0;if(!i)return c[r+4>>2]==c[e+4>>2];if((0|r)==(0|e))return 1;t=c[r+4>>2],r=k[0|t],i=c[e+4>>2];r:if(!(!r|(0|(e=k[0|i]))!=(0|r)))for(;;){if(e=k[i+1|0],!(r=k[t+1|0]))break r;if(i=i+1|0,t=t+1|0,(0|r)!=(0|e))break}return(0|r)==(0|e)}function Me(r,e){var i=0,t=0,f=0;c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0;r:{if((0|(i=c[e+4>>2]))!=(0|(t=c[e>>2]))){if((0|(i=i-t|0))<0)break r;t=(t=i)+(i=Sr(f=vi(i),0,i))|0,c[r+8>>2]=t,c[r+4>>2]=t,c[r>>2]=i,i=c[e>>2],r=c[e+4>>2]}else r=i;return void hr(f,i,r-i|0)}mt(),o()}function Qe(r){var e,i=0,t=0,f=0;if((0|(t=c[r+4>>2]))!=(0|(e=c[r>>2])))for(;(i=c[(f=t-144|0)+132>>2])&&(c[t-8>>2]=i,er(i)),(i=c[t-28>>2])&&(c[t-24>>2]=i,er(i)),(i=c[t-40>>2])&&(c[t-36>>2]=i,er(i)),Oe(t-140|0),(0|e)!=(0|(t=f)););c[r+4>>2]=e}function ge(r){var e=0;r&&((e=c[r+76>>2])&&(c[r+80>>2]=e,er(e)),(e=c[r- -64>>2])&&(c[r+68>>2]=e,er(e)),(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),(e=c[r+24>>2])&&(c[r+28>>2]=e,er(e)),(e=c[r+12>>2])&&(c[r+16>>2]=e,er(e)),(e=c[r>>2])&&(c[r+4>>2]=e,er(e)),er(r))}function Oe(r){var e=0;(e=c[r+84>>2])&&(c[r+88>>2]=e,er(e)),(e=c[r+72>>2])&&(c[r+76>>2]=e,er(e)),(e=c[r+52>>2])&&(c[r+56>>2]=e,er(e)),(e=c[r+40>>2])&&(c[r+44>>2]=e,er(e)),(e=c[r+28>>2])&&(c[r+32>>2]=e,er(e)),(e=c[r+12>>2])&&er(e),(r=c[r>>2])&&er(r)}function Ce(r,e,i){var t,f,a=0,n=0;for(Z=t=(Z=f=Z-16|0)-16|0,e=e-r>>2;e;)c[t+12>>2]=r,a=e>>>1|0,c[t+12>>2]=c[t+12>>2]+(a<<2),n=(-1^a)+e|0,e=a,e=(a=s[c[t+12>>2]>>2]<s[i>>2])?n:e,r=a?c[t+12>>2]+4|0:r;return Z=t+16|0,Z=f+16|0,r}function ze(r,e){var i,t;return t=vi(40),c[t>>2]=-1,c[(i=t+8|0)+16>>2]=0,c[i+20>>2]=0,c[i+8>>2]=0,c[i>>2]=0,c[i+4>>2]=0,c[i+24>>2]=0,c[i+28>>2]=0,Zt[c[c[r>>2]+16>>2]](r,t),r=c[e+88>>2],c[e+88>>2]=t,r&&((e=c[r+8>>2])&&(c[r+12>>2]=e,er(e)),er(r)),1}function Xe(r){var e=0,i=0,t=0;r:{if(3&(e=r))for(;;){if(!k[0|e])break r;if(!(3&(e=e+1|0)))break}for(;i=e,e=e+4|0,!(~(t=c[i>>2])&t-16843009&-2139062144););for(;i=(e=i)+1|0,k[0|e];);}return e-r|0}function Se(r){var e,i,t=0,f=0,a=0;return a=k[r+12|0],(f=c[r+8>>2])>>>0>4095||(0|(t=c[r+4>>2]))<=0||(t=t-1|0,c[r+4>>2]=t,f=k[t+c[r>>2]|0]|f<<8),t=y(a=0-a&255,f>>>8|0),i=(e=255&f)>>>0<a>>>0,c[r+8>>2]=i?t+e|0:f-(t+a|0)|0,i}function He(r,e){return c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=1776,c[r+12>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,c[r+40>>2]=0,c[r>>2]=2016,c[r+60>>2]=e,c[r+44>>2]=0,c[r+48>>2]=0,c[r+52>>2]=0,c[r+56>>2]=0,r}function Pe(r,e){var i,t=0,f=0;if((i=Xe(e))>>>0<2147483632){r:{if(i>>>0>=11)f=vi(t=1+(15|i)|0),c[r+8>>2]=-2147483648|t,c[r>>2]=f,c[r+4>>2]=i,t=i+f|0;else if(n[r+11|0]=i,t=r+i|0,f=r,!i)break r;gr(f,e,i)}return n[0|t]=0,r}yt(),o()}function xe(r){var e=0,i=0;(r|=0)&&(e=c[r+88>>2],c[r+88>>2]=0,e&&((i=c[e+8>>2])&&(c[e+12>>2]=i,er(i)),er(e)),(e=c[r+68>>2])&&(c[r+72>>2]=e,er(e)),e=c[r+64>>2],c[r+64>>2]=0,e&&((i=c[e>>2])&&(c[e+4>>2]=i,er(i)),er(e)),er(r))}function Le(r,e){var i=0,t=0,f=0;r:{if(i=c[r>>2],!(c[r+8>>2]-i>>2>>>0>=e>>>0)){if(e>>>0>=1073741824)break r;t=c[r+4>>2]-i|0,e=gr(vi(f=e<<2),i,t),c[r+8>>2]=e+f,c[r+4>>2]=e+t,c[r>>2]=e,i&&er(i)}return}mt(),o()}function Ke(r,e,i,t){var f,a=0,n=0;return f=(n=e^t)>>31,n>>=31,r=Wr((r^=a=e>>31)-a|0,a=(e^a)-((r>>>0<a>>>0)+a|0)|0,(e=i^(r=t>>31))-r|0,(r^t)-((r>>>0>e>>>0)+r|0)|0)^n,E=(f^E)-((r>>>0<n>>>0)+f|0)|0,e=r-n|0}function qe(r,e,i){var t,f=0;Z=t=Z-16|0,(f=2147483647&c[r+8>>2])>>>0>i>>>0?(f=c[r>>2],c[r+4>>2]=i,le(f,e,i),n[t+15|0]=0,n[i+f|0]=k[t+15|0]):Kr(r,f-1|0,1+(i-f|0)|0,r=c[r+4>>2],r,i,e),Z=t+16|0}function $e(r,e,i,t){var f,a,n,A,o=0,b=0;return A=y(o=i>>>16|0,b=r>>>16|0),o=(65535&(b=((n=y(f=65535&i,a=65535&r))>>>16|0)+y(b,f)|0))+y(o,a)|0,E=(y(e,i)+A|0)+y(r,t)+(b>>>16)+(o>>>16)|0,65535&n|o<<16}function ri(r,e,i){var t;Z=t=Z-16|0,i>>>0<=10?(n[r+11|0]=128&k[r+11|0]|i,n[r+11|0]=127&k[r+11|0],le(r,e,i),n[t+15|0]=0,n[r+i|0]=k[t+15|0]):Kr(r,10,i-10|0,r=127&k[r+11|0],r,i,e),Z=t+16|0}function ei(r,e,i){var t;if(!(t=c[r+16>>2]))return c[r+36>>2]=1,c[r+24>>2]=i,void(c[r+16>>2]=e);r:{if((0|e)==(0|t)){if(2!=c[r+24>>2])break r;return void(c[r+24>>2]=i)}n[r+54|0]=1,c[r+24>>2]=2,c[r+36>>2]=c[r+36>>2]+1}}function ii(r,e){var i,t=0;if((0|(i=c[r+8>>2]))!=(0|(r=c[r+12>>2])))for(t=(r=r-i>>2)>>>0<=1?1:r,r=0;;){if(c[c[(r<<2)+i>>2]+60>>2]==(0|e))return r;if((0|t)==(0|(r=r+1|0)))break}return-1}function ti(r,e,i){var t=0,f=0;return(0|(t=r+4|0))!=(0|(r=te(r,e)))&&(0|(e=c[r+32>>2]))!=(0|(t=c[r+28>>2]))&&(Tr(i,e-t|0),hr(i=di(i),e=c[r+28>>2],c[r+32>>2]-e|0),f=1),f}function fi(r){return c[r+40>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=10032,c[r+12>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,c[r+32>>2]=0,A[r+36>>1]=0,c[r+44>>2]=0,c[r>>2]=8080,r}function ai(r){return c[r+8>>2]=0,c[r+12>>2]=0,c[r>>2]=0,c[r+40>>2]=0,c[r+44>>2]=0,c[r+28>>2]=9,n[r+24|0]=1,c[r+56>>2]=-1,c[r+60>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+48>>2]=0,c[r+52>>2]=0,r}function ni(r){var e,i;return(r=(e=c[2909])+(i=r+7&-8)|0)>>>0<=e>>>0&&i||r>>>0>Et()<<16>>>0&&!(0|D(0|r))?(c[2940]=48,-1):(c[2909]=r,e)}function Ai(r,e){e&&(Ai(r,c[e>>2]),Ai(r,c[e+4>>2]),r=c[e+28>>2],c[e+28>>2]=0,r&&(Ai(r+12|0,c[r+16>>2]),mi(r,c[r+4>>2]),er(r)),n[e+27|0]<0&&er(c[e+16>>2]),er(e))}function oi(r,e){var i,t,f,a;return c[r>>2]=11356,c[r>>2]=11468,t=vi((i=Xe(e))+13|0),c[t+8>>2]=0,c[t+4>>2]=i,c[t>>2]=i,f=r,a=hr(t+12|0,e,i+1|0),c[f+4>>2]=a,r}function bi(r,e,i){return e&&(e=0,!he(1,i,r))||(n[r+36|0]=1,c[r+32>>2]=0,i=(e=c[r+16>>2])+c[r>>2]|0,c[r+24>>2]=i,c[r+28>>2]=i+(c[r+8>>2]-e|0),e=1),e}function ui(r){var e=0;return!c[(r|=0)- -64>>2]|!c[r+68>>2]|!c[r+44>>2]|!c[r+48>>2]||!c[r+52>>2]|!c[r+56>>2]||(e=-1!=c[r+92>>2]),0|e}function ci(r){var e=0;return c[(r|=0)>>2]=2136,e=c[r+20>>2],c[r+20>>2]=0,e&&Zt[c[c[e>>2]+4>>2]](e),c[r>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),0|r}function ki(r){var e=0;return!c[(r|=0)+48>>2]|!c[r+52>>2]|!c[r+28>>2]|!c[r+32>>2]||!c[r+36>>2]|!c[r+40>>2]||(e=-1!=c[r+76>>2]),0|e}function _i(r){var e=0;return c[(r|=0)>>2]=8624,(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=8876,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),0|r}function si(r){var e=0;c[(r|=0)>>2]=2136,e=c[r+20>>2],c[r+20>>2]=0,e&&Zt[c[c[e>>2]+4>>2]](e),c[r>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),er(r)}function pi(r){return c[r+8>>2]=0,c[r+12>>2]=0,c[r>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+32>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,A[r+38>>1]=0,n[r+36|0]=0,r}function li(r,e){var i=0;return i=-1,-1==(0|e)|(0|e)>4||(e=y(e,12)+r|0,r=c[e+20>>2],(c[e+24>>2]-r|0)<=0||(i=c[r>>2])),i}function yi(r,e,i,t,f,a,A){c[r>>2]=0,c[r+56>>2]=e,c[r+48>>2]=0,c[r+52>>2]=0,c[r+40>>2]=a,c[r+44>>2]=A,n[r+32|0]=f,c[r+28>>2]=t,n[r+24|0]=i}function di(r){return(k[r+11|0]>>>7|0?c[r+4>>2]:127&k[r+11|0])||(Mi(1222),o()),k[r+11|0]>>>7|0&&(r=c[r>>2]),r}function mi(r,e){e&&(mi(r,c[e>>2]),mi(r,c[e+4>>2]),(r=c[e+28>>2])&&(c[e+32>>2]=r,er(r)),n[e+27|0]<0&&er(c[e+16>>2]),er(e))}function vi(r){var e=0;r=r||1;r:{for(;;){if(e=Y(r))break r;if(!(e=c[3065]))break;Zt[0|e]()}U(),o()}return e}function hi(r,e){e&&(hi(r,c[e>>2]),hi(r,c[e+4>>2]),n[e+39|0]<0&&er(c[e+28>>2]),n[e+27|0]<0&&er(c[e+16>>2]),er(e))}function Ri(r){var e,i;return c[(r|=0)>>2]=11468,e=c[r+4>>2]-12|0,i=c[e+8>>2]-1|0,c[e+8>>2]=i,(0|i)<0&&er(e),0|r}function Ni(r,e,i){return e|=0,i|=0,c[(r|=0)+4>>2]=e,e=c[c[c[e+4>>2]+8>>2]+(i<<2)>>2],c[r+12>>2]=i,c[r+8>>2]=e,1}function Ti(r){var e=0;return!c[(r|=0)+60>>2]|!c[r+44>>2]|!c[r+48>>2]|!c[r+52>>2]||(e=0!=c[r+56>>2]),0|e}function Vi(r,e){k[r+11|0]>>>7|0?c[r+4>>2]=e:(n[r+11|0]=128&k[r+11|0]|e,n[r+11|0]=127&k[r+11|0])}function Ui(r){var e=0;return!c[(r|=0)+52>>2]|!c[r+44>>2]|!c[r+48>>2]||(e=0!=c[r+56>>2]),0|e}function Wi(r,e){r|=0;var i=0;return c[(e|=0)+56>>2]|!e|3!=k[e+24|0]||(c[r+60>>2]=e,i=1),0|i}function Di(r,e){r|=0;var i=0;return c[(e|=0)+56>>2]|3!=k[e+24|0]||(c[r- -64>>2]=e,i=1),0|i}function Gi(r,e){r|=0;var i=0;return c[(e|=0)+56>>2]|3!=k[e+24|0]||(c[r+48>>2]=e,i=1),0|i}function Zi(){var r;r=ft(4),c[r>>2]=11356,c[r>>2]=11316,c[r>>2]=11336,W(0|r,11448,14),o()}function Ei(r){var e;c[(r|=0)>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)}function Fi(r,e){e&&(Fi(r,c[e>>2]),Fi(r,c[e+4>>2]),hi(e+20|0,c[e+24>>2]),er(e))}function Ii(r){for(var e=0;r;)r&=r-1,e=e+1|0;return e}function Yi(r){var e;return(-1>>>(e=31&r)&-2)<<e|(-1<<(r=0-r&31)&-2)>>>r}function wi(){var r;return r=vi(12),c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,0|r}function ji(r){var e=0;(r|=0)&&((e=c[r>>2])&&(c[r+4>>2]=e,er(e)),er(r))}function Ji(r,e){return r|=0,(e|=0)>>>0<=1&&(c[r+28>>2]=e),e>>>0<2|0}function Bi(r,e){return e|=0,0|Zt[c[c[(r|=0)>>2]+12>>2]](r,e)}function Mi(r){r=oi(ft(8),r),c[r>>2]=11568,W(0|r,11600,1),o()}function Qi(r){r=oi(ft(8),r),c[r>>2]=11516,W(0|r,11548,1),o()}function gi(r,e){return e|=0,c[c[(r|=0)>>2]+(e<<2)>>2]}function Oi(r,e,i){return 0|Ar(r|=0,e|=0,i|=0)}function Ci(r,e){var i;i=vi(e),c[r+4>>2]=e,c[r>>2]=i}function zi(r){return c[r>>2]=10300,Sr(r+4|0,0,80),r}function Xi(r){return r?31-v(r-1^r)|0:32}function Si(r){return c[(r|=0)+12>>2]-c[r+8>>2]>>2}function Hi(r){(r|=0)&&Zt[c[c[r>>2]+4>>2]](r)}function Pi(r,e){return e|=0,c[(r|=0)+4>>2]=e,1}function xi(r){return c[(r|=0)+4>>2]-c[r>>2]>>1}function Li(r){return c[(r|=0)+4>>2]-c[r>>2]>>2}function Ki(r){return c[(r|=0)+4>>2]-c[r>>2]|0}function qi(r){return c[(r|=0)+80>>2]}function $i(r){return c[(r|=0)+28>>2]}function rt(r){return c[(r|=0)+8>>2]}function et(r,e){return-1}function it(r,e){return 6}function tt(r){return c[(r|=0)+4>>2]}function ft(r){return Y(r+80|0)+80|0}function at(r,e){return 0}function nt(r,e){return 1}function At(r){return c[(r|=0)>>2]}function ot(r){(r|=0)&&er(r)}function bt(r){Ri(r|=0),er(r)}function ut(r){return 0|(r|=0)}function ct(r){return 1}function kt(r){return 4}function _t(r){return 5}function st(r){return 2}function pt(r){return 0}function lt(r){return 6}function yt(){Qi(1222),o()}function dt(){Mi(1154),o()}function mt(){Qi(1154),o()}function vt(r){er(r|=0)}function ht(r){o()}function Rt(){return-1}function Nt(){return 1}function Tt(){return 0}function Vt(){return 3}function Ut(){return 4}function Wt(){return 2}function Dt(r){0}f(e=k,1028,"YAQAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAADYKwAAOAQAAOAGAABfX25leHRfcHJpbWUgb3ZlcmZsb3cAdmVjdG9yAHN0ZDo6ZXhjZXB0aW9uAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAc3RkOjpiYWRfYWxsb2MARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAAAAAAAAALQGAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAALAAAAGAAAABkAAABONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAAAAANgrAACIBgAA4AYAAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAAAAAsCsAAMAGAAAAAAAAbAcAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAAAAAsCsAADwHAADYKwAAIAcAAGQHAAAAAAAAzAcAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQAAAACwKwAApAcAAP////8AAAAARAgAAC8AAAAwAAAAHAAAADEAAAAyAAAAHwAAACAAAAAhAAAAMwAAADQAAAA1AAAANgAAADcAAABONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQDYKwAAFAgAAGwHAAAAAAAAuAgAADgAAAA5AAAAOgAAACkAAAAqAAAAKwAAADsAAAAtAAAAPAAAAD0AAAA+AAAAPwAAAEAAAABONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFANgrAACMCAAAzAcAAAAAAABECwAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUAsCsAAOgKAADYKwAAvQoAAAwLAADYKwAAiQoAABQLAADYKwAANQoAACALAADYKwAAnwkAACwLAADYKwAA/AgAADgLAAAAAAAAOAsAAEEAAABNAAAAIwAAAEQAAAAjAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAIwAAAAAAAAAsCwAAQQAAAE4AAAAjAAAARAAAACMAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAAAjAAAAAAAAAKwMAABPAAAAUAAAAFEAAABEAAAAUgAAAEYAAABHAAAASAAAAEkAAABKAAAAUwAAAFQAAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAADYKwAA+AsAADgLAAAAAAAAmA0AAFUAAABWAAAAVwAAAEQAAABYAAAAWQAAAFoAAABbAAAASQAAAEoAAABcAAAAXQAAAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAANgrAADwDAAAOAsAAAAAAACEDgAAXgAAAF8AAABgAAAARAAAAGEAAABiAAAAYwAAAGQAAABJAAAASgAAAGUAAABmAAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAA2CsAANwNAAA4CwAAAAAAAAwQAABnAAAAaAAAAGkAAABqAAAAawAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAsCsAAFcPAADYKwAArA4AAAQQAAAAAAAABBAAAGcAAABsAAAAIwAAAGoAAAAjAAAAAAAAAJgRAABBAAAAbQAAAG4AAABEAAAAbwAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAHAAAABONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAADYKwAAAhEAACwLAADYKwAAbBAAAIwRAAAAAAAAjBEAAEEAAABxAAAAIwAAAEQAAAAjAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAIwAAAAAAAAC8EgAAcgAAAHMAAAB0AAAARAAAAHUAAABGAAAARwAAAEgAAABJAAAASgAAAHYAAAB3AAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA2CsAABQSAACMEQAAAAAAAJwTAAB4AAAAeQAAAHoAAABEAAAAewAAAHwAAAB9AAAAfgAAAEkAAABKAAAAfwAAAIAAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAADYKwAAABMAAIwRAAAAAAAAeBQAAIEAAACCAAAAgwAAAEQAAACEAAAAhQAAAIYAAACHAAAASQAAAEoAAACIAAAAiQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUA2CsAAOATAACMEQAAAAAAAOQVAACKAAAAiwAAAIwAAACNAAAAjgAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQCwKwAAPhUAANgrAACgFAAA3BUAAAAAAADcFQAAigAAAI8AAAAjAAAAjQAAACMAAAAAAAAAoBYAAEEAAACQAAAAkQAAAEQAAACSAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAkwAAAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUAAAAA2CsAAEQWAAAsCwAAAAAAABQXAACUAAAAlQAAAJYAAAApAAAAKgAAAJcAAAA7AAAALQAAADwAAACYAAAAmQAAAJoAAACbAAAATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAADYKwAA6BYAALgIAAAAAAAASBkAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApwAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAADYKwAAwxgAACALAADYKwAAFRgAADAZAADYKwAAWBcAADwZAAAAAAAAABsAAKgAAACpAAAAqgAAAKsAAACsAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAACwKwAAMxoAANgrAABwGQAA+BoAAAAAAACkHAAArQAAAK4AAACvAAAAnwAAALAAAACxAAAAsgAAALMAAACkAAAApQAAALQAAAC1AAAATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAANgrAAD0GwAAMBkAANgrAABEGwAAmBwAAAAAAABAHgAAtgAAALcAAAC4AAAAuQAAALoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAsCsAAIIdAADYKwAAzBwAADgeAAAAAAAA+B4AALsAAAC8AAAAvQAAAJ8AAAC+AAAAvwAAAMAAAADBAAAApAAAAKUAAADCAAAAwwAAAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUAAAAA2CsAAIQeAAAwGQAAAAAAAHwfAADEAAAAxQAAAMYAAAApAAAAKgAAAMcAAAA7AAAALQAAADwAAADIAAAAPgAAAD8AAADJAAAAygAAAMsAAABONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRGVjb2RlckUAAAAA2CsAAEgfAAC4CAAAAAAAANwfAADMAAAAzQAAAM4AAADPAAAAIwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAAAjAAAATjVkcmFjbzExTWVzaERlY29kZXJFAAAA2CsAAMQfAACcJwAAAAAAAEggAADXAAAA2AAAAM4AAADZAAAA2gAAANAAAADRAAAA0gAAANsAAADcAAAA3QAAAN4AAADfAAAATjVkcmFjbzIyTWVzaEVkZ2VicmVha2VyRGVjb2RlckUAAAAA2CsAACQgAADcHwAAAAAAADwhAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA/////wAAAACcIQAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUAAACwKwAABCEAANgrAAC4IAAANCEAAE41ZHJhY28yNk1lc2hFZGdlYnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VicmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUAANgrAABIIQAANCEAAAAAAACYIgAA9AAAAPUAAAD2AAAATjVkcmFjbzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQCwKwAAKSIAANgrAAC8IQAAkCIAAAAAAACQIgAA9wAAAPgAAAD2"),f(e,8900,"AQAAAAMAAAAFAAAABwAAAAAAAACYIwAA+QAAAPoAAAD7AAAA/AAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAsCsAAHMjAADYKwAA7CIAAJAjAAD/////AAAAAIgkAAD9AAAA/gAAAP8AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAsCsAACUkAADYKwAAvCMAAIAkAAAAAAAAgCQAAAABAAABAQAA/wAAAAAAAABAJQAAAgEAAAMBAAAEAQAABQEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAA2CsAAMAkAACQIwAAAAAAAMAlAAAGAQAABwEAAP8AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQDYKwAAYCUAAIAkAAAAAAAAcCYAAAgBAAAJAQAACgEAAAsBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAANgrAADkJQAAkCM="),f(e,9860,"3CYAAMwAAAAMAQAAzgAAAM8AAAANAQAA0AAAANEAAADSAAAA0wAAANQAAADVAAAA1gAAAA4BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFANgrAAC8JgAA3B8AAAAAAAAcJwAADwEAABABAAARAQAAEgEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAADYKwAAACcAAJAjAAAAAAAAnCcAAMwAAAATAQAAFAEAAM8AAAAjAAAAFQEAANEAAADSAAAA0w=="),f(e,10080,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAsCsAAH4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),f(e,10211,"wAAAAMAAAADAAAAAwP//////////AAAAACAoAAAWAQAAFwEAABgBAAAZAQAATjVkcmFjbzRNZXNoRQAAANgrAAAQKAAAZCgAAP////8AAAAAAAAAAGQoAAAaAQAAGwEAABwBAAAdAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAsCsAAEwo"),f(e,10356,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAAAAAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OU4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAANgrAADoKgAAbC0AAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAANgrAAAYKwAADCsAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAANgrAABIKwAADCsAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FANgrAAB4KwAAbCsAAAAAAAA8KwAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAAAAAAAICwAAB4BAAAmAQAAIAEAACEBAAAiAQAAJwEAACgBAAApAQAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAANgrAAD4KwAAPCsAAAAAAACQLAAADgAAACoBAAArAQAAAAAAALgsAAAOAAAALAEAAC0BAAAAAAAAeCwAAA4AAAAuAQAALwEAAFN0OWV4Y2VwdGlvbgAAAACwKwAAaCwAAFN0OWJhZF9hbGxvYwAAAADYKwAAgCwAAHgsAABTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAA2CsAAJwsAACQLAAAAAAAAOgsAAABAAAAMAEAADEBAABTdDExbG9naWNfZXJyb3IA2CsAANgsAAB4LAAAAAAAABwtAAABAAAAMgEAADEBAABTdDEybGVuZ3RoX2Vycm9yAAAAANgrAAAILQAA6CwAAAAAAABQLQAAAQAAADMBAAAxAQAAU3QxMm91dF9vZl9yYW5nZQAAAADYKwAAPC0AAOgsAABTdDl0eXBlX2luZm8AAAAAsCsAAFwt"),f(e,11636,"8C8B");var Gt,Zt=(Gt=[null,Ri,ut,vt,st,function(r,e){r|=0;var i=0;return!(e=c[88+(e|=0)>>2])|2!=c[e>>2]||(i=r,r=c[e+8>>2],c[i+4>>2]=k[0|r]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24,i=1),0|i},function(r,e){r|=0;var i,t=0;c[(e|=0)>>2]=2,t=c[e+8>>2],(i=c[e+12>>2]-t|0)>>>0<=4294967291&&(oe(e+8|0,i+4|0),t=c[e+8>>2]),e=t+i|0,r=c[r+4>>2],n[0|e]=r,n[e+1|0]=r>>>8,n[e+2|0]=r>>>16,n[e+3|0]=r>>>24},function(r,e,i,t){r|=0,e|=0,i|=0;var f,a,n=0,A=0,o=0,b=0,u=0,_=0,s=0;if(o=c[80+(t|=0)>>2],Z=f=Z-48|0,!((a=(r=c[r+4>>2])-2|0)>>>0>28))if(u=c[c[t>>2]>>2]+c[t+48>>2]|0,c[f+16>>2]=r,r=-1<<r,c[f+20>>2]=-1^r,r=-2-r|0,c[f+24>>2]=r,c[f+32>>2]=(0|r)/2,p[f+28>>2]=d(2)/d(0|r),(0|(n=c[i>>2]))==c[i+4>>2]){if(o)for(t=0,r=0;_=f+36|0,s=c[c[e>>2]>>2],b=c[e+48>>2],A=n=$e(i=c[e+40>>2],c[e+44>>2],k[e+84|0]?r:c[c[e+68>>2]+(r<<2)>>2],0),hr(_,(n=n+b|0)+s|0,i),Ir(f+16|0,_,f+12|0,f+8|0),c[(i=t<<2)+u>>2]=c[f+12>>2],c[(4|i)+u>>2]=c[f+8>>2],t=t+2|0,(0|o)!=(0|(r=r+1|0)););}else for(r=0,t=0;A=c[(t<<2)+n>>2],o=f+36|0,_=c[c[e>>2]>>2],s=c[e+48>>2],n=c[e+40>>2],b=c[e+44>>2],k[e+84|0]||(A=c[c[e+68>>2]+(A<<2)>>2]),b=A=$e(n,b,A,0),hr(o,(A=A+s|0)+_|0,n),Ir(f+16|0,o,f+12|0,f+8|0),c[(n=r<<2)+u>>2]=c[f+12>>2],c[(4|n)+u>>2]=c[f+8>>2],r=r+2|0,t=t+1|0,n=c[i>>2],t>>>0<c[i+4>>2]-n>>2>>>0;);return Z=f+48|0,a>>>0<29|0},wr,function(r,e){e|=0;var i,t=0;return Z=i=Z-16|0,-1!=(0|(r=c[4+(r|=0)>>2]))&&(n[i+15|0]=r,t=c[e+20>>2],!!c[e+16>>2]&(0|t)>=0|(0|t)>0||vr(e,c[e+4>>2],i+15|0,i+16|0)),Z=i+16|0,-1!=(0|r)|0},Je,function(r,e,i){e|=0,i|=0;var t,f,a,A,o,b=0;return Z=t=Z+-64|0,b=0|Zt[c[c[(r|=0)>>2]+44>>2]](r,e),r=0|Zt[c[c[r>>2]+40>>2]](r,e),f=ai(t),a=c[e+56>>2],A=255&b,o=r,r=(r=r-1|0)>>>0<=10?c[10148+(r<<2)>>2]:-1,yi(f,a,A,o,0,b=y(r,b),b>>31),ie(r=ee(vi(96),f),i),n[r+84|0]=1,c[r+72>>2]=c[r+68>>2],c[r+60>>2]=c[e+60>>2],Z=t- -64|0,0|r},it,function(r,e){return 2},ut,function(r){var e;return c[(r|=0)>>2]=1624,(e=c[r+8>>2])&&(c[r+12>>2]=e,er(e)),0|r},function(r){var e;c[(r|=0)>>2]=1624,(e=c[r+8>>2])&&(c[r+12>>2]=e,er(e)),er(r)},ct,function(r,e){r|=0;var i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0;if(!(!(i=c[88+(e|=0)>>2])|1!=c[i>>2])){if(f=c[i+8>>2],c[r+4>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,a=r+8|0,t=k[e+24|0],A=c[r+8>>2],t>>>0>(n=c[r+12>>2]-A>>2)>>>0?(_e(a,t-n|0),t=k[e+24|0],f=c[i+8>>2]):t>>>0>=n>>>0||(c[r+12>>2]=A+(t<<2)),t){if(A=3&t,a=c[a>>2],t-1>>>0<3)e=4,t=0;else for(u=252&t,t=0,e=4;i=e+f|0,c[(n=t<<2)+a>>2]=k[0|i]|k[i+1|0]<<8|k[i+2|0]<<16|k[i+3|0]<<24,c[a+(4|n)>>2]=k[i+4|0]|k[i+5|0]<<8|k[i+6|0]<<16|k[i+7|0]<<24,c[a+(8|n)>>2]=k[i+8|0]|k[i+9|0]<<8|k[i+10|0]<<16|k[i+11|0]<<24,c[a+(12|n)>>2]=k[i+12|0]|k[i+13|0]<<8|k[i+14|0]<<16|k[i+15|0]<<24,t=t+4|0,e=e+16|0,(0|u)!=(0|(o=o+4|0)););if(A)for(;i=e+f|0,c[a+(t<<2)>>2]=k[0|i]|k[i+1|0]<<8|k[i+2|0]<<16|k[i+3|0]<<24,t=t+1|0,e=e+4|0,(0|A)!=(0|(b=b+1|0)););}else e=4;t=r,r=e+f|0,c[t+20>>2]=k[0|r]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24,t=1}return 0|t},function(r,e){r|=0;var i,t=0,f=0,a=0,A=0;if(c[(e|=0)>>2]=1,i=e+8|0,t=c[e+8>>2],(f=c[e+12>>2]-t|0)>>>0<=4294967291&&(oe(i,f+4|0),t=c[i>>2]),t=t+f|0,f=c[r+4>>2],n[0|t]=f,n[t+1|0]=f>>>8,n[t+2|0]=f>>>16,n[t+3|0]=f>>>24,(0|(t=c[r+8>>2]))!=c[r+12>>2])for(f=0;A=(f<<2)+t|0,t=c[e+8>>2],(a=c[e+12>>2]-t|0)>>>0<=4294967291&&(oe(i,a+4|0),t=c[i>>2]),t=t+a|0,a=c[A>>2],n[0|t]=a,n[t+1|0]=a>>>8,n[t+2|0]=a>>>16,n[t+3|0]=a>>>24,f=f+1|0,t=c[r+8>>2],f>>>0<c[r+12>>2]-t>>2>>>0;);(t=(t=c[e+12>>2])-(e=c[e+8>>2])|0)>>>0<=4294967291&&(oe(i,t+4|0),e=c[i>>2]),e=e+t|0,r=c[r+20>>2],n[0|e]=r,n[e+1|0]=r>>>8,n[e+2|0]=r>>>16,n[e+3|0]=r>>>24},function(r,e,i,t){r|=0,e|=0,i|=0,t|=0;var f=d(0),a=0,n=0,A=0,o=0,b=0,u=0,_=0,s=0,l=0,y=d(0),v=0,h=0,R=0,T=0,V=0,U=0,W=0,D=0,G=0;if(c[i>>2]==c[i+4>>2]){if(s=c[t+80>>2],Z=U=Z-16|0,n=c[r+4>>2],u=k[e+24|0],A=c[t+48>>2],l=c[c[t>>2]>>2],c[(i=U+8|0)>>2]=1065353216,t=i,p[i>>2]=d(~(-1<<n))/p[r+20>>2],i=vi(u<<2),!(!s|!u))if(v=A+l|0,y=p[t>>2],l=c[r+8>>2],W=c[e>>2],t=c[e+48>>2],n=c[e+40>>2],D=c[e+44>>2],k[e+84|0])for(T=254&u,V=1&u,r=0;;){if(b=hr(i,(e=c[W>>2])+(A=$e(n,D,o,_)+t|0)|0,n),e=0,h=0,1!=(0|u))for(;A=v+(r<<2)|0,f=d(N(d(d(y*d(p[(a=e<<2)+b>>2]-p[a+l>>2]))+d(.5)))),R=d(m(f))<d(2147483648)?~~f:-2147483648,c[A>>2]=R,f=d(N(d(d(y*d(p[(a|=4)+b>>2]-p[a+l>>2]))+d(.5)))),a=d(m(f))<d(2147483648)?~~f:-2147483648,c[A+4>>2]=a,e=e+2|0,r=r+2|0,(0|T)!=(0|(h=h+2|0)););if(V&&(A=v+(r<<2)|0,f=d(N(d(d(y*d(p[(e<<=2)+b>>2]-p[e+l>>2]))+d(.5)))),e=d(m(f))<d(2147483648)?~~f:-2147483648,c[A>>2]=e,r=r+1|0),e=_,_=e=(o=o+1|0)?e:e+1|0,!((0|o)!=(0|s)|e))break}else for(a=c[e+68>>2],T=254&u,V=1&u,r=0;;){if(A=hr(i,(e=c[W>>2])+(_=$e(n,D,c[a+(o<<2)>>2],0)+t|0)|0,n),e=0,h=0,1!=(0|u))for(;_=v+(r<<2)|0,f=d(N(d(d(y*d(p[(b=e<<2)+A>>2]-p[l+b>>2]))+d(.5)))),R=d(m(f))<d(2147483648)?~~f:-2147483648,c[_>>2]=R,f=d(N(d(d(y*d(p[(b|=4)+A>>2]-p[l+b>>2]))+d(.5)))),b=d(m(f))<d(2147483648)?~~f:-2147483648,c[_+4>>2]=b,e=e+2|0,r=r+2|0,(0|T)!=(0|(h=h+2|0)););if(V&&(_=v+(r<<2)|0,f=d(N(d(d(y*d(p[(e<<=2)+A>>2]-p[e+l>>2]))+d(.5)))),e=d(m(f))<d(2147483648)?~~f:-2147483648,c[_>>2]=e,r=r+1|0),(0|s)==(0|(o=o+1|0)))break}return er(i),Z=U+16|0,1}if(Z=b=Z-16|0,s=c[r+4>>2],o=k[e+24|0],n=c[t+48>>2],A=c[c[t>>2]>>2],c[(t=b+8|0)>>2]=1065353216,_=t,p[t>>2]=d(~(-1<<s))/p[r+20>>2],t=vi(o<<2),!(!o|(0|(s=c[i+4>>2]))==(0|(h=c[i>>2]))))if(l=A+n|0,U=(i=s-h>>2)>>>0<=1?1:i,y=p[_>>2],A=c[r+8>>2],W=c[e>>2],_=c[e+48>>2],s=c[e+40>>2],D=c[e+44>>2],k[e+84|0])for(T=254&o,V=1&o,r=0,i=0;;){if(v=hr(t,(e=c[W>>2])+(n=$e(s,D,c[h+(i<<2)>>2],0)+_|0)|0,s),e=0,u=0,1!=(0|o))for(;n=l+(r<<2)|0,f=d(N(d(d(y*d(p[(a=e<<2)+v>>2]-p[A+a>>2]))+d(.5)))),R=d(m(f))<d(2147483648)?~~f:-2147483648,c[n>>2]=R,f=d(N(d(d(y*d(p[(a|=4)+v>>2]-p[A+a>>2]))+d(.5)))),a=d(m(f))<d(2147483648)?~~f:-2147483648,c[n+4>>2]=a,e=e+2|0,r=r+2|0,(0|T)!=(0|(u=u+2|0)););if(V&&(n=l+(r<<2)|0,f=d(N(d(d(y*d(p[(e<<=2)+v>>2]-p[e+A>>2]))+d(.5)))),e=d(m(f))<d(2147483648)?~~f:-2147483648,c[n>>2]=e,r=r+1|0),(0|U)==(0|(i=i+1|0)))break}else for(T=c[e+68>>2],V=254&o,G=1&o,r=0,i=0;;){if(v=hr(t,(e=c[W>>2])+(n=$e(s,D,c[T+(c[h+(i<<2)>>2]<<2)>>2],0)+_|0)|0,s),e=0,u=0,1!=(0|o))for(;n=l+(r<<2)|0,f=d(N(d(d(y*d(p[(a=e<<2)+v>>2]-p[A+a>>2]))+d(.5)))),R=d(m(f))<d(2147483648)?~~f:-2147483648,c[n>>2]=R,f=d(N(d(d(y*d(p[(a|=4)+v>>2]-p[A+a>>2]))+d(.5)))),a=d(m(f))<d(2147483648)?~~f:-2147483648,c[n+4>>2]=a,e=e+2|0,r=r+2|0,(0|V)!=(0|(u=u+2|0)););if(G&&(n=l+(r<<2)|0,f=d(N(d(d(y*d(p[(e<<=2)+v>>2]-p[e+A>>2]))+d(.5)))),e=d(m(f))<d(2147483648)?~~f:-2147483648,c[n>>2]=e,r=r+1|0),(0|U)==(0|(i=i+1|0)))break}return er(t),Z=b+16|0,1},Gr,function(r,e){e|=0;var i,t,f=0,a=0;return Z=i=Z-16|0,-1!=(0|(t=c[4+(r|=0)>>2]))&&(f=c[e+20>>2],!!c[e+16>>2]&(0|f)>=0|(0|f)>0||(vr(e,c[e+4>>2],c[r+8>>2],c[r+12>>2]),f=c[e+20>>2],!!c[e+16>>2]&(0|f)>=0|(0|f)>0||(vr(e,c[e+4>>2],r+20|0,r+24|0),f=c[e+20>>2],a=c[e+16>>2],n[i+15|0]=c[r+4>>2],!!a&(0|f)>=0|(0|f)>0||vr(e,c[e+4>>2],i+15|0,i+16|0)))),Z=i+16|0,-1!=(0|t)|0},Fr,it,function(r,e){return k[24+(e|=0)|0]},function(r){var e=0;return c[(r|=0)>>2]=1776,(e=c[r+16>>2])&&(c[r+20>>2]=e,er(e)),(e=c[r+4>>2])&&(c[r+8>>2]=e,er(e)),0|r},ht,function(r,e,i){return e|=0,i|=0,c[32+(r|=0)>>2]=i,c[r+28>>2]=e,1},br,function(r,e){e|=0;var i=0;return 0|Zt[c[c[(r|=0)>>2]+36>>2]](r,e)&&0|Zt[c[c[r>>2]+40>>2]](r,e)&&(i=0|Zt[c[c[r>>2]+44>>2]](r)),0|i},function(r,e){return e|=0,c[c[4+(r|=0)>>2]+(e<<2)>>2]},function(r){return c[8+(r|=0)>>2]-c[r+4>>2]>>2},$i,at,function(){U(),o()},nt,ct,function(r){var e;return c[(r|=0)>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),0|r},function(r){var e;c[(r|=0)>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),er(r)},Ni,function(r,e){return e|=0,c[12+(r|=0)>>2]=-1,c[r+8>>2]=e,1},function(r,e,i){e|=0,i|=0;var t,f=0;return t=c[8+(r|=0)>>2],k[t+24|0]&&ie(t,c[e+4>>2]-c[e>>2]>>2)&&(f=0|Zt[c[c[r>>2]+32>>2]](r,e,i)),0|f},function(r,e,i){return 1},nt,function(r,e){r|=0;var i=0,t=0,f=0,a=0,n=0,A=0;f=1;r:if(!((0|Zt[c[c[(e|=0)>>2]+20>>2]](e))<=0))for(;;){if(f=0,-1==(0|(t=li(c[c[r+4>>2]+4>>2],0|Zt[c[c[e>>2]+24>>2]](e,a)))))break r;if(n=c[r+4>>2],i=0,(0|t)<0||(A=c[n+4>>2],(0|t)>=c[A+12>>2]-c[A+8>>2]>>2||(i=c[c[n+8>>2]+(c[c[n+20>>2]+(t<<2)>>2]<<2)>>2],i=0|Zt[c[c[i>>2]+32>>2]](i,t))),!i)break r;if(!(0|Zt[c[c[e>>2]+28>>2]](e,i)))break r;if(f=1,a=a+1|0,!((0|Zt[c[c[e>>2]+20>>2]](e))>(0|a)))break}return 0|f},function(r,e,i){r|=0,i|=0;var t,f,a=0,n=0,A=0,o=0,b=0,u=0,k=0,_=0;if(A=c[(e|=0)>>2],e=c[e+4>>2],t=a=c[c[r+8>>2]+40>>2],f=vi((0|a)<0?-1:a),n=1,!((0|(u=e-A|0))<4||(e=0,k=a,A=(o=c[i+16>>2])+a|0,a=0+c[i+20>>2]|0,a=A>>>0<k>>>0?a+1|0:a,b=c[i+12>>2],n=0,s[i+8>>2]<A>>>0&(0|a)>=(0|b)|(0|a)>(0|b)))){for(u=(0|(n=u>>2))<=1?1:n;o=hr(f,c[i>>2]+o|0,t),c[i+16>>2]=A,c[i+20>>2]=a,hr(c[c[c[r+8>>2]+64>>2]>>2]+e|0,o,t),(0|u)!=(0|(_=_+1|0))&&(e=e+t|0,a=0+c[i+20>>2]|0,(0|(a=(A=k+(o=c[i+16>>2])|0)>>>0<k>>>0?a+1|0:a))<=(0|(b=c[i+12>>2]))&s[i+8>>2]>=A>>>0|(0|a)<(0|b)););n=(0|n)<=(0|_)}return er(f),0|n},function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=2016,i=c[r+60>>2],c[r+60>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(i=c[r+48>>2])&&(c[r+52>>2]=i,er(i)),e=c[r+36>>2]){if((0|(t=c[r+40>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+36>>2]}c[r+40>>2]=e,er(i)}return c[r>>2]=1776,(i=c[r+16>>2])&&(c[r+20>>2]=i,er(i)),(i=c[r+4>>2])&&(c[r+8>>2]=i,er(i)),0|r},function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=2016,i=c[r+60>>2],c[r+60>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(i=c[r+48>>2])&&(c[r+52>>2]=i,er(i)),e=c[r+36>>2]){if((0|(t=c[r+40>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+36>>2]}c[r+40>>2]=e,er(i)}c[r>>2]=1776,(i=c[r+16>>2])&&(c[r+20>>2]=i,er(i)),(i=c[r+4>>2])&&(c[r+8>>2]=i,er(i)),er(r)},function(r,e){var i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0,_=0,p=0;r:if(br(r|=0,e|=0)){if(A=r+36|0,(n=0|Zt[c[c[r>>2]+24>>2]](r))>>>0>(i=(f=c[r+40>>2])-(t=c[r+36>>2])>>2)>>>0)Or(A,n-i|0);else if(!(i>>>0<=n>>>0)){if((0|(t=t+(n<<2)|0))!=(0|f))for(;i=c[(f=f-4|0)>>2],c[f>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|f););c[r+40>>2]=t}if(i=1,!((0|n)<=0)){for(f=0;;){if(!((0|(i=c[e+20>>2]))>=(0|(a=c[e+12>>2]))&(t=c[e+16>>2])>>>0>=s[e+8>>2]|(0|i)>(0|a))&&(a=k[c[e>>2]+t|0],i=(t=t+1|0)?i:i+1|0,c[e+16>>2]=t,c[e+20>>2]=i,t=0|Zt[c[c[r>>2]+48>>2]](r,a),o=(a=f<<2)+c[r+36>>2]|0,i=c[o>>2],c[o>>2]=t,i&&Zt[c[c[i>>2]+4>>2]](i),(i=c[c[A>>2]+a>>2])&&(u=i,_=0|Zt[c[c[r>>2]+28>>2]](r),p=0|Zt[c[c[r>>2]+20>>2]](r,f),b=c[c[i>>2]+8>>2],0|Zt[b](0|u,0|_,0|p)))){if(i=1,(0|n)!=(0|(f=f+1|0)))continue;break r}break}i=0}}return 0|i},function(r,e){e|=0;var i=0,t=0,f=0,a=0,n=0;if((i=c[60+(r|=0)>>2])&&(c[i+4>>2]=r+48,0|Zt[c[c[i>>2]+12>>2]](i))){r:if(!((0|(i=0|Zt[c[c[r>>2]+24>>2]](r)))<=0)){for(;;){if(a=c[4+(0|Zt[c[c[r>>2]+28>>2]](r))>>2],n=0|Zt[c[c[r>>2]+20>>2]](r,t),f=c[r+60>>2],0|Zt[c[c[f>>2]+8>>2]](f,c[c[a+8>>2]+(n<<2)>>2])){if((0|i)!=(0|(t=t+1|0)))continue;break r}break}return 0}t=0,0|Zt[c[c[r>>2]+36>>2]](r,e)&&0|Zt[c[c[r>>2]+40>>2]](r,e)&&(t=0|Zt[c[c[r>>2]+44>>2]](r))}return 0|t},function(r,e){e|=0;var i,t=0;return i=c[16+(r|=0)>>2],t=0,c[r+20>>2]-i>>2<=(0|e)||(t=0,(0|(e=c[(e<<2)+i>>2]))<0||(t=ne(c[c[r+36>>2]+(e<<2)>>2]))),0|t},function(r,e){e|=0;var i,t=0,f=0,a=0,n=0;if(t=1,!((0|(i=0|Zt[c[c[(r|=0)>>2]+24>>2]](r)))<=0)&&(f=c[c[r+36>>2]>>2],n=r+48|0,t=0,0|Zt[c[c[f>>2]+16>>2]](f,n,e))){for(;(0|i)!=(0|(a=a+1|0))&&(f=c[c[r+36>>2]+(a<<2)>>2],0|Zt[c[c[f>>2]+16>>2]](f,n,e)););t=(0|a)>=(0|i)}return 0|t},function(r,e){e|=0;var i,t=0,f=0,a=0,n=0;if(t=1,!((0|(i=0|Zt[c[c[(r|=0)>>2]+24>>2]](r)))<=0)&&(f=c[c[r+36>>2]>>2],n=r+48|0,t=0,0|Zt[c[c[f>>2]+20>>2]](f,n,e))){for(;(0|i)!=(0|(a=a+1|0))&&(f=c[c[r+36>>2]+(a<<2)>>2],0|Zt[c[c[f>>2]+20>>2]](f,n,e)););t=(0|a)>=(0|i)}return 0|t},function(r){var e,i,t=0,f=0,a=0,A=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0;Z=e=Z-16|0,b=1;r:if(!((0|(i=0|Zt[c[c[(r|=0)>>2]+24>>2]](r)))<=0))for(h=r+48|0,b=0;;){e:{if(c[40+(0|Zt[c[c[r>>2]+28>>2]](r))>>2]&&(a=c[(d=l<<2)+c[r+36>>2]>>2],f=c[a+8>>2],A=ne(a))){u=c[40+(0|Zt[c[c[r>>2]+28>>2]](r))>>2],c[e+12>>2]=c[f+56>>2],a=vi(32),c[e>>2]=a,c[e+4>>2]=24,c[e+8>>2]=-2147483616,f=k[1196]|k[1197]<<8|k[1198]<<16|k[1199]<<24,t=k[1192]|k[1193]<<8|k[1194]<<16|k[1195]<<24,n[a+16|0]=t,n[a+17|0]=t>>>8,n[a+18|0]=t>>>16,n[a+19|0]=t>>>24,n[a+20|0]=f,n[a+21|0]=f>>>8,n[a+22|0]=f>>>16,n[a+23|0]=f>>>24,f=k[1188]|k[1189]<<8|k[1190]<<16|k[1191]<<24,t=k[1184]|k[1185]<<8|k[1186]<<16|k[1187]<<24,n[a+8|0]=t,n[a+9|0]=t>>>8,n[a+10|0]=t>>>16,n[a+11|0]=t>>>24,n[a+12|0]=f,n[a+13|0]=f>>>8,n[a+14|0]=f>>>16,n[a+15|0]=f>>>24,f=k[1180]|k[1181]<<8|k[1182]<<16|k[1183]<<24,t=k[1176]|k[1177]<<8|k[1178]<<16|k[1179]<<24,n[0|a]=t,n[a+1|0]=t>>>8,n[a+2|0]=t>>>16,n[a+3|0]=t>>>24,n[a+4|0]=f,n[a+5|0]=f>>>8,n[a+6|0]=f>>>16,n[a+7|0]=f>>>24,n[a+24|0]=0;i:{if(t=c[(f=u+16|0)>>2]){for(_=c[e+12>>2],a=f;a=(p=(0|_)>c[t+16>>2])?a:t,t=c[(p?t+4:t)>>2];);if(!((0|f)==(0|a)|(0|_)<c[a+16>>2])&&(t=c[a+24>>2]))for(_=a+20|0,p=(f=(a=k[e+11|0])<<24>>24<0)?c[e>>2]:e,a=f?c[e+4>>2]:a;;){t:{f:{a:{n:{A:{o:{if(y=(m=(f=(s=(f=k[t+27|0])<<24>>24<0)?c[t+20>>2]:f)>>>0<a>>>0)?f:a){if(v=Ye(p,s=s?c[t+16>>2]:t+16|0,y))break o;if(f>>>0<=a>>>0)break A;break t}if(f>>>0<=a>>>0)break n;break t}if((0|v)<0)break t}if(f=Ye(s,p,y))break a}if(m)break f;a=se(_,e);break i}if(!((0|f)<0)){a=se(_,e);break i}}t=t+4|0}if(!(t=c[t>>2]))break}}a=se(u,e)}if(n[e+11|0]<0&&er(c[e>>2]),a){a=0,f=c[c[d+c[r+36>>2]>>2]+8>>2],c[f+64>>2]||(t=vi(32),c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=0,c[t>>2]=0,c[t+4>>2]=0,c[t+24>>2]=0,c[t+28>>2]=0,b=c[f+64>>2],c[f+64>>2]=t,b&&((t=c[b>>2])&&(c[b+4>>2]=t,er(t)),er(b),t=c[f+64>>2]),c[f>>2]=t,b=c[t+20>>2],c[f+8>>2]=c[t+16>>2],c[f+12>>2]=b,b=c[t+24>>2],t=c[t+28>>2],c[f+48>>2]=0,c[f+52>>2]=0,c[f+40>>2]=0,c[f+44>>2]=0,c[f+16>>2]=b,c[f+20>>2]=t);i:if(n[f+24|0]=k[A+24|0],c[f+28>>2]=c[A+28>>2],n[f+32|0]=k[A+32|0],t=c[A+44>>2],c[f+40>>2]=c[A+40>>2],c[f+44>>2]=t,t=c[A+52>>2],c[f+48>>2]=c[A+48>>2],c[f+52>>2]=t,c[f+56>>2]=c[A+56>>2],t=c[A+12>>2],c[f+8>>2]=c[A+8>>2],c[f+12>>2]=t,t=c[A+20>>2],c[f+16>>2]=c[A+16>>2],c[f+20>>2]=t,c[f+60>>2]=c[A+60>>2],(b=c[A>>2])?(t=0,(u=c[f>>2])&&(Dr(u,t=c[b>>2],b=c[b+4>>2]-t|0,0),t=1)):(c[f>>2]=0,t=1),t){n[f+84|0]=k[A+84|0],c[f+80>>2]=c[A+80>>2],(0|f)!=(0|A)&&Pr(f+68|0,c[A+68>>2],c[A+72>>2]);t:{f:{if(u=c[A+88>>2]){if(b=vi(40),A=c[u>>2],c[b+16>>2]=0,c[b+8>>2]=0,c[b+12>>2]=0,c[b>>2]=A,(0|(A=c[u+12>>2]))!=(0|(t=c[u+8>>2]))){if((0|(t=A-t|0))<0)break t;if(A=vi(t),c[b+12>>2]=A,c[b+8>>2]=A,c[b+16>>2]=t+A,(0|(t=c[u+8>>2]))!=(0|(_=c[u+12>>2]))){if(p=_+(-1^t)|0,s=_-t&7)for(;n[0|A]=k[0|t],A=A+1|0,t=t+1|0,(0|s)!=(0|(a=a+1|0)););if(!(p>>>0<7))for(;n[0|A]=k[0|t],n[A+1|0]=k[t+1|0],n[A+2|0]=k[t+2|0],n[A+3|0]=k[t+3|0],n[A+4|0]=k[t+4|0],n[A+5|0]=k[t+5|0],n[A+6|0]=k[t+6|0],n[A+7|0]=k[t+7|0],A=A+8|0,(0|_)!=(0|(t=t+8|0)););}c[b+12>>2]=A}if(a=c[u+36>>2],c[b+32>>2]=c[u+32>>2],c[b+36>>2]=a,a=c[u+28>>2],c[b+24>>2]=c[u+24>>2],c[b+28>>2]=a,A=c[f+88>>2],c[f+88>>2]=b,A)break f;break i}if(A=c[f+88>>2],c[f+88>>2]=0,!A)break i}(a=c[A+8>>2])&&(c[A+12>>2]=a,er(a)),er(A);break i}mt(),o()}break e}}if(a=c[c[r+36>>2]+(l<<2)>>2],!(0|Zt[c[c[a>>2]+24>>2]](a,h)))break r}if(b=(0|i)<=(0|(l=l+1|0)),(0|l)==(0|i))break}return Z=e+16|0,0|b},function(r,e){r|=0,r=0;r:switch(0|(e|=0)){case 0:return r=vi(20),c[r+12>>2]=-1,c[r+16>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=1920,0|r;case 1:return r=vi(24),c[r+12>>2]=-1,c[r+16>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=1920,c[r+20>>2]=0,c[r>>2]=2136,0|r;case 2:return r=vi(48),c[r+12>>2]=-1,c[r+16>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=1920,c[r+20>>2]=0,c[r>>2]=2136,c[r+24>>2]=1624,c[r>>2]=7948,c[r+32>>2]=0,c[r+36>>2]=0,c[r+28>>2]=-1,c[r+40>>2]=0,c[r+44>>2]=0,0|r;case 3:r=vi(32),c[r+12>>2]=-1,c[r+16>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r>>2]=1920,c[r+20>>2]=0,c[r>>2]=2136,c[r+24>>2]=1032,c[r>>2]=5812,c[r+28>>2]=-1}return 0|r},ci,si,Ni,function(r,e){return e|=0,0|Zt[c[c[(r|=0)>>2]+48>>2]](r,c[e+4>>2]-c[e>>2]>>2)},function(r,e,i){r|=0,e|=0;var t,f,a=0,A=0,o=0,b=0,u=0,k=0,_=0;r:if(!((0|(o=t=c[12+(i|=0)>>2]))<=(0|(A=c[i+20>>2]))&(f=c[i+8>>2])>>>0<=(b=c[i+16>>2])>>>0|(0|A)>(0|o))){if(u=c[i>>2],k=n[u+b|0],a=A,a=(o=b+1|0)?a:a+1|0,c[i+16>>2]=o,c[i+20>>2]=a,-2!=(0|k)){if((0|a)>=(0|t)&o>>>0>=f>>>0|(0|a)>(0|t))break r;if(a=n[o+u|0],A=(b=b+2|0)>>>0<2?A+1|0:A,c[i+16>>2]=b,c[i+20>>2]=A,(a-4&255)>>>0<251)break r;A=0|Zt[c[c[r>>2]+40>>2]](r,k,a),a=c[r+20>>2],c[r+20>>2]=A,a&&Zt[c[c[a>>2]+4>>2]](a)}(!(a=c[r+20>>2])||0|Zt[c[c[r>>2]+28>>2]](r,a))&&(_=0|Zt[c[c[r>>2]+36>>2]](r,e,i))}return 0|_},Ar,function(r,e,i){r|=0,e|=0;var t,f=0,a=0,A=0,b=0,u=0,k=0,_=0,s=0;if(Z=t=Z-48|0,1==(0|(i|=0))){u=c[r+4>>2],i=c[r+12>>2],c[t+40>>2]=0,c[t+32>>2]=0,c[t+36>>2]=0,c[t+24>>2]=0,c[t+28>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,f=t+8|0;r:if(-2!=(0|e)){if(_=c[c[c[u+4>>2]+8>>2]+(i<<2)>>2],1==(0|Zt[c[c[u>>2]+8>>2]](u))){Z=k=Z-32|0,s=c[c[c[u+4>>2]+8>>2]+(i<<2)>>2];e:{i:{if(!(1!=(0|Zt[c[c[u>>2]+8>>2]](u))|e-1>>>0>5||!(b=0|Zt[c[c[u>>2]+36>>2]](u))|!(A=0|Zt[c[c[u>>2]+44>>2]](u,i))))if(i=0|Zt[c[c[u>>2]+40>>2]](u,i)){r=c[u+44>>2],c[k+12>>2]=i,c[k+8>>2]=r,c[k+20>>2]=A,c[k+16>>2]=A+12,A=k+8|0,r=0;t:{f:switch(e-1|0){case 0:if(e=vi(60),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e>>2]=2252,r=e;break t;case 3:if(e=vi(112),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e+60>>2]=0,c[e+64>>2]=0,c[e>>2]=3016,c[e+68>>2]=0,c[e+72>>2]=0,c[e+76>>2]=0,c[e+80>>2]=0,c[e+84>>2]=0,c[e+88>>2]=0,c[e+92>>2]=0,c[e+96>>2]=0,c[e+100>>2]=0,c[e+104>>2]=0,c[e+108>>2]=0,r=e;break t;case 4:if(e=vi(104),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e+84>>2]=0,c[e+76>>2]=0,c[e+80>>2]=0,c[e+60>>2]=0,c[e+64>>2]=0,c[e>>2]=3264,r=c[A+4>>2],c[e+88>>2]=c[A>>2],c[e+92>>2]=r,r=c[A+12>>2],c[e+96>>2]=c[A+8>>2],c[e+100>>2]=r,r=e;break t;case 5:break f;default:break t}r=vi(128),c[r+4>>2]=s,c[r>>2]=2960,e=c[f+4>>2],c[r+8>>2]=c[f>>2],c[r+12>>2]=e,e=c[f+12>>2],c[r+16>>2]=c[f+8>>2],c[r+20>>2]=e,e=c[f+20>>2],c[r+24>>2]=c[f+16>>2],c[r+28>>2]=e,c[r+40>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0;f:{a:{if((0|(i=c[f+28>>2]))!=(0|(e=c[f+24>>2]))){if((0|(i=i-e|0))<0)break a;if(e=vi(i),c[r+36>>2]=e,c[r+32>>2]=e,c[r+40>>2]=(-4&i)+e,(0|(a=c[f+24>>2]))!=(0|(i=c[f+28>>2])))for(;c[e>>2]=c[a>>2],e=e+4|0,(0|i)!=(0|(a=a+4|0)););c[r+36>>2]=e}c[r>>2]=2904,e=c[A+4>>2],c[r+44>>2]=c[A>>2],c[r+48>>2]=e,e=c[A+12>>2],c[r+52>>2]=c[A+8>>2],c[r+56>>2]=e,c[(e=r- -64|0)>>2]=0,c[e+4>>2]=0,c[r+60>>2]=4128,c[r>>2]=3500,e=c[A+4>>2],c[r+72>>2]=c[A>>2],c[r+76>>2]=e,e=c[A+12>>2],c[r+80>>2]=c[A+8>>2],c[r+84>>2]=e,c[r+104>>2]=1065353216,c[r+108>>2]=-1,c[r+96>>2]=-1,c[r+100>>2]=-1,c[r+88>>2]=1,c[r+92>>2]=-1,c[r+60>>2]=3736,c[r+112>>2]=0,c[r+116>>2]=0,n[r+117|0]=0,n[r+118|0]=0,n[r+119|0]=0,n[r+120|0]=0,n[r+121|0]=0,n[r+122|0]=0,n[r+123|0]=0,n[r+124|0]=0;break f}mt(),o()}}a=r}else{r=c[u+44>>2],c[k+12>>2]=b,c[k+8>>2]=r,c[k+20>>2]=A,c[k+16>>2]=A+12,A=k+8|0,r=0;t:{f:switch(e-1|0){case 0:if(e=vi(60),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e>>2]=4156,r=e;break t;case 3:if(e=vi(112),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e+60>>2]=0,c[e+64>>2]=0,c[e>>2]=4580,c[e+68>>2]=0,c[e+72>>2]=0,c[e+76>>2]=0,c[e+80>>2]=0,c[e+84>>2]=0,c[e+88>>2]=0,c[e+92>>2]=0,c[e+96>>2]=0,c[e+100>>2]=0,c[e+104>>2]=0,c[e+108>>2]=0,r=e;break t;case 4:if(e=vi(104),c[e+4>>2]=s,c[e>>2]=2960,r=c[f+4>>2],c[e+8>>2]=c[f>>2],c[e+12>>2]=r,r=c[f+12>>2],c[e+16>>2]=c[f+8>>2],c[e+20>>2]=r,r=c[f+20>>2],c[e+24>>2]=c[f+16>>2],c[e+28>>2]=r,c[e+40>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,(0|(r=c[f+24>>2]))!=(0|(b=c[f+28>>2]))){if((0|(i=b-r|0))<0)break i;for(a=vi(i),c[e+32>>2]=a,c[e+40>>2]=(-4&i)+a;c[a>>2]=c[r>>2],a=a+4|0,(0|b)!=(0|(r=r+4|0)););c[e+36>>2]=a}r=c[A+4>>2],c[e+44>>2]=c[A>>2],c[e+48>>2]=r,r=c[A+12>>2],c[e+52>>2]=c[A+8>>2],c[e+56>>2]=r,c[e+84>>2]=0,c[e+76>>2]=0,c[e+80>>2]=0,c[e+60>>2]=0,c[e+64>>2]=0,c[e>>2]=4816,r=c[A+4>>2],c[e+88>>2]=c[A>>2],c[e+92>>2]=r,r=c[A+12>>2],c[e+96>>2]=c[A+8>>2],c[e+100>>2]=r,r=e;break t;case 5:break f;default:break t}r=vi(128),c[r+4>>2]=s,c[r>>2]=2960,e=c[f+4>>2],c[r+8>>2]=c[f>>2],c[r+12>>2]=e,e=c[f+12>>2],c[r+16>>2]=c[f+8>>2],c[r+20>>2]=e,e=c[f+20>>2],c[r+24>>2]=c[f+16>>2],c[r+28>>2]=e,c[r+40>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0;f:{a:{if((0|(i=c[f+28>>2]))!=(0|(e=c[f+24>>2]))){if((0|(i=i-e|0))<0)break a;if(e=vi(i),c[r+36>>2]=e,c[r+32>>2]=e,c[r+40>>2]=(-4&i)+e,(0|(a=c[f+24>>2]))!=(0|(i=c[f+28>>2])))for(;c[e>>2]=c[a>>2],e=e+4|0,(0|i)!=(0|(a=a+4|0)););c[r+36>>2]=e}c[r>>2]=4524,e=c[A+4>>2],c[r+44>>2]=c[A>>2],c[r+48>>2]=e,e=c[A+12>>2],c[r+52>>2]=c[A+8>>2],c[r+56>>2]=e,c[(e=r- -64|0)>>2]=0,c[e+4>>2]=0,c[r+60>>2]=5624,c[r>>2]=5040,e=c[A+4>>2],c[r+72>>2]=c[A>>2],c[r+76>>2]=e,e=c[A+12>>2],c[r+80>>2]=c[A+8>>2],c[r+84>>2]=e,c[r+104>>2]=1065353216,c[r+108>>2]=-1,c[r+96>>2]=-1,c[r+100>>2]=-1,c[r+88>>2]=1,c[r+92>>2]=-1,c[r+60>>2]=5260,c[r+112>>2]=0,c[r+116>>2]=0,n[r+117|0]=0,n[r+118|0]=0,n[r+119|0]=0,n[r+120|0]=0,n[r+121|0]=0,n[r+122|0]=0,n[r+123|0]=0,n[r+124|0]=0;break f}mt(),o()}}a=r}Z=k+32|0;break e}mt(),o()}if(a)break r}a=vi(44),c[a+4>>2]=_,c[a>>2]=2960,r=c[f+4>>2],c[a+8>>2]=c[f>>2],c[a+12>>2]=r,r=c[f+12>>2],c[a+16>>2]=c[f+8>>2],c[a+20>>2]=r,r=c[f+20>>2],c[a+24>>2]=c[f+16>>2],c[a+28>>2]=r,c[a+40>>2]=0,c[a+32>>2]=0,c[a+36>>2]=0;e:{if((0|(i=c[f+24>>2]))!=(0|(e=c[f+28>>2]))){if((0|(r=e-i|0))<0)break e;for(_=vi(r),c[a+32>>2]=_,c[a+40>>2]=(-4&r)+_;c[_>>2]=c[i>>2],_=_+4|0,(0|e)!=(0|(i=i+4|0)););c[a+36>>2]=_}c[a>>2]=5652;break r}mt(),o()}_=a,(r=c[t+32>>2])&&(c[t+36>>2]=r,er(r))}return Z=t+48|0,0|_},function(r){return k[c[8+(r|=0)>>2]+24|0]},function(r,e){e|=0;var i,t=0,f=0,a=0,o=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0;i=r|=0;r:{e:{i:{t:{f:{a:{n:{A:switch(r=c[r+8>>2],c[r+28>>2]-1|0){case 4:break i;case 5:break t;case 2:break f;case 3:break a;case 0:break n;case 1:break A;default:break r}if(t=vi(o=k[r+24|0]),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,!e)break e;if(o){for(d=252&o,p=3&o,u=o>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,n[r+t|0]=c[s>>2],n[(1|r)+t|0]=c[s+4>>2],n[(2|r)+t|0]=c[s+8>>2],n[(3|r)+t|0]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;n[r+t|0]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+l|0,t,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,o),hr((r=r+o|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,o),r=r+o|0,(0|b)!=(0|(f=f+2|0)););if(!(1&e))break e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,o);break e}if(t=vi(o=k[r+24|0]),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,!e)break e;if(o){for(d=252&o,p=3&o,u=o>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,n[r+t|0]=c[s>>2],n[(1|r)+t|0]=c[s+4>>2],n[(2|r)+t|0]=c[s+8>>2],n[(3|r)+t|0]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;n[r+t|0]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+l|0,t,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,o),hr((r=r+o|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,o),r=r+o|0,(0|b)!=(0|(f=f+2|0)););if(!(1&e))break e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,o);break e}if(t=vi(_=(u=k[r+24|0])<<1),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,!e)break e;if(u){for(d=252&u,p=3&u,u=u>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,A[(o=r<<1)+t>>1]=c[s>>2],A[(2|o)+t>>1]=c[s+4>>2],A[(4|o)+t>>1]=c[s+8>>2],A[(6|o)+t>>1]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;A[(r<<1)+t>>1]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+y|0,t,_),y=_+y|0,(0|(l=l+1|0))==(0|e))break}break e}if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_),hr((r=r+_|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,_),r=r+_|0,(0|b)!=(0|(f=f+2|0)););if(!(1&e))break e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_);break e}if(t=vi(_=(u=k[r+24|0])<<1),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,!e)break e;if(u){for(d=252&u,p=3&u,u=u>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,A[(o=r<<1)+t>>1]=c[s>>2],A[(2|o)+t>>1]=c[s+4>>2],A[(4|o)+t>>1]=c[s+8>>2],A[(6|o)+t>>1]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;A[(r<<1)+t>>1]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+y|0,t,_),y=_+y|0,(0|(l=l+1|0))==(0|e))break}break e}if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_),hr((r=r+_|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,_),r=r+_|0,(0|b)!=(0|(f=f+2|0)););if(!(1&e))break e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_);break e}if(t=vi(_=(u=k[r+24|0])<<2),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,!e)break e;if(u){for(d=252&u,p=3&u,u=u>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,c[(o=r<<2)+t>>2]=c[s>>2],c[(4|o)+t>>2]=c[s+4>>2],c[(8|o)+t>>2]=c[s+8>>2],c[(12|o)+t>>2]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;c[(r<<2)+t>>2]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+y|0,t,_),y=_+y|0,(0|(l=l+1|0))==(0|e))break}break e}if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_),hr((r=r+_|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,_),r=r+_|0,(0|b)!=(0|(f=f+2|0)););if(!(1&e))break e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_);break e}if(t=vi(_=(u=k[r+24|0])<<2),r=c[i+16>>2],b=c[r+80>>2]?c[c[r>>2]>>2]+c[r+48>>2]|0:0,e)if(u)for(d=252&u,p=3&u,u=u>>>0<4;;){if(r=0,a=0,!u)for(;s=b+(f<<2)|0,c[(o=r<<2)+t>>2]=c[s>>2],c[(4|o)+t>>2]=c[s+4>>2],c[(8|o)+t>>2]=c[s+8>>2],c[(12|o)+t>>2]=c[s+12>>2],r=r+4|0,f=f+4|0,(0|d)!=(0|(a=a+4|0)););if(a=0,p)for(;c[(r<<2)+t>>2]=c[b+(f<<2)>>2],r=r+1|0,f=f+1|0,(0|p)!=(0|(a=a+1|0)););if(hr(c[c[c[i+8>>2]+64>>2]>>2]+y|0,t,_),y=_+y|0,(0|(l=l+1|0))==(0|e))break}else{if(r=0,1!=(0|e))for(b=-2&e;hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_),hr((r=r+_|0)+c[c[c[i+8>>2]+64>>2]>>2]|0,t,_),r=r+_|0,(0|b)!=(0|(f=f+2|0)););1&e&&hr(c[c[c[i+8>>2]+64>>2]>>2]+r|0,t,_)}}er(t),t=1}return 0|t},function(r){var e;return c[(r|=0)>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},Ei,ct,tt,Ui,pt,et,at,pt,ct,function(r,e){r|=0;var i,t,f,a,n=0,A=0,o=0,b=0,u=0,_=0;return A=c[8+(e|=0)>>2],i=o=c[e+12>>2],a=o=c[e+20>>2],f=n=(t=c[e+16>>2])+4|0,n>>>0>A>>>0&(0|(o=n>>>0<4?o+1|0:o))>=(0|i)|(0|o)>(0|i)||(u=c[e>>2],b=k[0|(n=u+t|0)]|k[n+1|0]<<8|k[n+2|0]<<16|k[n+3|0]<<24,c[e+16>>2]=f,c[e+20>>2]=o,n=A,A=a,n>>>0<(o=t+8|0)>>>0&(0|(A=o>>>0<8?A+1|0:A))>=(0|i)|(0|A)>(0|i)||(n=k[0|(n=f+u|0)]|k[n+1|0]<<8|k[n+2|0]<<16|k[n+3|0]<<24,c[e+16>>2]=o,c[e+20>>2]=A,(0|n)<(0|b)||(c[r+16>>2]=n,c[r+12>>2]=b,!(A=(n>>31)-((b>>31)+(n>>>0<b>>>0)|0)|0)&(e=n-b|0)>>>0>2147483646|A||(_=1,A=e+1|0,c[r+20>>2]=A,e=A>>>1|0,c[r+24>>2]=e,c[r+28>>2]=0-e,1&A||(c[r+24>>2]=e-1))))),0|_},function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A,b,u,k,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0;if(c[8+(r|=0)>>2]=f,s=c[(A=r+32|0)>>2],(a=c[r+36>>2]-s>>2)>>>0<f>>>0?(_e(A,f-a|0),t=c[r+8>>2]):(t=f)>>>0>=a>>>0||(c[r+36>>2]=s+(f<<2),t=f),k=c[r+52>>2],b=c[r+48>>2],a=0,n=Sr(vi(s=f>>>0>1073741823?-1:f<<2),0,s),!((0|t)<=0)){for(_=c[r+32>>2];(0|(s=c[(t=a<<2)+n>>2]))>(0|(p=c[r+16>>2]))?c[t+_>>2]=p:(t=t+_|0,p=c[r+12>>2],c[t>>2]=(0|p)>(0|s)?p:s),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(!((0|t)<=0))for(a=0;;){t=(s=a<<2)+i|0,s=c[e+s>>2]+c[_+s>>2]|0,c[t>>2]=s;r:{if((0|s)>c[r+16>>2])s=s-c[r+20>>2]|0;else{if((0|s)>=c[r+12>>2])break r;s=s+c[r+20>>2]|0}c[t>>2]=s}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}}if(a=c[r+56>>2],u=c[a>>2],(0|(a=c[a+4>>2]-u|0))>=5)for(R=(m=a>>>2|0)>>>0<=2?2:m,N=-2&f,T=1&f,s=1;;){r:{e:{if((0|s)!=(0|m)){if(h=y(f,s),-1==(0|(a=c[(s<<2)+u>>2]))|c[c[b>>2]+(a>>>3&536870908)>>2]>>>a&1)break e;if(-1==(0|(a=c[c[c[b+64>>2]+12>>2]+(a<<2)>>2])))break e;if(p=c[k>>2],_=c[b+28>>2],(0|(d=c[p+(c[_+(a<<2)>>2]<<2)>>2]))>=(0|s))break e;if((0|(l=c[p+(c[_+((((l=a+1|0)>>>0)%3|0?l:a-2)<<2)>>2]<<2)>>2]))>=(0|s))break e;if((0|(a=c[p+(c[_+(a+((a>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|s))break e;if(!((0|f)<=0)){if(_=y(f,a),p=y(f,l),d=y(f,d),a=0,v=0,1!=(0|f))for(;c[(a<<2)+n>>2]=(c[(a+_<<2)+i>>2]+c[(a+p<<2)+i>>2]|0)-c[(a+d<<2)+i>>2],c[((l=1|a)<<2)+n>>2]=(c[(_+l<<2)+i>>2]+c[(p+l<<2)+i>>2]|0)-c[(d+l<<2)+i>>2],a=a+2|0,(0|N)!=(0|(v=v+2|0)););T&&(c[(a<<2)+n>>2]=(c[(a+_<<2)+i>>2]+c[(a+p<<2)+i>>2]|0)-c[(a+d<<2)+i>>2])}if((0|t)<=0)break r;for(p=c[A>>2],a=0;(0|(_=c[(t=a<<2)+n>>2]))>(0|(d=c[r+16>>2]))?c[t+p>>2]=d:(t=t+p|0,d=c[r+12>>2],c[t>>2]=(0|d)>(0|_)?d:_),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|t)<=0)break r;for(d=(t=h<<2)+i|0,l=e+t|0;;){t=(_=a<<2)+d|0,_=c[_+l>>2]+c[_+p>>2]|0,c[t>>2]=_;i:{if((0|_)>c[r+16>>2])_=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break i;_=_+c[r+20>>2]|0}c[t>>2]=_}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}break r}dt(),o()}if(!((0|t)<=0)){for(d=(y(s-1|0,f)<<2)+i|0,p=c[A>>2],a=0;(0|(_=c[(t=a<<2)+d>>2]))>(0|(l=c[r+16>>2]))?c[t+p>>2]=l:(t=t+p|0,l=c[r+12>>2],c[t>>2]=(0|l)>(0|_)?l:_),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|t)<=0))for(d=(t=h<<2)+i|0,l=e+t|0;;){t=(_=a<<2)+d|0,_=c[_+l>>2]+c[_+p>>2]|0,c[t>>2]=_;e:{if((0|_)>c[r+16>>2])_=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break e;_=_+c[r+20>>2]|0}c[t>>2]=_}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}}}if((0|R)==(0|(s=s+1|0)))break}return er(n),1},ht,ht,function(r){var e=0;return c[(r|=0)>>2]=3016,(e=c[r+96>>2])&&er(e),(e=c[r+84>>2])&&er(e),(e=c[r+72>>2])&&er(e),(e=c[r+60>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e=0;c[(r|=0)>>2]=3016,(e=c[r+96>>2])&&er(e),(e=c[r+84>>2])&&er(e),(e=c[r+72>>2])&&er(e),(e=c[r+60>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},kt,Ui,function(r,e){r|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,_=0,s=0,p=0;Z=i=Z-32|0;r:{e:if(Fe(1,i+28|0,e|=0)&&(f=c[i+28>>2],t=c[c[r+48>>2]+64>>2],!(f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)))i:{if(f){if(Zr(r+60|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+60>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[c[r+48>>2]+64>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+72|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+72>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[c[r+48>>2]+64>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+84|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+84>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[c[r+48>>2]+64>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+96|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+96>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(a=0,t=c[e+8>>2],A=c[e+12>>2],f=t,b=t=c[e+20>>2],f>>>0<(u=(o=c[e+16>>2])+4|0)>>>0&(0|(t=u>>>0<4?t+1|0:t))>=(0|A)|(0|t)>(0|A))break r;if(p=c[e>>2],s=k[0|(_=p+o|0)]|k[_+1|0]<<8|k[_+2|0]<<16|k[_+3|0]<<24,c[e+16>>2]=u,c[e+20>>2]=t,_=f,f=A,t=b,(A=o+8|0)>>>0>_>>>0&(0|(t=A>>>0<8?t+1|0:t))>=(0|f)|(0|t)>(0|f))break r;if(f=k[0|(f=u+p|0)]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[e+16>>2]=A,c[e+20>>2]=t,(0|f)<(0|s))break r;if(c[r+16>>2]=f,c[r+12>>2]=s,!(t=(f>>31)-((s>>31)+(f>>>0<s>>>0)|0)|0)&(e=f-s|0)>>>0>2147483646|t)break r;if(a=1,e=e+1|0,c[r+20>>2]=e,t=e>>>1|0,c[r+24>>2]=t,c[r+28>>2]=0-t,1&e)break r;c[r+24>>2]=t-1;break r}a=0}return Z=i+32|0,0|a},function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A,b,u,k,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,F=0,I=0,Y=0,w=0,j=0,J=0,B=0,M=0,Q=0,g=0,O=0;Z=n=Z+-64|0,c[8+(r|=0)>>2]=f,a=c[(b=r+32|0)>>2];r:{if((t=c[r+36>>2]-a>>2)>>>0<f>>>0)_e(b,f-t|0),c[n+56>>2]=0,c[n+60>>2]=0,c[n+48>>2]=0,c[n+52>>2]=0,c[n+40>>2]=0,c[n+44>>2]=0,c[n+32>>2]=0,c[n+36>>2]=0,c[n+24>>2]=0,c[n+28>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n>>2]=0;else if(t>>>0>f>>>0&&(c[r+36>>2]=a+(f<<2)),c[n+56>>2]=0,c[n+60>>2]=0,c[n+48>>2]=0,c[n+52>>2]=0,c[n+40>>2]=0,c[n+44>>2]=0,c[n+32>>2]=0,c[n+36>>2]=0,c[n+24>>2]=0,c[n+28>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n>>2]=0,t=0,!f)break r;Nr(n+16|0,f,n),_=c[n+28>>2],t=c[n+32>>2]}c[n>>2]=0;r:if((t=t-_>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+32>>2]=(f<<2)+_}else Nr(n+16|12,f-t|0,n);c[n>>2]=0,a=c[n+40>>2];r:if((t=c[n+44>>2]-a>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+44>>2]=a+(f<<2)}else Nr(n+40|0,f-t|0,n);c[n>>2]=0,a=c[n+52>>2];r:if((t=c[n+56>>2]-a>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+56>>2]=a+(f<<2)}else Nr(n+52|0,f-t|0,n);if(!(c[r+8>>2]<=0)){for(s=c[n+16>>2],p=c[r+32>>2],_=0;(0|(a=c[(t=_<<2)+s>>2]))>(0|(m=c[r+16>>2]))?c[t+p>>2]=m:(t=t+p|0,m=c[r+12>>2],c[t>>2]=(0|m)>(0|a)?m:a),(0|(_=_+1|0))<(0|(t=c[r+8>>2])););if(!((0|t)<=0))for(t=0;;){a=(s=t<<2)+i|0,s=c[e+s>>2]+c[p+s>>2]|0,c[a>>2]=s;r:{if((0|s)>c[r+16>>2])s=s-c[r+20>>2]|0;else{if((0|s)>=c[r+12>>2])break r;s=s+c[r+20>>2]|0}c[a>>2]=s}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}k=c[r+52>>2],A=c[r+48>>2],u=vi(16),c[(t=u)>>2]=0,c[t+4>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0;r:{if(f){if(f>>>0>=1073741824)break r;T=vi(t=f<<2),c[n>>2]=T,c[n+8>>2]=t+T,Sr(T,0,t)}G=1,t=c[r+56>>2],E=c[t>>2];e:if(!((0|(t=c[t+4>>2]-E|0))<8))for(j=(0|(W=t>>2))<=2?2:W,J=W>>>0<=1?1:W,F=-2&f,I=1&f,B=-4&f,Y=3&f,w=f-1|0,M=f<<2,Q=f>>>0<4,G=0,m=1;;){i:{t:{f:{a:{if((0|m)!=(0|J)){n:{A:if(-1!=(0|(a=c[(m<<2)+E>>2]))){l=1,t=a+2|0,V=1<<(D=(p=(a>>>0)%3|0)?a-1|0:t),g=(v=c[A>>2])+(D>>>3&536870908)|0,s=0,O=!!(0|p)|-1!=(0|t),t=a;o:{for(;;){if(!(c[v+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(p=c[c[c[A+64>>2]+12>>2]+(t<<2)>>2]))||(d=c[k>>2],_=c[A+28>>2],(0|(R=c[d+(c[_+(p<<2)>>2]<<2)>>2]))>=(0|m)||(0|(N=c[d+(c[_+((((N=p+1|0)>>>0)%3|0?N:p-2)<<2)>>2]<<2)>>2]))>=(0|m)||(0|(_=c[d+(c[_+(p+((p>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|m)))){if(f){if(p=c[(n+16|0)+y(s,12)>>2],d=y(f,_),N=y(f,N),R=y(f,R),_=0,h=0,w)for(;c[p+(_<<2)>>2]=(c[(_+d<<2)+i>>2]+c[(_+N<<2)+i>>2]|0)-c[(_+R<<2)+i>>2],c[p+((U=1|_)<<2)>>2]=(c[(d+U<<2)+i>>2]+c[(N+U<<2)+i>>2]|0)-c[(R+U<<2)+i>>2],_=_+2|0,(0|F)!=(0|(h=h+2|0)););I&&(c[p+(_<<2)>>2]=(c[(_+d<<2)+i>>2]+c[(_+N<<2)+i>>2]|0)-c[(_+R<<2)+i>>2])}if(p=4,4==(0|(s=s+1|0)))break o}b:if(1&l){if(_=t-2|0,p=t+1|0,t=-1,-1==(0|(p=(p>>>0)%3|0?p:_))|c[v+(p>>>3&536870908)>>2]>>>p&1)break b;if(-1==(0|(p=c[c[c[A+64>>2]+12>>2]+(p<<2)>>2])))break b;t=((t=p+1|0)>>>0)%3|0?t:p-2|0}else{if((t>>>0)%3|0)_=t-1|0;else if(_=t+2|0,t=-1,-1==(0|_))break b;t=-1,c[v+(_>>>3&536870908)>>2]>>>_&1||-1!=(0|(p=c[c[c[A+64>>2]+12>>2]+(_<<2)>>2]))&&(t=(p>>>0)%3|0?p-1|0:p+2|0)}b:if((0|t)!=(0|a)){if(-1==(0|t)&l){if(!O|V&c[g>>2])break b;if(-1==(0|(t=c[c[c[A+64>>2]+12>>2]+(D<<2)>>2])))break b;l=0,t=(t>>>0)%3|0?t-1|0:t+2|0}if(-1!=(0|t))continue}break}if((0|(p=s))<=0)break A}for(f&&Sr(T,0,M),N=((t=p-1|0)<<2)+u|0,U=t=y(t,12)+r|0,D=c[t- -64>>2],l=0,t=c[n>>2],a=0;;){if(s=c[N>>2],c[N>>2]=s+1,s>>>0>=D>>>0)break e;if(!(c[c[U+60>>2]+(s>>>3&536870908)>>2]>>>s&1)&&(a=a+1|0,f)){if(v=c[(n+16|0)+y(l,12)>>2],s=0,_=0,R=0,!Q)for(;c[(h=(d=_<<2)+t|0)>>2]=c[d+v>>2]+c[h>>2],c[(V=(h=4|d)+t|0)>>2]=c[v+h>>2]+c[V>>2],c[(V=(h=8|d)+t|0)>>2]=c[v+h>>2]+c[V>>2],c[(h=(d|=12)+t|0)>>2]=c[d+v>>2]+c[h>>2],_=_+4|0,(0|B)!=(0|(R=R+4|0)););if(Y)for(;c[(R=(d=_<<2)+t|0)>>2]=c[d+v>>2]+c[R>>2],_=_+1|0,(0|Y)!=(0|(s=s+1|0)););}if((0|(l=l+1|0))==(0|p))break}if(s=y(f,m),!a)break n;if(!f)break t;if(_=0,t=0,w)break a;break f}s=y(f,m)}if(c[r+8>>2]<=0)break i;for(l=(y(m-1|0,f)<<2)+i|0,p=c[b>>2],_=0;(0|(a=c[(t=_<<2)+l>>2]))>(0|(v=c[r+16>>2]))?c[t+p>>2]=v:(t=t+p|0,v=c[r+12>>2],c[t>>2]=(0|v)>(0|a)?v:a),(0|(_=_+1|0))<(0|(a=c[r+8>>2])););if(t=0,(0|a)<=0)break i;for(_=(a=s<<2)+i|0,l=e+a|0;;){a=(s=t<<2)+_|0,s=c[s+l>>2]+c[p+s>>2]|0,c[a>>2]=s;n:{if((0|s)>c[r+16>>2])s=s-c[r+20>>2]|0;else{if((0|s)>=c[r+12>>2])break n;s=s+c[r+20>>2]|0}c[a>>2]=s}if(!((0|(t=t+1|0))<c[r+8>>2]))break}break i}dt(),o()}for(;c[(l=(p=_<<2)+T|0)>>2]=c[l>>2]/(0|a),c[(p=(4|p)+T|0)>>2]=c[p>>2]/(0|a),_=_+2|0,(0|F)!=(0|(t=t+2|0)););}I&&(c[(t=(_<<2)+T|0)>>2]=c[t>>2]/(0|a))}if(!(c[r+8>>2]<=0)){for(p=c[b>>2],_=0;(0|(a=c[(t=_<<2)+T>>2]))>(0|(l=c[r+16>>2]))?c[t+p>>2]=l:(t=t+p|0,l=c[r+12>>2],c[t>>2]=(0|l)>(0|a)?l:a),(0|(_=_+1|0))<(0|(a=c[r+8>>2])););if(t=0,!((0|a)<=0))for(_=(a=s<<2)+i|0,l=e+a|0;;){a=(s=t<<2)+_|0,s=c[s+l>>2]+c[p+s>>2]|0,c[a>>2]=s;t:{if((0|s)>c[r+16>>2])s=s-c[r+20>>2]|0;else{if((0|s)>=c[r+12>>2])break t;s=s+c[r+20>>2]|0}c[a>>2]=s}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}}if(G=(0|W)<=(0|(m=m+1|0)),(0|m)==(0|j))break}return(r=c[n>>2])&&er(r),er(u),(r=c[n+52>>2])&&(c[n+56>>2]=r,er(r)),(r=c[n+40>>2])&&(c[n+44>>2]=r,er(r)),(r=c[n+28>>2])&&(c[n+32>>2]=r,er(r)),(r=c[n+16>>2])&&(c[n+20>>2]=r,er(r)),Z=n- -64|0,0|G}mt(),o()},function(r){var e=0;return c[(r|=0)>>2]=3264,(e=c[r+76>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e=0;c[(r|=0)>>2]=3264,(e=c[r+76>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},_t,Ti,ct,at,Wi,sr,function(r,e,i,t,f,a){r|=0,e|=0,i|=0,t|=0,a|=0;var A=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,F=0,I=0,Y=0,w=0,j=0,J=0,B=0,M=0,Q=0,O=0,C=0,z=0,X=0,S=0,H=0,P=0,x=0,L=0,K=0,q=0,$=0,rr=0,er=0;r:{if(2==(0|(f|=0))&&(c[r+8>>2]=2,c[r- -64>>2]=a,f=c[(Q=r+32|0)>>2],(t=c[r+36>>2]-f|0)>>>0<=7?_e(Q,2-(t>>>2|0)|0):8!=(0|t)&&(c[r+36>>2]=f+8),m=1,t=c[r+56>>2],!((0|(t=c[t+4>>2]-c[t>>2]|0))<=0)))for(d=r+60|0,q=(t=t>>>2|0)>>>0<=1?1:t,$=r+68|0,t=0;;){if(f=c[r+56>>2],b=c[f>>2],c[f+4>>2]-b>>2>>>0<=t>>>0)break r;Z=s=Z-80|0,a=-1,f=-1,-1!=(0|(b=c[b+(t<<2)>>2]))&&(a=((f=b+1|0)>>>0)%3|0?f:b-2|0,f=b-1|0,(b>>>0)%3|0||(f=b+2|0)),A=c[d+36>>2],b=c[A>>2];e:{i:{t:{f:{if(A=c[A+4>>2]-b>>2,u=a<<2,a=c[c[d+32>>2]+28>>2],!(A>>>0<=(_=c[u+a>>2])>>>0||(f=c[a+(f<<2)>>2])>>>0>=A>>>0)){a:{if(!((0|(p=c[b+(f<<2)>>2]))>=(0|t)|(0|(a=c[b+(_<<2)>>2]))>=(0|t))){if(V=c[4+(b=(p<<3)+i|0)>>2],f=c[4+(A=(a<<3)+i|0)>>2],!((0|(_=c[b>>2]))!=(0|(b=c[A>>2]))|(0|f)!=(0|V))){c[d+8>>2]=b,c[d+12>>2]=f;break a}if(m=c[c[d+4>>2]+(t<<2)>>2],c[s+72>>2]=0,c[s+76>>2]=0,c[(A=s- -64|0)>>2]=0,c[A+4>>2]=0,c[s+56>>2]=0,c[s+60>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+56|0),m=c[c[d+4>>2]+(a<<2)>>2],c[s+48>>2]=0,c[s+52>>2]=0,c[s+40>>2]=0,c[s+44>>2]=0,c[s+32>>2]=0,c[s+36>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+32|0),m=c[c[d+4>>2]+(p<<2)>>2],c[s+24>>2]=0,c[s+28>>2]=0,c[s+16>>2]=0,c[s+20>>2]=0,c[s+8>>2]=0,c[s+12>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+8|0),U=(A=c[s+16>>2])-(y=c[s+40>>2])|0,O=c[s+44>>2],w=A=c[s+20>>2]-(O+(A>>>0<y>>>0)|0)|0,p=$e(U,A,U,A),v=E,G=(A=c[s+8>>2])-(D=c[s+32>>2])|0,C=c[s+36>>2],j=A=c[s+12>>2]-(C+(A>>>0<D>>>0)|0)|0,A=(u=p)+(p=$e(G,A,G,A))|0,u=E+v|0,u=A>>>0<p>>>0?u+1|0:u,I=(p=c[s+24>>2])-(F=c[s+48>>2])|0,z=c[s+52>>2],J=p=c[s+28>>2]-(z+(p>>>0<F>>>0)|0)|0,l=A,A=$e(I,p,I,p),u=E+u|0,(R=A>>>0>(h=l+A|0)>>>0?u+1|0:u)|h){if(m=0,Y=Wr(-1,2147483647,h,R),S=a=b>>31,X=b,b=(v=b^(A=u=a>>31))-A|0,A=a=(a^A)-((A>>>0>v>>>0)+A|0)|0,H=a=f>>31,l=(v=(B=f)^(f=a>>31))-f|0,(0|(p=E))==(0|(f=(a=(0|A)==(0|(f=((u=a>>31)^a)-((f>>>0>v>>>0)+u|0)|0))&b>>>0>l>>>0|f>>>0<A>>>0)?A:f))&(b=a?b:l)>>>0>Y>>>0|f>>>0>p>>>0)break e;if(f=$e((b=c[s+64>>2])-y|0,(P=c[s+68>>2])-((b>>>0<y>>>0)+O|0)|0,U,w),a=E,p=$e((A=c[s+56>>2])-D|0,(x=c[s+60>>2])-((A>>>0<D>>>0)+C|0)|0,G,j),u=E+a|0,u=(f=p+f|0)>>>0<p>>>0?u+1|0:u,p=(a=f)+(f=$e((l=c[s+72>>2])-F|0,(L=c[s+76>>2])-((l>>>0<F>>>0)+z|0)|0,I,J))|0,a=E+u|0,v=f>>>0>p>>>0?a+1|0:a,Y=(f=_)-X|0,K=f=(f>>31)-((f>>>0<X>>>0)+S|0)|0,a=(W=(_=f>>31)^Y)-_|0,u=f=((u=f>>31)^f)-((_>>>0>W>>>0)+u|0)|0,W=V-B|0,V=f=(V>>31)-((V>>>0<B>>>0)+H|0)|0,_=a,(a=Wr(-1,2147483647,(a=(0|u)==(0|(f=((a=f>>31)^f)-(((N=f>>31)>>>0>(T=N^W)>>>0)+a|0)|0))&_>>>0>(M=T-N|0)>>>0|f>>>0<u>>>0)?_:M,a?u:f)>>>0<p>>>0)&(0|(f=E))<=(0|v)|(0|f)<(0|v))break e;if(a=f=j>>31,f=(_=f^G)-f|0,M=f=(u=(0|(a=(a^j)-((a>>>0>_>>>0)+a|0)|0))==(0|(_=((u=w>>31)^w)-((u>>>0>(N=u^U)>>>0)+u|0)|0))&f>>>0>(T=N-u|0)>>>0|a>>>0>_>>>0)?f:T,(a=Wr(-1,2147483647,(f=(0|(a=u?a:_))==(0|(_=((u=J>>31)^J)-((u>>>0>(N=u^I)>>>0)+u|0)|0))&f>>>0>(T=N-u|0)>>>0|a>>>0>_>>>0)?M:T,f?a:_)>>>0<p>>>0)&(0|(f=E))<=(0|v)|(0|f)<(0|v))break e;if(_=1,f=0,a=y,y=Ke($e(p,v,U,w),E,h,R),u=E+O|0,u=(a=a+y|0)>>>0<y>>>0?u+1|0:u,y=$e(y=b-a|0,a=P-((a>>>0>b>>>0)+u|0)|0,y,a),U=E,a=A,u=Ke($e(p,v,G,j),E,h,R),A=E+C|0,A=(b=u+D|0)>>>0<u>>>0?A+1|0:A,A=$e(u=a-b|0,a=x-((a>>>0<b>>>0)+A|0)|0,u,a),a=E+U|0,a=(b=A+y|0)>>>0<A>>>0?a+1|0:a,y=b,A=Ke($e(p,v,I,J),E,h,R),u=E+z|0,u=(b=A+F|0)>>>0<A>>>0?u+1|0:u,l=$e(A=l-b|0,b=L-((b>>>0>l>>>0)+u|0)|0,A,b),A=E+a|0,a=$e(b=l+y|0,b>>>0<l>>>0?A+1|0:A,h,R),l=b=E,!b&a>>>0<=1)break f;for(u=a;A=f<<1|_>>>31,_<<=1,f=A,y=!b&u>>>0>7|!!(0|b),u=(3&b)<<30|u>>>2,b=b>>>2|0,y;);break t}}if((0|t)>(0|a))f=a<<1;else{if((0|t)<=0){c[d+8>>2]=0,c[d+12>>2]=0;break a}f=(t<<1)-2|0}f=(f<<2)+i|0,c[d+8>>2]=c[f>>2],c[d+12>>2]=c[f+4>>2]}m=1;break e}dt(),o()}if(f=l,_=a,a-1|0)break i}for(;b=Wr(a,l,_,f),u=f+E|0,b=$e(_=(1&(u=(f=b+_|0)>>>0<_>>>0?u+1|0:u))<<31|f>>>1,f=u>>>1|0,_,f),(0|l)==(0|(A=E))&a>>>0<b>>>0|A>>>0>l>>>0;);}(a=c[d+20>>2])&&(A=a-1|0,u=c[c[d+16>>2]+(A>>>3&536870908)>>2],c[d+20>>2]=A,m=1,a=$e(p,v,W,V),b=E,l=(y=$e(h,R,B,H))+a|0,a=E+b|0,a=l>>>0<y>>>0?a+1|0:a,b=$e(_,f,Y,K),u=(A=u>>>A&1)?0-b|0:b,y=a,a=E,b=y+(A?0-(a+!!(0|b)|0)|0:a)|0,rr=d,er=Ke(l=u+l|0,u>>>0>l>>>0?b+1|0:b,h,R),c[rr+12>>2]=er,a=$e(p,v,Y,K),b=E,a=(p=$e(h,R,X,S))+a|0,u=E+b|0,b=0-(f=$e(_,f,W,V))|0,_=E,u=(a>>>0<p>>>0?u+1|0:u)+(A?_:0-(!!(0|f)+_|0)|0)|0,rr=d,er=Ke(a=(b=A?f:b)+a|0,a>>>0<b>>>0?u+1|0:u,h,R),c[rr+8>>2]=er)}if(Z=s+80|0,!m)return 0;if(!(c[r+8>>2]<=0)){for(A=c[Q>>2],f=0;(0|(b=c[(a=f<<2)+$>>2]))>(0|(_=c[r+16>>2]))?c[a+A>>2]=_:(a=a+A|0,_=c[r+12>>2],c[a>>2]=(0|_)>(0|b)?_:b),(0|(f=f+1|0))<(0|(b=c[r+8>>2])););if(a=0,!((0|b)<=0))for(_=(f=t<<3)+i|0,p=e+f|0;;){f=(b=a<<2)+_|0,b=c[b+p>>2]+c[b+A>>2]|0,c[f>>2]=b;e:{if((0|b)>c[r+16>>2])u=b-c[r+20>>2]|0;else{if((0|b)>=c[r+12>>2])break e;u=b+c[r+20>>2]|0}c[f>>2]=u}if(!((0|(a=a+1|0))<c[r+8>>2]))break}}if((0|q)==(0|(t=t+1|0)))break}return 0|m}dt(),o()},function(r){var e;return c[(r|=0)>>2]=3500,c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e;c[(r|=0)>>2]=3500,c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},lt,ui,ct,at,Di,Cr,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0;Z=n=Z-32|0,c[68+(r|=0)>>2]=a,t=c[r+56>>2],f=c[t>>2],t=c[t+4>>2],c[n+24>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0;r:{if((0|(t=t-f|0))>0)for(s=r+60|0,p=(t=t>>>2|0)>>>0<=1?1:t,l=r+112|0;;){if(f=c[r+56>>2],t=c[f>>2],c[f+4>>2]-t>>2>>>0<=u>>>0)break r;if(x(s,c[t+(u<<2)>>2],n+16|0),a=((t=(b=c[n+20>>2])>>31)^b)-t+(((f=(A=c[n+16>>2])>>31)^A)-f)|0,f=((t=(k=c[n+24>>2])>>31)^k)-t|0,t=0,(t=(_=f)>>>0>(f=f+a|0)>>>0?1:t)|f?(A=Ke($e(a=c[r+108>>2],_=a>>31,A,A>>31),E,f,t),c[n+16>>2]=A,t=Ke($e(a,_,b,b>>31),E,f,t),c[n+20>>2]=t,t=(f=((f=t)^(t>>=31))-t|0)+(((t=A>>31)^A)-t|0)|0,c[n+24>>2]=(0|k)>=0?a-t:t-a):c[n+16>>2]=c[r+108>>2],t=Se(l),a=c[n+16>>2],t?(c[n+24>>2]=0-c[n+24>>2],f=0-c[n+20>>2]|0,c[n+20>>2]=f,a=0-a|0,c[n+16>>2]=a):f=c[n+20>>2],(0|a)>=0?(t=(a=c[r+108>>2])+c[n+24>>2]|0,a=f+a|0):((0|f)<0?a=((t=c[n+24>>2])^(a=t>>31))-a|0:(a=(t=c[n+24>>2])>>31,a=c[r+100>>2]+(a-(t^a)|0)|0),(0|t)<0?t=((t=f>>31)^f)-t|0:(t=f>>31,t=c[r+100>>2]+(t-(t^f)|0)|0)),f=c[r+100>>2],t|a?(0|t)!=(0|f)|a?(0|f)!=(0|a)|t?a||(0|(b=c[r+108>>2]))>=(0|t)?(0|f)!=(0|a)||(0|(b=c[r+108>>2]))<=(0|t)?(0|t)!=(0|f)||(0|(f=c[r+108>>2]))<=(0|a)?t||(t=0,(0|(f=c[r+108>>2]))>=(0|a)||(a=(f<<1)-a|0)):a=(f<<1)-a|0:t=(b<<1)-t|0:(t=(b<<1)-t|0,a=0):t=a:a=t:a=t=f,c[n+12>>2]=t,c[n+8>>2]=a,!(c[r+8>>2]<=0)){for(b=c[r+32>>2],a=0;(0|(f=c[(t=a<<2)+(n+8|0)>>2]))>(0|(A=c[r+16>>2]))?c[t+b>>2]=A:(t=t+b|0,A=c[r+12>>2],c[t>>2]=(0|A)>(0|f)?A:f),(0|(a=a+1|0))<(0|(f=c[r+8>>2])););if(t=0,!((0|f)<=0))for(A=(f=u<<3)+i|0,k=e+f|0;;){f=(a=t<<2)+A|0,a=c[a+k>>2]+c[a+b>>2]|0,c[f>>2]=a;e:{if((0|a)>c[r+16>>2])a=a-c[r+20>>2]|0;else{if((0|a)>=c[r+12>>2])break e;a=a+c[r+20>>2]|0}c[f>>2]=a}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}if((0|p)==(0|(u=u+1|0)))break}return Z=n+32|0,1}dt(),o()},ut,vt,Ji,$i,x,ht,Ei,ct,Ui,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A,b,u,k,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0;if(c[8+(r|=0)>>2]=f,s=c[(A=r+32|0)>>2],(a=c[r+36>>2]-s>>2)>>>0<f>>>0?(_e(A,f-a|0),t=c[r+8>>2]):(t=f)>>>0>=a>>>0||(c[r+36>>2]=s+(f<<2),t=f),k=c[r+52>>2],b=c[r+48>>2],a=0,n=Sr(vi(s=f>>>0>1073741823?-1:f<<2),0,s),!((0|t)<=0)){for(_=c[r+32>>2];(0|(s=c[(t=a<<2)+n>>2]))>(0|(l=c[r+16>>2]))?c[t+_>>2]=l:(t=t+_|0,l=c[r+12>>2],c[t>>2]=(0|l)>(0|s)?l:s),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(!((0|t)<=0))for(a=0;;){t=(s=a<<2)+i|0,s=c[e+s>>2]+c[_+s>>2]|0,c[t>>2]=s;r:{if((0|s)>c[r+16>>2])p=s-c[r+20>>2]|0;else{if((0|s)>=c[r+12>>2])break r;p=s+c[r+20>>2]|0}c[t>>2]=p}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}}if(a=c[r+56>>2],u=c[a>>2],(0|(a=c[a+4>>2]-u|0))>=5)for(R=(v=a>>>2|0)>>>0<=2?2:v,N=-2&f,T=1&f,s=1;;){r:{e:{if((0|s)!=(0|v)){if(h=y(f,s),-1==(0|(a=c[(s<<2)+u>>2])))break e;if(-1==(0|(a=c[c[b+12>>2]+(a<<2)>>2])))break e;l=c[k>>2],_=c[b>>2],d=c[l+(c[_+(a<<2)>>2]<<2)>>2],p=-1!=(0|(p=((p=a+1|0)>>>0)%3|0?p:a-2|0))?c[_+(p<<2)>>2]:-1;i:{if((a>>>0)%3|0)a=a-1|0;else if(m=-1,-1==(0|(a=a+2|0)))break i;m=c[_+(a<<2)>>2]}if((0|s)<=(0|d))break e;if((0|(a=c[(p<<2)+l>>2]))>=(0|s))break e;if((0|(_=c[l+(m<<2)>>2]))>=(0|s))break e;if(!((0|f)<=0)){if(_=y(f,_),l=y(f,a),d=y(f,d),a=0,m=0,1!=(0|f))for(;c[(a<<2)+n>>2]=(c[(a+_<<2)+i>>2]+c[(a+l<<2)+i>>2]|0)-c[(a+d<<2)+i>>2],c[((p=1|a)<<2)+n>>2]=(c[(_+p<<2)+i>>2]+c[(l+p<<2)+i>>2]|0)-c[(p+d<<2)+i>>2],a=a+2|0,(0|N)!=(0|(m=m+2|0)););T&&(c[(a<<2)+n>>2]=(c[(a+_<<2)+i>>2]+c[(a+l<<2)+i>>2]|0)-c[(a+d<<2)+i>>2])}if((0|t)<=0)break r;for(l=c[A>>2],a=0;(0|(_=c[(t=a<<2)+n>>2]))>(0|(d=c[r+16>>2]))?c[t+l>>2]=d:(t=t+l|0,d=c[r+12>>2],c[t>>2]=(0|d)>(0|_)?d:_),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|t)<=0)break r;for(d=(t=h<<2)+i|0,p=e+t|0;;){t=(_=a<<2)+d|0,_=c[_+p>>2]+c[_+l>>2]|0,c[t>>2]=_;i:{if((0|_)>c[r+16>>2])m=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break i;m=_+c[r+20>>2]|0}c[t>>2]=m}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}break r}dt(),o()}if(!((0|t)<=0)){for(d=(y(s-1|0,f)<<2)+i|0,l=c[A>>2],a=0;(0|(_=c[(t=a<<2)+d>>2]))>(0|(p=c[r+16>>2]))?c[t+l>>2]=p:(t=t+l|0,p=c[r+12>>2],c[t>>2]=(0|p)>(0|_)?p:_),(0|(t=c[r+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|t)<=0))for(d=(t=h<<2)+i|0,p=e+t|0;;){t=(_=a<<2)+d|0,_=c[_+p>>2]+c[_+l>>2]|0,c[t>>2]=_;e:{if((0|_)>c[r+16>>2])m=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break e;m=_+c[r+20>>2]|0}c[t>>2]=m}if(!((0|(t=c[r+8>>2]))>(0|(a=a+1|0))))break}}}if((0|R)==(0|(s=s+1|0)))break}return er(n),1},ht,function(r){var e=0;return c[(r|=0)>>2]=4580,(e=c[r+96>>2])&&er(e),(e=c[r+84>>2])&&er(e),(e=c[r+72>>2])&&er(e),(e=c[r+60>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e=0;c[(r|=0)>>2]=4580,(e=c[r+96>>2])&&er(e),(e=c[r+84>>2])&&er(e),(e=c[r+72>>2])&&er(e),(e=c[r+60>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},kt,Ui,function(r,e){r|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,_=0,s=0,p=0;Z=i=Z-32|0;r:{e:if(Fe(1,i+28|0,e|=0)&&(f=c[i+28>>2],t=c[r+48>>2],!(f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)))i:{if(f){if(Zr(r+60|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+60>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[r+48>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+72|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+72>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[r+48>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+84|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+84>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(!Fe(1,i+28|0,e))break e;if(f=c[i+28>>2],t=c[r+48>>2],f>>>0>c[t+4>>2]-c[t>>2]>>2>>>0)break e;if(f){if(a=0,Zr(r+96|0,f),c[(t=i+8|0)>>2]=0,c[t+4>>2]=0,n[t+5|0]=0,n[t+6|0]=0,n[t+7|0]=0,n[t+8|0]=0,n[t+9|0]=0,n[t+10|0]=0,n[t+11|0]=0,n[t+12|0]=0,!Er(t,e))break i;for(;A=1<<a,u=Se(t),o=c[r+96>>2]+(a>>>3&536870908)|0,b=u?A|c[o>>2]:c[o>>2]&(-1^A),c[o>>2]=b,(0|f)!=(0|(a=a+1|0)););}if(a=0,t=c[e+8>>2],A=c[e+12>>2],f=t,b=t=c[e+20>>2],f>>>0<(u=(o=c[e+16>>2])+4|0)>>>0&(0|(t=u>>>0<4?t+1|0:t))>=(0|A)|(0|t)>(0|A))break r;if(p=c[e>>2],s=k[0|(_=p+o|0)]|k[_+1|0]<<8|k[_+2|0]<<16|k[_+3|0]<<24,c[e+16>>2]=u,c[e+20>>2]=t,_=f,f=A,t=b,(A=o+8|0)>>>0>_>>>0&(0|(t=A>>>0<8?t+1|0:t))>=(0|f)|(0|t)>(0|f))break r;if(f=k[0|(f=u+p|0)]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[e+16>>2]=A,c[e+20>>2]=t,(0|f)<(0|s))break r;if(c[r+16>>2]=f,c[r+12>>2]=s,!(t=(f>>31)-((s>>31)+(f>>>0<s>>>0)|0)|0)&(e=f-s|0)>>>0>2147483646|t)break r;if(a=1,e=e+1|0,c[r+20>>2]=e,t=e>>>1|0,c[r+24>>2]=t,c[r+28>>2]=0-t,1&e)break r;c[r+24>>2]=t-1;break r}a=0}return Z=i+32|0,0|a},function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A,b,u,k,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,F=0,I=0,Y=0,w=0,j=0,J=0,B=0,M=0,Q=0;Z=n=Z+-64|0,c[8+(r|=0)>>2]=f,a=c[(A=r+32|0)>>2];r:{if((t=c[r+36>>2]-a>>2)>>>0<f>>>0)_e(A,f-t|0),c[n+56>>2]=0,c[n+60>>2]=0,c[n+48>>2]=0,c[n+52>>2]=0,c[n+40>>2]=0,c[n+44>>2]=0,c[n+32>>2]=0,c[n+36>>2]=0,c[n+24>>2]=0,c[n+28>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n>>2]=0;else if(t>>>0>f>>>0&&(c[r+36>>2]=a+(f<<2)),c[n+56>>2]=0,c[n+60>>2]=0,c[n+48>>2]=0,c[n+52>>2]=0,c[n+40>>2]=0,c[n+44>>2]=0,c[n+32>>2]=0,c[n+36>>2]=0,c[n+24>>2]=0,c[n+28>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n>>2]=0,t=0,!f)break r;Nr(n+16|0,f,n),s=c[n+28>>2],t=c[n+32>>2]}c[n>>2]=0;r:if((t=t-s>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+32>>2]=(f<<2)+s}else Nr(n+16|12,f-t|0,n);c[n>>2]=0,a=c[n+40>>2];r:if((t=c[n+44>>2]-a>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+44>>2]=a+(f<<2)}else Nr(n+40|0,f-t|0,n);c[n>>2]=0,a=c[n+52>>2];r:if((t=c[n+56>>2]-a>>2)>>>0>=f>>>0){if(t>>>0<=f>>>0)break r;c[n+56>>2]=a+(f<<2)}else Nr(n+52|0,f-t|0,n);if(!(c[r+8>>2]<=0)){for(_=c[n+16>>2],p=c[r+32>>2],s=0;(0|(a=c[(t=s<<2)+_>>2]))>(0|(m=c[r+16>>2]))?c[t+p>>2]=m:(t=t+p|0,m=c[r+12>>2],c[t>>2]=(0|m)>(0|a)?m:a),(0|(s=s+1|0))<(0|(t=c[r+8>>2])););if(!((0|t)<=0))for(t=0;;){a=(_=t<<2)+i|0,_=c[e+_>>2]+c[_+p>>2]|0,c[a>>2]=_;r:{if((0|_)>c[r+16>>2])_=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break r;_=_+c[r+20>>2]|0}c[a>>2]=_}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}k=c[r+52>>2],u=c[r+48>>2],b=vi(16),c[(t=b)>>2]=0,c[t+4>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0;r:{if(f){if(f>>>0>=1073741824)break r;U=vi(t=f<<2),c[n>>2]=U,c[n+8>>2]=t+U,Sr(U,0,t)}G=1,t=c[r+56>>2],E=c[t>>2];e:if(!((0|(t=c[t+4>>2]-E|0))<8))for(j=(0|(D=t>>2))<=2?2:D,J=D>>>0<=1?1:D,F=-2&f,I=1&f,B=-4&f,Y=3&f,w=f-1|0,M=f<<2,Q=f>>>0<4,G=0,m=1;;){i:{t:{f:{a:{if((0|m)!=(0|J)){n:{A:if(-1!=(0|(a=c[(m<<2)+E>>2]))){t=a+2|0,N=(v=c[u+12>>2])+(((_=(a>>>0)%3|0)?a-1:t)<<2)|0,p=0,W=!!(0|_)|-1!=(0|t),l=1,t=a;o:{for(;;){if(-1!=(0|(_=c[v+(t<<2)>>2]))){d=-1,R=c[k>>2],T=c[u>>2],s=R+(c[T+(_<<2)>>2]<<2)|0,-1!=(0|(h=((h=_+1|0)>>>0)%3|0?h:_-2|0))&&(d=c[T+(h<<2)>>2]),h=c[s>>2];b:{if((_>>>0)%3|0)s=_-1|0;else if(V=-1,-1==(0|(s=_+2|0)))break b;V=c[T+(s<<2)>>2]}if(!((0|m)<=(0|h)||(0|(s=c[R+(d<<2)>>2]))>=(0|m)||(0|(d=c[R+(V<<2)>>2]))>=(0|m))){if(_=c[(n+16|0)+y(p,12)>>2],f){if(d=y(f,d),T=y(f,s),R=y(f,h),s=0,V=0,w)for(;c[_+(s<<2)>>2]=(c[(s+d<<2)+i>>2]+c[(s+T<<2)+i>>2]|0)-c[(s+R<<2)+i>>2],c[_+((h=1|s)<<2)>>2]=(c[(d+h<<2)+i>>2]+c[(h+T<<2)+i>>2]|0)-c[(h+R<<2)+i>>2],s=s+2|0,(0|F)!=(0|(V=V+2|0)););I&&(c[_+(s<<2)>>2]=(c[(s+d<<2)+i>>2]+c[(s+T<<2)+i>>2]|0)-c[(s+R<<2)+i>>2])}if(_=4,4==(0|(p=p+1|0)))break o}}b:if(1&l){if(_=-1,-1==(0|(t=((s=t+1|0)>>>0)%3|0?s:t-2|0)))break b;if(_=-1,-1==(0|(t=c[v+(t<<2)>>2])))break b;_=((_=t+1|0)>>>0)%3|0?_:t-2|0}else{if((t>>>0)%3|0)s=t-1|0;else if(_=-1,-1==(0|(s=t+2|0)))break b;_=-1,-1!=(0|(t=c[v+(s<<2)>>2]))&&(_=t-1|0,(t>>>0)%3|0||(_=t+2|0))}b:if((0|a)!=(0|(t=_))){if(-1==(0|t)&l){if(!W)break b;if(-1==(0|(t=c[N>>2])))break b;l=0,t=(t>>>0)%3|0?t-1|0:t+2|0}if(-1!=(0|t))continue}break}if((0|(_=p))<=0)break A}for(f&&Sr(U,0,M),T=((t=_-1|0)<<2)+b|0,h=t=y(t,12)+r|0,V=c[t- -64>>2],l=0,t=c[n>>2],a=0;;){if(p=c[T>>2],c[T>>2]=p+1,p>>>0>=V>>>0)break e;if(!(c[c[h+60>>2]+(p>>>3&536870908)>>2]>>>p&1)&&(a=a+1|0,f)){if(p=c[(n+16|0)+y(l,12)>>2],d=0,s=0,R=0,!Q)for(;c[(N=(v=s<<2)+t|0)>>2]=c[p+v>>2]+c[N>>2],c[(W=(N=4|v)+t|0)>>2]=c[p+N>>2]+c[W>>2],c[(W=(N=8|v)+t|0)>>2]=c[p+N>>2]+c[W>>2],c[(N=(v|=12)+t|0)>>2]=c[p+v>>2]+c[N>>2],s=s+4|0,(0|B)!=(0|(R=R+4|0)););if(Y)for(;c[(R=(v=s<<2)+t|0)>>2]=c[p+v>>2]+c[R>>2],s=s+1|0,(0|Y)!=(0|(d=d+1|0)););}if((0|(l=l+1|0))==(0|_))break}if(_=y(f,m),!a)break n;if(!f)break t;if(s=0,t=0,w)break a;break f}_=y(f,m)}if(c[r+8>>2]<=0)break i;for(l=(y(m-1|0,f)<<2)+i|0,p=c[A>>2],s=0;(0|(a=c[(t=s<<2)+l>>2]))>(0|(d=c[r+16>>2]))?c[t+p>>2]=d:(t=t+p|0,d=c[r+12>>2],c[t>>2]=(0|d)>(0|a)?d:a),(0|(s=s+1|0))<(0|(a=c[r+8>>2])););if(t=0,(0|a)<=0)break i;for(s=(a=_<<2)+i|0,l=e+a|0;;){a=(_=t<<2)+s|0,_=c[_+l>>2]+c[_+p>>2]|0,c[a>>2]=_;n:{if((0|_)>c[r+16>>2])_=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break n;_=_+c[r+20>>2]|0}c[a>>2]=_}if(!((0|(t=t+1|0))<c[r+8>>2]))break}break i}dt(),o()}for(;c[(l=(p=s<<2)+U|0)>>2]=c[l>>2]/(0|a),c[(p=(4|p)+U|0)>>2]=c[p>>2]/(0|a),s=s+2|0,(0|F)!=(0|(t=t+2|0)););}I&&(c[(t=(s<<2)+U|0)>>2]=c[t>>2]/(0|a))}if(!(c[r+8>>2]<=0)){for(p=c[A>>2],s=0;(0|(a=c[(t=s<<2)+U>>2]))>(0|(l=c[r+16>>2]))?c[t+p>>2]=l:(t=t+p|0,l=c[r+12>>2],c[t>>2]=(0|l)>(0|a)?l:a),(0|(s=s+1|0))<(0|(a=c[r+8>>2])););if(t=0,!((0|a)<=0))for(s=(a=_<<2)+i|0,l=e+a|0;;){a=(_=t<<2)+s|0,_=c[_+l>>2]+c[_+p>>2]|0,c[a>>2]=_;t:{if((0|_)>c[r+16>>2])_=_-c[r+20>>2]|0;else{if((0|_)>=c[r+12>>2])break t;_=_+c[r+20>>2]|0}c[a>>2]=_}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}}if(G=(0|D)<=(0|(m=m+1|0)),(0|m)==(0|j))break}return(r=c[n>>2])&&er(r),er(b),(r=c[n+52>>2])&&(c[n+56>>2]=r,er(r)),(r=c[n+40>>2])&&(c[n+44>>2]=r,er(r)),(r=c[n+28>>2])&&(c[n+32>>2]=r,er(r)),(r=c[n+16>>2])&&(c[n+20>>2]=r,er(r)),Z=n- -64|0,0|G}mt(),o()},function(r){var e=0;return c[(r|=0)>>2]=4816,(e=c[r+76>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e=0;c[(r|=0)>>2]=4816,(e=c[r+76>>2])&&er(e),c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},_t,Ti,ct,at,Wi,sr,function(r,e,i,t,f,a){r|=0,e|=0,i|=0,t|=0,a|=0;var A=0,b=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,F=0,I=0,Y=0,w=0,j=0,J=0,B=0,M=0,Q=0,O=0,C=0,z=0,X=0,S=0,H=0,P=0,x=0,L=0,K=0,q=0,$=0,rr=0,er=0;r:{if(2==(0|(f|=0))&&(c[r+8>>2]=2,c[r- -64>>2]=a,f=c[(Q=r+32|0)>>2],(t=c[r+36>>2]-f|0)>>>0<=7?_e(Q,2-(t>>>2|0)|0):8!=(0|t)&&(c[r+36>>2]=f+8),u=1,t=c[r+56>>2],!((0|(t=c[t+4>>2]-c[t>>2]|0))<=0)))for(d=r+60|0,q=(t=t>>>2|0)>>>0<=1?1:t,$=r+68|0,t=0;;){if(a=c[r+56>>2],f=c[a>>2],c[a+4>>2]-f>>2>>>0<=t>>>0)break r;if(Z=s=Z-80|0,a=-1,-1==(0|(f=c[f+(t<<2)>>2]))||(u=c[d+32>>2],-1!=(0|(A=((A=f+1|0)>>>0)%3|0?A:f-2|0))&&(a=c[c[u>>2]+(A<<2)>>2]),m=-1,-1!=(0|(f=f+((f>>>0)%3|0?-1:2)|0))&&(m=c[c[u>>2]+(f<<2)>>2]),u=c[d+36>>2],f=c[u>>2],(u=c[u+4>>2]-f>>2)>>>0<=a>>>0|u>>>0<=m>>>0))dt(),o();else{e:{i:{t:{f:{a:{if(!((0|(_=c[f+(m<<2)>>2]))>=(0|t)|(0|(a=c[f+(a<<2)>>2]))>=(0|t))){if(V=c[4+(u=(_<<3)+i|0)>>2],f=c[4+(A=(a<<3)+i|0)>>2],!((0|(p=c[u>>2]))!=(0|(u=c[A>>2]))|(0|f)!=(0|V))){c[d+8>>2]=u,c[d+12>>2]=f;break a}if(m=c[c[d+4>>2]+(t<<2)>>2],c[s+72>>2]=0,c[s+76>>2]=0,c[(A=s- -64|0)>>2]=0,c[A+4>>2]=0,c[s+56>>2]=0,c[s+60>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+56|0),m=c[c[d+4>>2]+(a<<2)>>2],c[s+48>>2]=0,c[s+52>>2]=0,c[s+40>>2]=0,c[s+44>>2]=0,c[s+32>>2]=0,c[s+36>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+32|0),m=c[c[d+4>>2]+(_<<2)>>2],c[s+24>>2]=0,c[s+28>>2]=0,c[s+16>>2]=0,c[s+20>>2]=0,c[s+8>>2]=0,c[s+12>>2]=0,A=c[d>>2],k[A+84|0]||(m=c[c[A+68>>2]+(m<<2)>>2]),g(A,m,n[A+24|0],s+8|0),U=(A=c[s+16>>2])-(y=c[s+40>>2])|0,O=c[s+44>>2],w=A=c[s+20>>2]-(O+(A>>>0<y>>>0)|0)|0,_=$e(U,A,U,A),v=E,G=(A=c[s+8>>2])-(D=c[s+32>>2])|0,C=c[s+36>>2],j=A=c[s+12>>2]-(C+(A>>>0<D>>>0)|0)|0,A=(b=_)+(_=$e(G,A,G,A))|0,b=E+v|0,b=A>>>0<_>>>0?b+1|0:b,I=(_=c[s+24>>2])-(F=c[s+48>>2])|0,z=c[s+52>>2],J=_=c[s+28>>2]-(z+(_>>>0<F>>>0)|0)|0,l=A,A=$e(I,_,I,_),b=E+b|0,(R=A>>>0>(h=l+A|0)>>>0?b+1|0:b)|h){if(m=0,Y=Wr(-1,2147483647,h,R),S=a=u>>31,X=u,u=(v=u^(A=b=a>>31))-A|0,A=a=(a^A)-((A>>>0>v>>>0)+A|0)|0,H=a=f>>31,l=(v=(B=f)^(f=a>>31))-f|0,(0|(_=E))==(0|(f=(a=(0|A)==(0|(f=((b=a>>31)^a)-((f>>>0>v>>>0)+b|0)|0))&u>>>0>l>>>0|f>>>0<A>>>0)?A:f))&(u=a?u:l)>>>0>Y>>>0|f>>>0>_>>>0)break e;if(f=$e((u=c[s+64>>2])-y|0,(P=c[s+68>>2])-((u>>>0<y>>>0)+O|0)|0,U,w),a=E,_=$e((A=c[s+56>>2])-D|0,(x=c[s+60>>2])-((A>>>0<D>>>0)+C|0)|0,G,j),b=E+a|0,b=(f=_+f|0)>>>0<_>>>0?b+1|0:b,_=(a=f)+(f=$e((l=c[s+72>>2])-F|0,(L=c[s+76>>2])-((l>>>0<F>>>0)+z|0)|0,I,J))|0,a=E+b|0,v=f>>>0>_>>>0?a+1|0:a,Y=(f=p)-X|0,K=f=(f>>31)-((f>>>0<X>>>0)+S|0)|0,a=(W=(p=f>>31)^Y)-p|0,b=f=((b=f>>31)^f)-((p>>>0>W>>>0)+b|0)|0,W=V-B|0,V=f=(V>>31)-((V>>>0<B>>>0)+H|0)|0,p=a,(a=Wr(-1,2147483647,(a=(0|b)==(0|(f=((a=f>>31)^f)-(((N=f>>31)>>>0>(T=N^W)>>>0)+a|0)|0))&p>>>0>(M=T-N|0)>>>0|f>>>0<b>>>0)?p:M,a?b:f)>>>0<_>>>0)&(0|(f=E))<=(0|v)|(0|f)<(0|v))break e;if(a=f=j>>31,f=(p=f^G)-f|0,M=f=(b=(0|(a=(a^j)-((a>>>0>p>>>0)+a|0)|0))==(0|(p=((b=w>>31)^w)-((b>>>0>(N=b^U)>>>0)+b|0)|0))&f>>>0>(T=N-b|0)>>>0|a>>>0>p>>>0)?f:T,(a=Wr(-1,2147483647,(f=(0|(a=b?a:p))==(0|(p=((b=J>>31)^J)-((b>>>0>(N=b^I)>>>0)+b|0)|0))&f>>>0>(T=N-b|0)>>>0|a>>>0>p>>>0)?M:T,f?a:p)>>>0<_>>>0)&(0|(f=E))<=(0|v)|(0|f)<(0|v))break e;if(p=1,f=0,a=y,y=Ke($e(_,v,U,w),E,h,R),b=E+O|0,b=(a=a+y|0)>>>0<y>>>0?b+1|0:b,y=$e(y=u-a|0,a=P-((a>>>0>u>>>0)+b|0)|0,y,a),U=E,a=A,b=Ke($e(_,v,G,j),E,h,R),A=E+C|0,A=b>>>0>(u=b+D|0)>>>0?A+1|0:A,A=$e(b=a-u|0,a=x-((a>>>0<u>>>0)+A|0)|0,b,a),a=E+U|0,a=A>>>0>(u=A+y|0)>>>0?a+1|0:a,y=u,A=Ke($e(_,v,I,J),E,h,R),b=E+z|0,b=A>>>0>(u=A+F|0)>>>0?b+1|0:b,l=$e(A=l-u|0,u=L-((u>>>0>l>>>0)+b|0)|0,A,u),A=E+a|0,a=$e(u=l+y|0,u>>>0<l>>>0?A+1|0:A,h,R),l=u=E,!u&a>>>0<=1)break f;for(b=a;A=f<<1|p>>>31,p<<=1,f=A,y=!u&b>>>0>7|!!(0|u),b=(3&u)<<30|b>>>2,u=u>>>2|0,y;);break t}}if((0|t)>(0|a))f=a<<1;else{if((0|t)<=0){c[d+8>>2]=0,c[d+12>>2]=0;break a}f=(t<<1)-2|0}f=(f<<2)+i|0,c[d+8>>2]=c[f>>2],c[d+12>>2]=c[f+4>>2]}m=1;break e}if(f=l,p=a,a-1|0)break i}for(;u=Wr(a,l,p,f),b=f+E|0,u=$e(p=(1&(b=(f=u+p|0)>>>0<p>>>0?b+1|0:b))<<31|f>>>1,f=b>>>1|0,p,f),(0|l)==(0|(A=E))&a>>>0<u>>>0|A>>>0>l>>>0;);}(a=c[d+20>>2])&&(A=a-1|0,b=c[c[d+16>>2]+(A>>>3&536870908)>>2],c[d+20>>2]=A,m=1,a=$e(_,v,W,V),u=E,l=(y=$e(h,R,B,H))+a|0,a=E+u|0,a=l>>>0<y>>>0?a+1|0:a,u=$e(p,f,Y,K),b=(A=b>>>A&1)?0-u|0:u,y=a,a=E,u=y+(A?0-(a+!!(0|u)|0)|0:a)|0,rr=d,er=Ke(l=b+l|0,b>>>0>l>>>0?u+1|0:u,h,R),c[rr+12>>2]=er,a=$e(_,v,Y,K),u=E,a=(_=$e(h,R,X,S))+a|0,b=E+u|0,u=0-(f=$e(p,f,W,V))|0,p=E,b=(a>>>0<_>>>0?b+1|0:b)+(A?p:0-(!!(0|f)+p|0)|0)|0,rr=d,er=Ke(a=(u=A?f:u)+a|0,a>>>0<u>>>0?b+1|0:b,h,R),c[rr+8>>2]=er)}Z=s+80|0,f=m}if(u=f,!f)return 0;if(!(c[r+8>>2]<=0)){for(p=c[Q>>2],f=0;(0|(A=c[(a=f<<2)+$>>2]))>(0|(_=c[r+16>>2]))?c[a+p>>2]=_:(a=a+p|0,_=c[r+12>>2],c[a>>2]=(0|_)>(0|A)?_:A),(0|(f=f+1|0))<(0|(A=c[r+8>>2])););if(a=0,!((0|A)<=0))for(_=(f=t<<3)+i|0,v=e+f|0;;){f=(A=a<<2)+_|0,A=c[A+v>>2]+c[A+p>>2]|0,c[f>>2]=A;e:{if((0|A)>c[r+16>>2])A=A-c[r+20>>2]|0;else{if((0|A)>=c[r+12>>2])break e;A=A+c[r+20>>2]|0}c[f>>2]=A}if(!((0|(a=a+1|0))<c[r+8>>2]))break}}if((0|q)==(0|(t=t+1|0)))break}return 0|u}dt(),o()},function(r){var e;return c[(r|=0)>>2]=5040,c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),0|r},function(r){var e;c[(r|=0)>>2]=5040,c[r>>2]=2960,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),er(r)},lt,ui,ct,at,Di,Cr,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0;Z=n=Z-32|0,c[68+(r|=0)>>2]=a,t=c[r+56>>2],f=c[t>>2],t=c[t+4>>2],c[n+24>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0;r:{if((0|(t=t-f|0))>0)for(s=r+60|0,p=(t=t>>>2|0)>>>0<=1?1:t,l=r+112|0;;){if(f=c[r+56>>2],t=c[f>>2],c[f+4>>2]-t>>2>>>0<=u>>>0)break r;if($(s,c[t+(u<<2)>>2],n+16|0),a=((t=(b=c[n+20>>2])>>31)^b)-t+(((f=(A=c[n+16>>2])>>31)^A)-f)|0,f=((t=(k=c[n+24>>2])>>31)^k)-t|0,t=0,(t=(_=f)>>>0>(f=f+a|0)>>>0?1:t)|f?(A=Ke($e(a=c[r+108>>2],_=a>>31,A,A>>31),E,f,t),c[n+16>>2]=A,t=Ke($e(a,_,b,b>>31),E,f,t),c[n+20>>2]=t,t=(f=((f=t)^(t>>=31))-t|0)+(((t=A>>31)^A)-t|0)|0,c[n+24>>2]=(0|k)>=0?a-t:t-a):c[n+16>>2]=c[r+108>>2],t=Se(l),a=c[n+16>>2],t?(c[n+24>>2]=0-c[n+24>>2],f=0-c[n+20>>2]|0,c[n+20>>2]=f,a=0-a|0,c[n+16>>2]=a):f=c[n+20>>2],(0|a)>=0?(t=(a=c[r+108>>2])+c[n+24>>2]|0,a=f+a|0):((0|f)<0?a=((t=c[n+24>>2])^(a=t>>31))-a|0:(a=(t=c[n+24>>2])>>31,a=c[r+100>>2]+(a-(t^a)|0)|0),(0|t)<0?t=((t=f>>31)^f)-t|0:(t=f>>31,t=c[r+100>>2]+(t-(t^f)|0)|0)),f=c[r+100>>2],t|a?(0|t)!=(0|f)|a?(0|f)!=(0|a)|t?a||(0|(b=c[r+108>>2]))>=(0|t)?(0|f)!=(0|a)||(0|(b=c[r+108>>2]))<=(0|t)?(0|t)!=(0|f)||(0|(f=c[r+108>>2]))<=(0|a)?t||(t=0,(0|(f=c[r+108>>2]))>=(0|a)||(a=(f<<1)-a|0)):a=(f<<1)-a|0:t=(b<<1)-t|0:(t=(b<<1)-t|0,a=0):t=a:a=t:a=t=f,c[n+12>>2]=t,c[n+8>>2]=a,!(c[r+8>>2]<=0)){for(b=c[r+32>>2],a=0;(0|(f=c[(t=a<<2)+(n+8|0)>>2]))>(0|(A=c[r+16>>2]))?c[t+b>>2]=A:(t=t+b|0,A=c[r+12>>2],c[t>>2]=(0|A)>(0|f)?A:f),(0|(a=a+1|0))<(0|(f=c[r+8>>2])););if(t=0,!((0|f)<=0))for(A=(f=u<<3)+i|0,k=e+f|0;;){f=(a=t<<2)+A|0,a=c[a+k>>2]+c[a+b>>2]|0,c[f>>2]=a;e:{if((0|a)>c[r+16>>2])a=a-c[r+20>>2]|0;else{if((0|a)>=c[r+12>>2])break e;a=a+c[r+20>>2]|0}c[f>>2]=a}if(!((0|(t=t+1|0))<c[r+8>>2]))break}}if((0|p)==(0|(u=u+1|0)))break}return Z=n+32|0,1}dt(),o()},ut,vt,Ji,$i,$,ht,Ei,pt,ct,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A,o=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0,y=0;if(c[8+(r|=0)>>2]=f,b=c[(n=r+32|0)>>2],(o=c[r+36>>2]-b>>2)>>>0<f>>>0?(_e(n,f-o|0),a=c[r+8>>2]):(a=f)>>>0>=o>>>0||(c[r+36>>2]=b+(f<<2),a=f),A=Sr(vi(o=f>>>0>1073741823?-1:f<<2),0,o),!((0|a)<=0)){for(b=c[r+32>>2];(0|(o=c[(a=u<<2)+A>>2]))>(0|(k=c[r+16>>2]))?c[a+b>>2]=k:(a=a+b|0,k=c[r+12>>2],c[a>>2]=(0|k)>(0|o)?k:o),(0|(a=c[r+8>>2]))>(0|(u=u+1|0)););if(!((0|a)<=0))for(u=0;;){a=(o=u<<2)+i|0,o=c[e+o>>2]+c[o+b>>2]|0,c[a>>2]=o;r:{if((0|o)>c[r+16>>2])o=o-c[r+20>>2]|0;else{if((0|o)>=c[r+12>>2])break r;o=o+c[r+20>>2]|0}c[a>>2]=o}if(!((0|(a=c[r+8>>2]))>(0|(u=u+1|0))))break}}if(!((0|t)<=(0|f)|(0|a)<=0))for(l=0-f<<2,o=f;;){if(!((0|a)<=0)){for(y=(p=(s=o<<2)+i|0)+l|0,k=c[n>>2],u=0;(0|(b=c[(a=u<<2)+y>>2]))>(0|(_=c[r+16>>2]))?c[a+k>>2]=_:(a=a+k|0,_=c[r+12>>2],c[a>>2]=(0|_)>(0|b)?_:b),(0|(a=c[r+8>>2]))>(0|(u=u+1|0)););if(u=0,!((0|a)<=0))for(s=e+s|0;;){a=(b=u<<2)+p|0,b=c[b+s>>2]+c[b+k>>2]|0,c[a>>2]=b;r:{if((0|b)>c[r+16>>2])b=b-c[r+20>>2]|0;else{if((0|b)>=c[r+12>>2])break r;b=b+c[r+20>>2]|0}c[a>>2]=b}if(!((0|(a=c[r+8>>2]))>(0|(u=u+1|0))))break}}if(!((0|(o=f+o|0))<(0|t)))break}return er(A),1},ci,si,function(r,e,i){e|=0,i|=0;var t=0;return c[4+(r|=0)>>2]=e,e=c[c[c[e+4>>2]+8>>2]+(i<<2)>>2],c[r+12>>2]=i,c[r+8>>2]=e,r=c[r+8>>2],3==k[r+24|0]&&(t=9==c[r+28>>2]),0|t},function(r,e,i){return e|=0,i|=0,k[c[4+(r|=0)>>2]+36|0]>=2&&(e=0,!Je(r+24|0,ne(r),i))||(e=ze(r+24|0,c[r+16>>2])),0|e},Oi,function(r,e,i){r|=0,e|=0;var t,f=0,a=0,A=0,o=0,b=0;Z=t=Z-32|0;r:if(3==(0|(i|=0))&&(i=c[r+4>>2],a=c[r+12>>2],c[t+24>>2]=-1,c[t+16>>2]=-1,c[t+20>>2]=1065353216,c[t+8>>2]=-1,c[t+12>>2]=-1,-2!=(0|e))){if(b=c[c[c[i+4>>2]+8>>2]+(a<<2)>>2],1==(0|Zt[c[c[i>>2]+8>>2]](i))){o=c[c[c[i+4>>2]+8>>2]+(a<<2)>>2];e:if(!(1!=(0|Zt[c[c[i>>2]+8>>2]](i))|e-1>>>0>5||!(A=0|Zt[c[c[i>>2]+36>>2]](i))|!(r=0|Zt[c[c[i>>2]+44>>2]](i,a)))){if(a=0|Zt[c[c[i>>2]+40>>2]](i,a)){if(6!=(0|e))break e;e=c[i+44>>2],f=vi(112),c[f+4>>2]=o,i=c[t+12>>2],c[f+8>>2]=c[t+8>>2],c[f+12>>2]=i,i=c[t+20>>2],c[f+16>>2]=c[t+16>>2],c[f+20>>2]=i,c[f+24>>2]=c[t+24>>2],c[f+40>>2]=r,i=r+12|0,c[f+36>>2]=i,c[f+32>>2]=a,c[f+28>>2]=e,c[f+68>>2]=r,c[f- -64>>2]=i,c[f+60>>2]=a,c[f+56>>2]=e,c[f+48>>2]=0,c[f+52>>2]=0,c[f>>2]=5928,c[f+88>>2]=1065353216,c[f+92>>2]=-1,c[f+80>>2]=-1,c[f+84>>2]=-1,c[f+72>>2]=1,c[f+76>>2]=-1,c[f+44>>2]=6492,r=f+96|0}else{if(6!=(0|e))break e;e=c[i+44>>2],f=vi(112),c[f+4>>2]=o,i=c[t+12>>2],c[f+8>>2]=c[t+8>>2],c[f+12>>2]=i,i=c[t+20>>2],c[f+16>>2]=c[t+16>>2],c[f+20>>2]=i,c[f+24>>2]=c[t+24>>2],c[f+40>>2]=r,i=r+12|0,c[f+36>>2]=i,c[f+32>>2]=A,c[f+28>>2]=e,c[f+68>>2]=r,c[f- -64>>2]=i,c[f+60>>2]=A,c[f+56>>2]=e,c[f+48>>2]=0,c[f+52>>2]=0,c[f>>2]=6932,c[f+88>>2]=1065353216,c[f+92>>2]=-1,c[f+80>>2]=-1,c[f+84>>2]=-1,c[f+72>>2]=1,c[f+76>>2]=-1,c[f+44>>2]=7352,r=f+96|0}c[r>>2]=0,c[r+4>>2]=0,n[r+5|0]=0,n[r+6|0]=0,n[r+7|0]=0,n[r+8|0]=0,n[r+9|0]=0,n[r+10|0]=0,n[r+11|0]=0,n[r+12|0]=0}if(f)break r}f=vi(28),c[f+4>>2]=b,r=c[t+12>>2],c[f+8>>2]=c[t+8>>2],c[f+12>>2]=r,r=c[t+20>>2],c[f+16>>2]=c[t+16>>2],c[f+20>>2]=r,c[f+24>>2]=c[t+24>>2],c[f>>2]=7764}return Z=t+32|0,0|f},st,function(r,e){return 0|wr(24+(r|=0)|0,ne(r),c[r+8>>2])},function(r){return c[(r|=0)>>2]=5928,0|r},function(r){c[(r|=0)>>2]=5928,er(r)},lt,tt,ki,ct,at,Gi,ct,function(r){return 3},re,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A=0,b=0,u=0,k=0,_=0,s=0,l=0,y=0,m=0;Z=n=Z-48|0,(t=c[8+(r|=0)>>2])-2>>>0<=28&&(c[r+76>>2]=t,t=-2-(f=-1<<t)|0,c[r+84>>2]=t,c[r+80>>2]=-1^f,c[r+92>>2]=(0|t)/2,p[r+88>>2]=d(2)/d(0|t)),c[r+52>>2]=a,t=c[r+40>>2],f=c[t>>2],t=c[t+4>>2],c[n+16>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0;r:{if((0|(t=t-f|0))>0)for(s=r+8|0,l=r+44|0,y=(t=t>>>2|0)>>>0<=1?1:t,m=r+96|0;;){if(f=c[r+40>>2],t=c[f>>2],c[f+4>>2]-t>>2>>>0<=u>>>0)break r;if(x(l,c[t+(u<<2)>>2],n+8|0),a=((t=(A=c[n+12>>2])>>31)^A)-t+(((f=(b=c[n+8>>2])>>31)^b)-f)|0,f=((t=(_=c[n+16>>2])>>31)^_)-t|0,t=0,(t=(k=f)>>>0>(f=f+a|0)>>>0?1:t)|f?(b=Ke($e(a=c[r+92>>2],k=a>>31,b,b>>31),E,f,t),c[n+8>>2]=b,t=Ke($e(a,k,A,A>>31),E,f,t),c[n+12>>2]=t,t=(f=(t^(f=t>>31))-f|0)+(((t=b>>31)^b)-t|0)|0,c[n+16>>2]=(0|_)>=0?a-t:t-a):c[n+8>>2]=c[r+92>>2],t=Se(m),a=c[n+8>>2],t?(c[n+16>>2]=0-c[n+16>>2],f=0-c[n+12>>2]|0,c[n+12>>2]=f,a=0-a|0,c[n+8>>2]=a):f=c[n+12>>2],(0|a)>=0?(t=(a=c[r+92>>2])+c[n+16>>2]|0,a=f+a|0):((0|f)<0?a=((t=c[n+16>>2])^(a=t>>31))-a|0:(a=(t=c[n+16>>2])>>31,a=c[r+84>>2]+(a-(t^a)|0)|0),(0|t)<0?t=((t=f>>31)^f)-t|0:(t=f>>31,t=c[r+84>>2]+(t-(t^f)|0)|0)),f=c[r+84>>2],t|a?(0|t)!=(0|f)|a?(0|f)!=(0|a)|t?a||(0|(A=c[r+92>>2]))>=(0|t)?(0|f)!=(0|a)||(0|(A=c[r+92>>2]))<=(0|t)?(0|t)!=(0|f)||(0|(f=c[r+92>>2]))<=(0|a)?t||(t=0,(0|(f=c[r+92>>2]))>=(0|a)||(a=(f<<1)-a|0)):a=(f<<1)-a|0:t=(A<<1)-t|0:(t=(A<<1)-t|0,a=0):t=a:a=t:a=t=f,b=c[(A=(f=u<<3)+e|0)>>2],A=c[A+4>>2],c[n+36>>2]=t,c[n+32>>2]=a,c[n+24>>2]=b,c[n+28>>2]=A,_r(n+40|0,s,n+32|0,n+24|0),c[(t=i+f|0)>>2]=c[n+40>>2],c[t+4>>2]=c[n+44>>2],(0|y)==(0|(u=u+1|0)))break}return Z=n+48|0,1}dt(),o()},ut,vt,Ji,$i,x,function(r){return c[(r|=0)>>2]=6932,0|r},function(r){c[(r|=0)>>2]=6932,er(r)},lt,ki,ct,at,Gi,re,function(r,e,i,t,f,a){e|=0,i|=0,t|=0,f|=0,a|=0;var n,A=0,b=0,u=0,k=0,_=0,s=0,l=0,y=0,m=0;Z=n=Z-48|0,(t=c[8+(r|=0)>>2])-2>>>0<=28&&(c[r+76>>2]=t,t=-2-(f=-1<<t)|0,c[r+84>>2]=t,c[r+80>>2]=-1^f,c[r+92>>2]=(0|t)/2,p[r+88>>2]=d(2)/d(0|t)),c[r+52>>2]=a,t=c[r+40>>2],f=c[t>>2],t=c[t+4>>2],c[n+16>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0;r:{if((0|(t=t-f|0))>0)for(s=r+8|0,l=r+44|0,y=(t=t>>>2|0)>>>0<=1?1:t,m=r+96|0;;){if(f=c[r+40>>2],t=c[f>>2],c[f+4>>2]-t>>2>>>0<=u>>>0)break r;if($(l,c[t+(u<<2)>>2],n+8|0),a=((t=(A=c[n+12>>2])>>31)^A)-t+(((f=(b=c[n+8>>2])>>31)^b)-f)|0,f=((t=(_=c[n+16>>2])>>31)^_)-t|0,t=0,(t=(k=f)>>>0>(f=f+a|0)>>>0?1:t)|f?(b=Ke($e(a=c[r+92>>2],k=a>>31,b,b>>31),E,f,t),c[n+8>>2]=b,t=Ke($e(a,k,A,A>>31),E,f,t),c[n+12>>2]=t,t=(f=(t^(f=t>>31))-f|0)+(((t=b>>31)^b)-t|0)|0,c[n+16>>2]=(0|_)>=0?a-t:t-a):c[n+8>>2]=c[r+92>>2],t=Se(m),a=c[n+8>>2],t?(c[n+16>>2]=0-c[n+16>>2],f=0-c[n+12>>2]|0,c[n+12>>2]=f,a=0-a|0,c[n+8>>2]=a):f=c[n+12>>2],(0|a)>=0?(t=(a=c[r+92>>2])+c[n+16>>2]|0,a=f+a|0):((0|f)<0?a=((t=c[n+16>>2])^(a=t>>31))-a|0:(a=(t=c[n+16>>2])>>31,a=c[r+84>>2]+(a-(t^a)|0)|0),(0|t)<0?t=((t=f>>31)^f)-t|0:(t=f>>31,t=c[r+84>>2]+(t-(t^f)|0)|0)),f=c[r+84>>2],t|a?(0|t)!=(0|f)|a?(0|f)!=(0|a)|t?a||(0|(A=c[r+92>>2]))>=(0|t)?(0|f)!=(0|a)||(0|(A=c[r+92>>2]))<=(0|t)?(0|t)!=(0|f)||(0|(f=c[r+92>>2]))<=(0|a)?t||(t=0,(0|(f=c[r+92>>2]))>=(0|a)||(a=(f<<1)-a|0)):a=(f<<1)-a|0:t=(A<<1)-t|0:(t=(A<<1)-t|0,a=0):t=a:a=t:a=t=f,b=c[(A=(f=u<<3)+e|0)>>2],A=c[A+4>>2],c[n+36>>2]=t,c[n+32>>2]=a,c[n+24>>2]=b,c[n+28>>2]=A,_r(n+40|0,s,n+32|0,n+24|0),c[(t=i+f|0)>>2]=c[n+40>>2],c[t+4>>2]=c[n+44>>2],(0|y)==(0|(u=u+1|0)))break}return Z=n+48|0,1}dt(),o()},ut,vt,Ji,$i,$,ut,vt,pt,ct,pt,et,at,function(r,e){r|=0;var i,t,f,a=0,n=0,A=0,o=0,b=0;return a=c[8+(e|=0)>>2],i=n=c[e+12>>2],f=n=c[e+20>>2],a>>>0<(o=(t=c[e+16>>2])+4|0)>>>0&(0|(n=o>>>0<4?n+1|0:n))>=(0|i)|(0|n)>(0|i)||(A=t+c[e>>2]|0,A=k[0|A]|k[A+1|0]<<8|k[A+2|0]<<16|k[A+3|0]<<24,c[e+16>>2]=o,c[e+20>>2]=n,o=a,a=f,(n=t+8|0)>>>0>o>>>0&(0|(a=n>>>0<8?a+1|0:a))>=(0|i)|(0|a)>(0|i)||(c[e+16>>2]=n,c[e+20>>2]=a,1&A&&((e=31^v(A))-1>>>0>28||(b=1,c[r+8>>2]=e+1,a=-2^(e=-2<<e),c[r+16>>2]=a,c[r+12>>2]=-1^e,c[r+24>>2]=a>>1,p[r+20>>2]=d(2)/d(0|a))))),0|b},function(r,e,i,t,f,a){r|=0,e|=0,i|=0,t|=0,a|=0;var n=0,A=0,o=0,b=0,u=0,k=0,_=0,s=0;if(Z=a=Z-32|0,A=Sr(vi(A=(f|=0)>>>0>1073741823?-1:f<<2),0,A),n=c[e>>2],o=c[e+4>>2],u=c[A+4>>2],c[a+16>>2]=c[A>>2],c[a+20>>2]=u,c[a+8>>2]=n,c[a+12>>2]=o,_r(a+24|0,o=r+8|0,a+16|0,a+8|0),c[i>>2]=c[a+24>>2],c[i+4>>2]=c[a+28>>2],(0|t)>(0|f))for(u=0-f<<2,r=f;_=c[(b=(n=r<<2)+e|0)>>2],b=c[b+4>>2],s=c[4+(k=(n=i+n|0)+u|0)>>2],c[a+16>>2]=c[k>>2],c[a+20>>2]=s,c[a+8>>2]=_,c[a+12>>2]=b,_r(a+24|0,o,a+16|0,a+8|0),c[n>>2]=c[a+24>>2],c[n+4>>2]=c[a+28>>2],(0|t)>(0|(r=r+f|0)););return er(A),Z=a+32|0,1},function(r){var e=0;return c[24+(r|=0)>>2]=1624,c[r>>2]=7948,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),c[r>>2]=2136,e=c[r+20>>2],c[r+20>>2]=0,e&&Zt[c[c[e>>2]+4>>2]](e),c[r>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),0|r},function(r){var e=0;c[24+(r|=0)>>2]=1624,c[r>>2]=7948,(e=c[r+32>>2])&&(c[r+36>>2]=e,er(e)),c[r>>2]=2136,e=c[r+20>>2],c[r+20>>2]=0,e&&Zt[c[c[e>>2]+4>>2]](e),c[r>>2]=1920,e=c[r+16>>2],c[r+16>>2]=0,e&&xe(e),er(r)},function(r,e,i){var t;return e|=0,i|=0,c[4+(r|=0)>>2]=e,t=c[c[c[e+4>>2]+8>>2]+(i<<2)>>2],c[r+12>>2]=i,c[r+8>>2]=t,9==c[c[c[c[e+4>>2]+8>>2]+(i<<2)>>2]+28>>2]|0},function(r,e,i){return e|=0,k[c[4+(r|=0)>>2]+36|0]>=2&&(e=0,!(0|Zt[c[c[r>>2]+52>>2]](r)))||(e=ze(r+24|0,c[r+16>>2])),0|e},Oi,function(r,e){return e|=0,0|Zt[c[c[(r|=0)>>2]+56>>2]](r,e)},function(r){return 0|Fr(24+(r|=0)|0,ne(r)||c[r+8>>2],c[c[r+4>>2]+32>>2])},function(r,e){return 0|Gr(24+(r|=0)|0,ne(r),c[r+8>>2])},function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=10032,(i=c[r+20>>2])&&(c[r+24>>2]=i,er(i)),e=c[r+8>>2]){if((0|(t=c[r+12>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+8>>2]}c[r+12>>2]=e,er(i)}return 0|r},ht,ct,ct,function(r){return c[44+(r|=0)>>2]?0|Zt[c[c[r>>2]+48>>2]](r):0},function(r){var e=0,i=0,t=0,f=0,a=0,n=0,A=0,o=0,b=0,u=0;r:{if(e=c[32+(r|=0)>>2],a=c[e+8>>2],f=0,!((0|(A=c[e+12>>2]))<=(0|(n=c[e+20>>2]))&(i=c[e+16>>2])>>>0>=a>>>0|(0|n)>(0|A))){a=k[c[e>>2]+i|0],f=e,e=n,e=(i=i+1|0)?e:e+1|0,c[f+16>>2]=i,c[f+20>>2]=e;e:if(a){for(;;){if(0|Zt[c[c[r>>2]+16>>2]](r,t)){if((0|a)!=(0|(t=t+1|0)))continue;break e}break}return 0}if((0|(t=c[r+8>>2]))!=(0|(e=c[r+12>>2])))for(;;){if(i=c[t>>2],!(0|Zt[c[c[i>>2]+8>>2]](i,r,c[r+4>>2])))break r;if((0|e)==(0|(t=t+4|0)))break}if(a){for(t=0;;){if(e=c[c[r+8>>2]+(t<<2)>>2],!(0|Zt[c[c[e>>2]+12>>2]](e,c[r+32>>2])))break r;if((0|a)==(0|(t=t+1|0)))break}if(a)for(o=r+20|0,e=0;;){if(t=0,i=c[(b=e<<2)+c[r+8>>2]>>2],(0|(u=0|Zt[c[c[i>>2]+24>>2]](i)))>0)for(;i=c[c[r+8>>2]+b>>2],i=0|Zt[c[c[i>>2]+20>>2]](i,t),f=c[r+20>>2],i>>>0<(n=c[r+24>>2]-f>>2)>>>0||((A=i+1|0)>>>0>n>>>0?(_e(o,A-n|0),f=c[o>>2]):n>>>0<=A>>>0||(c[r+24>>2]=(A<<2)+f)),c[(i<<2)+f>>2]=e,(0|u)!=(0|(t=t+1|0)););if((0|a)==(0|(e=e+1|0)))break}}f=0,0|Zt[c[c[r>>2]+28>>2]](r)&&(f=0|Zt[c[c[r>>2]+32>>2]](r))}return 0|f}return 0},function(r){var e,i=0,t=0;if((0|(i=c[8+(r|=0)>>2]))==(0|(e=c[r+12>>2])))return 1;for(;t=c[i>>2],(t=0|Zt[c[c[t>>2]+16>>2]](t,c[r+32>>2]))&&(0|e)!=(0|(i=i+4|0)););return 0|t},ct,pt,at,at,function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=8176,i=c[r+48>>2],c[r+48>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),c[r>>2]=10032,(i=c[r+20>>2])&&(c[r+24>>2]=i,er(i)),e=c[r+8>>2]){if((0|(t=c[r+12>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+8>>2]}c[r+12>>2]=e,er(i)}return 0|r},function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=8176,i=c[r+48>>2],c[r+48>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),c[r>>2]=10032,(i=c[r+20>>2])&&(c[r+24>>2]=i,er(i)),e=c[r+8>>2]){if((0|(t=c[r+12>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+8>>2]}c[r+12>>2]=e,er(i)}er(r)},function(r){var e=0,i=0,t=0,f=0;if(i=c[32+(r|=0)>>2],t=c[i+16>>2],f=c[i+12>>2],e=c[i+20>>2],s[i+8>>2]>t>>>0&(0|f)>=(0|e)|(0|e)<(0|f)){f=k[c[i>>2]+t|0],e=(t=t+1|0)?e:e+1|0,c[i+16>>2]=t,c[i+20>>2]=e,e=c[r+48>>2],c[r+48>>2]=0,e&&Zt[c[c[e>>2]+4>>2]](e);r:{e:{i:{t:switch(0|f){case 0:e=vi(384),c[e>>2]=8284,Sr(e+4|0,0,80),c[e+96>>2]=0,c[e+100>>2]=0,c[e+92>>2]=-1,c[e+84>>2]=-1,c[e+88>>2]=-1,c[e+104>>2]=0,c[e+108>>2]=0,c[e+112>>2]=0,c[e+116>>2]=0,c[e+120>>2]=0,c[e+124>>2]=0,c[e+128>>2]=0,c[e+132>>2]=0,c[e+136>>2]=0,c[e+140>>2]=0,c[e+144>>2]=0,c[e+148>>2]=0,c[e+156>>2]=0,c[e+160>>2]=0,c[e+152>>2]=1065353216,c[e+164>>2]=0,c[e+168>>2]=0,c[e+172>>2]=0,c[e+176>>2]=0,c[e+180>>2]=0,c[e+184>>2]=0,c[e+188>>2]=0,c[e+192>>2]=0,c[e+196>>2]=0,c[e+200>>2]=0,c[e+204>>2]=0,c[e+208>>2]=0,c[e+212>>2]=-1,c[e+216>>2]=0,c[e+220>>2]=0,c[e+224>>2]=0,pi(e+232|0),pi(e+272|0),c[(i=e+312|0)>>2]=0,c[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,pi(e+328|0),c[e+376>>2]=0,c[e+368>>2]=0,c[e+372>>2]=0;break i;case 2:break t;default:break e}e=vi(440),c[e>>2]=8336,Sr(e+4|0,0,80),c[e+96>>2]=0,c[e+100>>2]=0,c[e+92>>2]=-1,c[e+84>>2]=-1,c[e+88>>2]=-1,c[e+104>>2]=0,c[e+108>>2]=0,c[e+112>>2]=0,c[e+116>>2]=0,c[e+120>>2]=0,c[e+124>>2]=0,c[e+128>>2]=0,c[e+132>>2]=0,c[e+136>>2]=0,c[e+140>>2]=0,c[e+144>>2]=0,c[e+148>>2]=0,c[e+156>>2]=0,c[e+160>>2]=0,c[e+152>>2]=1065353216,c[e+164>>2]=0,c[e+168>>2]=0,c[e+172>>2]=0,c[e+176>>2]=0,c[e+180>>2]=0,c[e+184>>2]=0,c[e+188>>2]=0,c[e+192>>2]=0,c[e+196>>2]=0,c[e+200>>2]=0,c[e+204>>2]=0,c[e+208>>2]=0,c[e+212>>2]=-1,c[e+216>>2]=0,c[e+220>>2]=0,c[e+224>>2]=0,pi(e+232|0),pi(e+272|0),c[(i=e+312|0)>>2]=0,c[i+4>>2]=0,n[i+5|0]=0,n[i+6|0]=0,n[i+7|0]=0,n[i+8|0]=0,n[i+9|0]=0,n[i+10|0]=0,n[i+11|0]=0,n[i+12|0]=0,pi(e+328|0),c[e+392>>2]=0,c[e+396>>2]=0,c[e+384>>2]=0,c[e+388>>2]=0,c[e+376>>2]=0,c[e+380>>2]=0,c[e+368>>2]=0,c[e+372>>2]=0,c[e+416>>2]=0,c[e+420>>2]=0,c[e+408>>2]=2,c[e+412>>2]=7,c[e+400>>2]=-1,c[e+404>>2]=-1,c[e+424>>2]=0,c[e+428>>2]=0,c[e+432>>2]=0,c[e+436>>2]=0}if(i=c[r+48>>2],c[r+48>>2]=e,!i)break r;Zt[c[c[i>>2]+4>>2]](i)}if(!(e=c[r+48>>2]))return 0}r=0|Zt[c[c[e>>2]+8>>2]](e,r)}else r=0;return 0|r},function(r,e){return e|=0,r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+20>>2]](r,e)},function(r){return r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+28>>2]](r)},function(r){return r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+36>>2]](r)},function(r,e){return e|=0,r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+12>>2]](r,e)},function(r,e){return e|=0,r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+16>>2]](r,e)},function(r){return r=c[48+(r|=0)>>2],0|Zt[c[c[r>>2]+24>>2]](r)},Jr,function(r){er(Jr(r|=0))},Pi,fe,Ae,J,function(r){var e,i=0,t=0,f=0,a=0,b=0,u=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,F=0,I=0,Y=0,w=0,J=0,B=0,M=0,Q=0,g=0;if(Z=e=Z+-64|0,c[132+(r|=0)>>2]=0,c[r+148>>2]){if(t=c[r+144>>2])for(;i=c[t>>2],er(t),t=i,i;);if(t=0,c[r+144>>2]=0,i=c[r+140>>2]){if(i>>>0>=4)for(p=-4&i;c[(a=t<<2)+c[r+136>>2]>>2]=0,c[c[r+136>>2]+(4|a)>>2]=0,c[c[r+136>>2]+(8|a)>>2]=0,c[c[r+136>>2]+(12|a)>>2]=0,t=t+4|0,(0|p)!=(0|(u=u+4|0)););if(i&=3)for(u=0;c[c[r+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|i)!=(0|(u=u+1|0)););}c[r+148>>2]=0}if(Ie(1,e+60|0,c[c[r+4>>2]+32>>2])&&(c[r+156>>2]=c[e+60>>2],Ie(1,e+56|0,c[c[r+4>>2]+32>>2])&&!((a=c[e+56>>2])>>>0>1431655765|s[r+156>>2]>y(a,3)>>>0)&&(t=c[c[r+4>>2]+32>>2],p=c[t+8>>2],!((0|(h=c[t+12>>2]))<=(0|(i=c[t+20>>2]))&(u=c[t+16>>2])>>>0>=p>>>0|(0|i)>(0|h))&&(p=k[u+c[t>>2]|0],i=(u=u+1|0)?i:i+1|0,c[t+16>>2]=u,c[t+20>>2]=i,Ie(1,e+52|0,t)&&!((R=c[e+52>>2])>>>0>a>>>0|a>>>0>R+((R>>>0)/3|0)>>>0)&&Ie(1,e+48|0,c[c[r+4>>2]+32>>2])&&!((t=c[e+48>>2])>>>0>R>>>0)&&(c[r+28>>2]=c[r+24>>2],u=Ue(vi(88)),i=c[r+8>>2],c[r+8>>2]=u,(!i||(ge(i),c[r+8>>2]))&&(c[r+164>>2]=c[r+160>>2],Le(r+160|0,a),c[r+176>>2]=c[r+172>>2],Le(r+172|0,a),c[r- -64>>2]=0,c[r+92>>2]=-1,c[r+84>>2]=-1,c[r+88>>2]=-1,c[r+40>>2]=c[r+36>>2],c[r+52>>2]=c[r+48>>2],c[r+76>>2]=c[r+72>>2],Qe(F=r+216|0),K(F,p),qr(c[r+8>>2],a,t+c[r+156>>2]|0)&&(i=c[r+156>>2],n[e+8|0]=1,xr(r+120|0,i+t|0,e+8|0),-1!=(0|kr(r,c[c[r+4>>2]+32>>2]))))))))){c[144+(t=r+232|0)>>2]=r,i=c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2],i=c[i>>2]+c[i+16>>2]|0,u=c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2],u=c[u+8>>2]-c[u+16>>2]|0,Q=t,g=_[c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2]+38>>1],A[Q+38>>1]=g,c[t>>2]=i,c[t+16>>2]=0,c[t+20>>2]=0,c[t+8>>2]=u,c[t+12>>2]=0,c[r+372>>2]=p,p=J=pi(e+8|0),h=0,Z=f=Z-16|0,i=c[t+4>>2],c[t+40>>2]=c[t>>2],c[t+44>>2]=i,i=c[t+36>>2],c[t+72>>2]=c[t+32>>2],c[t+76>>2]=i,u=c[t+28>>2],c[(i=t- -64|0)>>2]=c[t+24>>2],c[i+4>>2]=u,i=c[t+20>>2],c[t+56>>2]=c[t+16>>2],c[t+60>>2]=i,i=c[t+12>>2],c[t+48>>2]=c[t+8>>2],c[t+52>>2]=i,bi(t+40|0,1,f+8|0)&&(i=c[t+44>>2],c[t>>2]=c[t+40>>2],c[t+4>>2]=i,i=c[t+76>>2],c[t+32>>2]=c[t+72>>2],c[t+36>>2]=i,i=c[t+68>>2],c[t+24>>2]=c[t+64>>2],c[t+28>>2]=i,b=u=c[t+60>>2],i=c[t+56>>2],c[t+16>>2]=i,c[t+20>>2]=u,a=c[t+52>>2],u=c[t+48>>2],c[t+8>>2]=u,c[t+12>>2]=a,(0|(m=c[f+12>>2]))==(0|(l=a-((i>>>0>u>>>0)+b|0)|0))&(a=u-i|0)>>>0>=(u=c[f+8>>2])>>>0|l>>>0>m>>>0)&&(a=b+m|0,a=(i=i+u|0)>>>0<u>>>0?a+1|0:a,c[t+16>>2]=i,c[t+20>>2]=a,Er(t+80|0,t)&&$r(t)&&(i=c[t+4>>2],c[p>>2]=c[t>>2],c[p+4>>2]=i,i=c[t+36>>2],c[p+32>>2]=c[t+32>>2],c[p+36>>2]=i,i=c[t+28>>2],c[p+24>>2]=c[t+24>>2],c[p+28>>2]=i,i=c[t+20>>2],c[p+16>>2]=c[t+16>>2],c[p+20>>2]=i,i=c[t+12>>2],c[p+8>>2]=c[t+8>>2],c[p+12>>2]=i,h=1)),Z=f+16|0;r:if(h){i=0,t=0,u=0,h=0,Z=d=Z-96|0,c[d+72>>2]=0,c[d+64>>2]=0,c[d+68>>2]=0,c[d+48>>2]=0,c[d+52>>2]=0,c[d+40>>2]=0,c[d+44>>2]=0,c[d+56>>2]=1065353216,c[d+32>>2]=0,c[d+24>>2]=0,c[d+28>>2]=0,p=r,w=c[r+124>>2];e:{i:{t:{f:{a:{n:{A:{o:if(!((0|R)<=0)){for(B=c[p+216>>2]!=c[p+220>>2],I=1;;){h=(a=h)+1|0;b:{u:{c:{k:{_:{s:{p:{l:{y:{d:{m:{v:{h:{R:{if(k[p+308|0]&&!((r=(m=c[p+296>>2])+((f=c[p+304>>2])>>>3|0)|0)>>>0>=(v=c[p+300>>2])>>>0)&&(b=k[0|r],r=f+1|0,c[p+304>>2]=r,T=b>>>(7&f)&1))switch(l=0,(U=m+(b=r>>>3|0)|0)>>>0>=v>>>0?(f=r,r=0):(U=k[0|U],f=f+2|0,c[p+304>>2]=f,b=f>>>3|0,r=U>>>(7&r)&1),(b=b+m|0)>>>0<v>>>0&&(b=k[0|b],c[p+304>>2]=f+1,l=b>>>(7&f)<<1&2),b=-1,(l=T|(r|l)<<1)-1|0){case 6:break v;case 0:break h;case 2:case 4:break R;default:break A}if((0|t)==(0|u)){b=-1;break A}if(f=-1,l=c[p+8>>2],I=c[l+24>>2],r=-1,-1!=(0|(i=c[(U=t-4|0)>>2]))&&(r=-1,-1!=(0|(m=((m=i+1|0)>>>0)%3|0?m:i-2|0))&&(r=c[c[l>>2]+(m<<2)>>2])),-1!=(0|(b=c[I+(r<<2)>>2]))&&(f=((f=b+1|0)>>>0)%3|0?f:b-2|0),(0|i)==(0|f)){b=-1;break A}if(-1!=(0|i)&&(b=-1,-1!=c[c[l+12>>2]+(i<<2)>>2]))break A;if(m=c[l+12>>2],-1!=(0|f)&&(b=-1,-1!=c[m+(f<<2)>>2]))break A;a=(v=y(a,3))+1|0,c[m+(i<<2)>>2]=a,c[(W=a<<2)+m>>2]=i,T=v+2|0,c[m+(f<<2)>>2]=T,c[(D=T<<2)+m>>2]=f,m=-1,a=-1;N:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(a=-1,-1==(0|(i=i+2|0)))break N;a=c[c[l>>2]+(i<<2)>>2]}if(i=a,-1!=(0|f)&&-1!=(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))&&(m=c[c[l>>2]+(a<<2)>>2]),b=-1,(0|r)==(0|i)|(0|r)==(0|m))break A;a=c[l>>2],c[a+(v<<2)>>2]=r,c[a+W>>2]=m,c[a+D>>2]=i,-1!=(0|i)&&(c[I+(i<<2)>>2]=T),i=c[p+120>>2]+(r>>>3&536870908)|0,a=c[i>>2],Q=i,g=Yi(r)&a,c[Q>>2]=g,c[U>>2]=v,i=u;break b}if((0|t)==(0|u))break A;if(i=c[(U=t-4|0)>>2],r=c[p+8>>2],f=c[r+12>>2],-1!=(0|i)&-1!=c[f+(i<<2)>>2])break A;if(v=5==(0|l),l=y(a,3),c[(W=(T=(v?2:1)+l|0)<<2)+f>>2]=i,c[f+(i<<2)>>2]=T,be(r+24|0,8324),f=c[p+8>>2],m=c[f+24>>2],c[f+28>>2]-m>>2>(0|w))break A;if(D=(f=c[f>>2])+W|0,W=((b=c[r+28>>2])-(r=c[r+24>>2])>>2)-1|0,c[D>>2]=W,(0|r)!=(0|b)&&(c[m+(W<<2)>>2]=T),b=v?l:l+2|0,v=f+(l+v<<2)|0,-1!=(0|i)){R:{N:{if((i>>>0)%3|0)r=i-1|0;else if(-1==(0|(r=i+2|0)))break N;if(r=c[f+(r<<2)>>2],c[f+(b<<2)>>2]=r,-1==(0|r))break R;c[m+(r<<2)>>2]=b;break R}c[f+(b<<2)>>2]=-1}r=-1,-1!=(0|(i=((b=i+1|0)>>>0)%3|0?b:i-2|0))&&(r=c[f+(i<<2)>>2])}else c[f+(b<<2)>>2]=-1,r=-1;c[v>>2]=r,c[U>>2]=l,i=u;break p}if((0|i)==(0|t))break A;m=c[(r=t-4|0)>>2],c[d+68>>2]=r;h:if(v=c[d+44>>2])if(b=c[d+40>>2],f=a&v+2147483647,(T=Ii(v)>>>0>1)&&((f=a)>>>0<v>>>0||(f=(a>>>0)%(v>>>0)|0)),f=c[b+((l=f)<<2)>>2])if(f=c[f>>2]){R:{if(!T){for(b=v-1|0;;){N:{if((0|(v=c[f+4>>2]))!=(0|a)){if((0|l)==(b&v))break N;t=r;break h}if((0|a)==c[f+8>>2])break R}if(!(f=c[f>>2]))break}t=r;break h}for(;;){N:{if((0|(b=c[f+4>>2]))!=(0|a)){if(b>>>0>=v>>>0&&(b=(b>>>0)%(v>>>0)|0),(0|b)==(0|l))break N;t=r;break h}if((0|a)==c[f+8>>2])break R}if(!(f=c[f>>2]))break}t=r;break h}if((0|r)==(0|V)){if((t=1+(u=(r=V-i|0)>>2)|0)>>>0>=1073741824)break m;if(b=r>>>1|0,b=r>>>0>=2147483644?1073741823:t>>>0<b>>>0?b:t){if(b>>>0>=1073741824)break a;r=vi(b<<2)}else r=0;if(c[(u=r+(u<<2)|0)>>2]=c[f+12>>2],t=u+4|0,(0|i)!=(0|V))for(;V=V-4|0,c[(u=u-4|0)>>2]=c[V>>2],(0|i)!=(0|V););V=r+(b<<2)|0,c[d+72>>2]=V,c[d+68>>2]=t,c[d+64>>2]=u,i&&er(i)}else c[r>>2]=c[f+12>>2],c[d+68>>2]=t}else t=r;else t=r;else t=r;if((0|t)==(0|u))break c;if((0|(i=c[(W=t-4|0)>>2]))==(0|m))break c;if(r=-1==(0|i),b=c[p+8>>2],!r&-1!=c[c[b+12>>2]+(i<<2)>>2])break c;if(v=c[b+12>>2],-1!=(0|m)&-1!=c[v+(m<<2)>>2])break c;if(U=(T=y(a,3))+2|0,c[v+(i<<2)>>2]=U,c[(a=U<<2)+v>>2]=i,f=T+1|0,c[v+(m<<2)>>2]=f,c[(D=f<<2)+v>>2]=m,r)break d;if((i>>>0)%3|0){f=i-1|0;break s}if(-1!=(0|(f=i+2|0)))break s;r=c[b>>2],f=-1;break _}if(be((l=c[p+8>>2])+24|0,8324),f=c[p+8>>2],r=y(a,3),U=(l=(T=(m=c[l+28>>2])-(v=c[l+24>>2])|0)>>2)-1|0,c[c[f>>2]+(r<<2)>>2]=U,be(f+24|0,8324),W=r+1|0,c[c[f>>2]+(W<<2)>>2]=(c[f+28>>2]-c[f+24>>2]>>2)-1,be((f=c[p+8>>2])+24|0,8324),D=r+2|0,c[c[f>>2]+(D<<2)>>2]=(c[f+28>>2]-c[f+24>>2]>>2)-1,Y=c[p+8>>2],f=c[Y+24>>2],c[Y+28>>2]-f>>2>(0|w))break A;if(((0|m)!=(0|v)&&(c[f+(U<<2)>>2]=r,b=0,-4==(0|T))||(c[f+(l<<2)>>2]=W,-1!=(0|(b=l+1|0))))&&(c[f+(b<<2)>>2]=D),(0|t)!=(0|V)){c[t>>2]=r,t=t+4|0,c[d+68>>2]=t;break p}if((f=1+(l=(u=t-i|0)>>2)|0)>>>0>=1073741824)break y;if(b=u>>>1|0,f=u>>>0>=2147483644?1073741823:f>>>0<b>>>0?b:f){if(f>>>0>=1073741824)break a;b=vi(f<<2)}else b=0;if(c[(u=b+(l<<2)|0)>>2]=r,V=b+(f<<2)|0,r=u+4|0,(0|i)!=(0|t))for(;t=t-4|0,c[(u=u-4|0)>>2]=c[t>>2],(0|i)!=(0|t););if(c[d+72>>2]=V,c[d+68>>2]=r,c[d+64>>2]=u,!i)break l;er(i);break l}mt(),o()}f=-1,r=c[b>>2],c[r+(T<<2)>>2]=-1,l=-1;break k}mt(),o()}t=r,i=u}if((0|(r=c[p+40>>2]))==c[p+36>>2])break b;if((l=c[4+(f=r-12|0)>>2])>>>0>(b=R+(-1^a)|0)>>>0)break c;if((0|b)!=(0|l))break b;if(l=k[r-4|0],a=c[f>>2],c[p+40>>2]=f,(0|a)<0)break c;r=c[(m=t-4|0)>>2],c[d+20>>2]=R+(-1^a),a=d+20|0,c[d+88>>2]=a,tr(d,d+40|0,a,d+88|0),f=c[d>>2];p:if(1&l){if(a=-1,-1==(0|r))break p;a=((a=r+1|0)>>>0)%3|0?a:r-2|0}else a=-1,-1!=(0|r)&&(a=r-1|0,(r>>>0)%3|0||(a=r+2|0));if(c[f+12>>2]=a,(0|(f=c[p+40>>2]))==c[p+36>>2])break b;for(;;){if((a=c[4+(r=f-12|0)>>2])>>>0>b>>>0)break c;if((0|b)!=(0|a))break b;if(f=k[f-4|0],a=c[r>>2],c[p+40>>2]=r,(0|a)<0)break c;r=c[m>>2],c[d+20>>2]=R+(-1^a),a=d+20|0,c[d+88>>2]=a,tr(d,d+40|0,a,d+88|0),l=c[d>>2];p:if(1&f){if(a=-1,-1==(0|r))break p;a=((a=r+1|0)>>>0)%3|0?a:r-2|0}else a=-1,-1!=(0|r)&&(a=r-1|0,(r>>>0)%3|0||(a=r+2|0));if(c[l+12>>2]=a,(0|(f=c[p+40>>2]))==c[p+36>>2])break}break b}r=c[b>>2],f=c[r+(f<<2)>>2]}c[(T<<2)+r>>2]=f,l=-1,-1!=(0|(i=((Y=i+1|0)>>>0)%3|0?Y:i-2|0))&&(l=c[(i<<2)+r>>2])}if(c[r+D>>2]=l,-1!=(0|m)){k:{_:{if((m>>>0)%3|0)i=m-1|0;else if(-1==(0|(i=m+2|0)))break _;if(i=c[(i<<2)+r>>2],c[r+a>>2]=i,-1==(0|i))break k;c[c[b+24>>2]+(i<<2)>>2]=U;break k}c[r+a>>2]=-1}l=-1,a=-1,-1!=(0|(i=((i=m+1|0)>>>0)%3|0?i:m-2|0))&&(l=c[(i<<2)+r>>2],a=i)}else c[r+a>>2]=-1,l=-1,a=-1;for(m=(i=c[b+24>>2])+(l<<2)|0,-1!=(0|f)&&(c[i+(f<<2)>>2]=c[m>>2]),i=a;;){if(-1==(0|i))break u;if(c[(i<<2)+r>>2]=f,b=-1,-1!=(0|(i=((U=i+1|0)>>>0)%3|0?U:i-2|0))&&(b=-1,-1!=(0|(i=c[v+(i<<2)>>2]))&&(b=((b=i+1|0)>>>0)%3|0?b:i-2|0)),(0|a)==(0|(i=b)))break}}if(b=-1,!I)break o;break A}if(c[m>>2]=-1,!B)if((0|G)==(0|E)){if((i=1+(f=(r=G-N|0)>>2)|0)>>>0>=1073741824)break f;if(a=r>>>1|0,a=r>>>0>=2147483644?1073741823:i>>>0<a>>>0?a:i){if(a>>>0>=1073741824)break a;r=vi(a<<2)}else r=0;if(c[(i=r+(f<<2)|0)>>2]=l,E=i+4|0,(0|N)!=(0|G))for(;G=G-4|0,c[(i=i-4|0)>>2]=c[G>>2],(0|N)!=(0|G););G=r+(a<<2)|0,c[d+32>>2]=G,c[d+28>>2]=E,c[d+24>>2]=i,N&&er(N),N=i}else c[E>>2]=l,E=E+4|0,c[d+28>>2]=E;c[W>>2]=T,i=u}if(I=(0|h)<(0|R),(0|h)==(0|R))break}h=R}if(b=-1,r=c[p+8>>2],!(c[r+28>>2]-c[r+24>>2]>>2>(0|w))){if((0|t)!=(0|u)){for(v=p+72|0,a=p+60|0,G=p+312|0;;){if(l=c[(t=t-4|0)>>2],c[d+68>>2]=t,Se(G)){if(V=c[p+8>>2],m=c[V>>2],((c[V+4>>2]-m>>2>>>0)/3|0)<=(0|h)){b=-1;break A}if(r=-1,b=-1,i=-1,E=c[V+24>>2],u=-1,-1!=(0|l)&&(u=-1,-1!=(0|(R=((R=l+1|0)>>>0)%3|0?R:l-2|0))&&(u=c[m+(R<<2)>>2])),-1!=(0|(N=c[E+((R=u)<<2)>>2]))?(f=1,u=-1,-1!=(0|(N=((T=N+1|0)>>>0)%3|0?T:N-2|0))&&(f=0,u=-1!=(0|(u=((u=(r=N)+1|0)>>>0)%3|0?u:r-2|0))?c[m+(u<<2)>>2]:-1)):(f=1,u=-1),-1!=(0|(N=c[(u<<2)+E>>2]))&&(i=((i=N+1|0)>>>0)%3|0?i:N-2|0),(0|r)==(0|l)|(0|i)==(0|l)|-1!=(0|l)&-1!=c[c[V+12>>2]+(l<<2)>>2]|(0|r)==(0|i))break A;if(!f&-1!=c[c[V+12>>2]+(r<<2)>>2])break A;if(f=-1,N=c[V+12>>2],V=-1,-1!=(0|i)){if(-1!=c[N+(i<<2)>>2])break A;V=-1,-1!=(0|(b=((b=i+1|0)>>>0)%3|0?b:i-2|0))&&(V=c[m+(b<<2)>>2])}b=y(h,3),c[d>>2]=b,c[N+(b<<2)>>2]=l,c[N+(l<<2)>>2]=b,b=c[d>>2]+1|0,c[N+(b<<2)>>2]=r,c[N+(r<<2)>>2]=b,r=c[d>>2]+2|0,c[N+(r<<2)>>2]=i,c[N+(i<<2)>>2]=r,r=c[d>>2],c[m+(r<<2)>>2]=u,c[(b=m+((i=r+1|0)<<2)|0)>>2]=V,c[(l=m+((N=r+2|0)<<2)|0)>>2]=R,r=c[p+120>>2],m=c[(R=r+((u=i?u:-1)>>>3&536870908)|0)>>2],Q=R,g=Yi(u)&m,c[Q>>2]=g,f=-1!=(0|i)?c[b>>2]:f,u=c[(i=r+(f>>>3&536870908)|0)>>2],Q=i,g=Yi(f)&u,c[Q>>2]=g,i=-1,i=-1!=(0|N)?c[l>>2]:i,u=c[(r=r+(i>>>3&536870908)|0)>>2],Q=r,g=Yi(i)&u,c[Q>>2]=g,n[d+88|0]=1,Ve(a,d+88|0),be(v,d),h=h+1|0,u=c[d+64>>2]}else{if((0|(i=c[p+64>>2]))==(r=c[p+68>>2])<<5){if((i+1|0)<0)break t;nr(a,r=i>>>0<=1073741822?(r<<=6)>>>0>(i=32+(-32&i)|0)>>>0?r:i:2147483647),i=c[p+64>>2]}if(c[p+64>>2]=i+1,r=c[p+60>>2]+(i>>>3&536870908)|0,f=c[r>>2],Q=r,g=Yi(i)&f,c[Q>>2]=g,(0|(i=c[p+76>>2]))==c[p+80>>2]){if((f=1+(N=(r=i-(b=c[v>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(R=r>>>1|0,R=r>>>0>=2147483644?1073741823:f>>>0<R>>>0?R:f){if(R>>>0>=1073741824)break a;r=vi(R<<2)}else r=0;if(c[(f=r+(N<<2)|0)>>2]=l,N=f+4|0,(0|i)!=(0|b))for(;i=i-4|0,c[(f=f-4|0)>>2]=c[i>>2],(0|i)!=(0|b););c[p+80>>2]=r+(R<<2),c[p+76>>2]=N,c[p+72>>2]=f,b&&er(b)}else c[i>>2]=l,c[p+76>>2]=i+4}if((0|t)==(0|u))break}r=c[p+8>>2]}if(b=-1,((c[r+4>>2]-c[r>>2]>>2>>>0)/3|0)==(0|h)){if(b=c[r+28>>2]-c[r+24>>2]>>2,(0|(t=c[d+24>>2]))==(0|(R=c[d+28>>2])))break n;for(;;){if(u=c[t>>2],a=c[r+24>>2],-1==c[(f=a+((i=b-1|0)<<2)|0)>>2])for(;i=b-2|0,b=b-1|0,-1==c[(f=a+(i<<2)|0)>>2];);if(i>>>0>=u>>>0){if(c[d>>2]=r,f=c[f>>2],n[d+12|0]=1,c[d+8>>2]=f,c[d+4>>2]=f,-1!=(0|f)){for(;;){if(r=c[c[p+8>>2]>>2]+(f<<2)|0,c[r>>2]!=(0|i)){b=-1;break A}if(c[r>>2]=u,Mr(d),-1==(0|(f=c[d+8>>2])))break}r=c[p+8>>2]}a=(h=c[r+24>>2])+(i<<2)|0,-1!=(0|u)&&(c[h+(u<<2)>>2]=c[a>>2]),c[a>>2]=-1,a=1<<u,u=(h=c[p+120>>2])+(u>>>3&536870908)|0,i=(f=1<<i)&c[(h=h+(i>>>3&536870908)|0)>>2]?a|c[u>>2]:c[u>>2]&(-1^a),c[u>>2]=i,c[h>>2]=c[h>>2]&(-1^f),b=b-1|0}if((0|R)==(0|(t=t+4|0)))break}}}}t=c[d+24>>2]}if(t&&er(t),r=c[d+48>>2])for(;t=c[r>>2],er(r),r=t;);r=c[d+40>>2],c[d+40>>2]=0,r&&er(r),(r=c[d+64>>2])&&(c[d+68>>2]=r,er(r)),Z=d+96|0,r=b;break e}Zi(),o()}mt(),o()}mt(),o()}mt(),o()}if(i=r,-1!=(0|r)){u=(t=c[(r=J)+16>>2])+c[r>>2]|0,t=c[r+8>>2]-t|0,r=c[c[p+4>>2]+32>>2],A[r+38>>1]=_[r+38>>1],c[r>>2]=u,c[r+16>>2]=0,c[r+20>>2]=0,c[r+8>>2]=t,c[r+12>>2]=0;e:if(c[p+216>>2]!=c[p+220>>2]&&(r=c[p+8>>2],c[r+4>>2]!=c[r>>2])){for(t=0;;){if(cr(p,t)){if(t=t+3|0,r=c[p+8>>2],t>>>0<c[r+4>>2]-c[r>>2]>>2>>>0)continue;break e}break}break r}if(k[p+308|0]&&(n[p+308|0]=0,u=c[p+292>>2],r=0,t=(r=(a=c[p+304>>2]+7|0)>>>0<7?1:r)>>>3|0,r=(h=r<<29|a>>>3)+c[p+288>>2]|0,a=t+u|0,c[p+288>>2]=r,c[p+292>>2]=r>>>0<h>>>0?a+1|0:a),(0|(t=c[p+216>>2]))!=c[p+220>>2])for(r=0;;){if(Vr(4+((a=y(r,144))+t|0)|0,c[p+8>>2]),u=c[F>>2],(0|(t=c[132+(h=u+a|0)>>2]))!=(0|(h=c[h+136>>2]))){for(;Yr(4+(a+c[F>>2]|0)|0,c[t>>2]),(0|h)!=(0|(t=t+4|0)););u=c[F>>2]}if(!q(4+(u+a|0)|0))break r;if(r=r+1|0,t=c[p+216>>2],!(r>>>0<(c[p+220>>2]-t|0)/144>>>0))break}if(r=c[p+8>>2],ce(p+184|0,c[r+28>>2]-c[r+24>>2]>>2),(0|(u=c[p+216>>2]))!=c[p+220>>2])for(t=0;r=y(t,144)+u|0,u=c[r+60>>2]-c[r+56>>2]>>2,a=r+104|0,r=c[p+8>>2],ce(a,(0|(r=c[r+28>>2]-c[r+24>>2]>>2))<(0|u)?u:r),t=t+1|0,u=c[p+216>>2],t>>>0<(c[p+220>>2]-u|0)/144>>>0;);M=j(p,i)}}}return Z=e- -64|0,0|M},ct,tt,rt,Rr,function(r){er(Rr(r|=0))},Pi,fe,Ae,J,function(r){var e,i=0,t=0,f=0,a=0,b=0,u=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,I=0,Y=0,w=0,J=0,B=0,M=0,Q=0,g=0,O=0,C=0,z=0;if(Z=e=Z+-64|0,c[132+(r|=0)>>2]=0,c[r+148>>2]){if(i=c[r+144>>2])for(;b=c[i>>2],er(i),i=b;);if(i=0,c[r+144>>2]=0,b=c[r+140>>2]){if(b>>>0>=4)for(t=-4&b;c[(a=i<<2)+c[r+136>>2]>>2]=0,c[c[r+136>>2]+(4|a)>>2]=0,c[c[r+136>>2]+(8|a)>>2]=0,c[c[r+136>>2]+(12|a)>>2]=0,i=i+4|0,(0|t)!=(0|(f=f+4|0)););if(b&=3)for(f=0;c[c[r+136>>2]+(i<<2)>>2]=0,i=i+1|0,(0|b)!=(0|(f=f+1|0)););}c[r+148>>2]=0}r:{if(Ie(1,e+60|0,c[c[r+4>>2]+32>>2])&&(c[r+156>>2]=c[e+60>>2],Ie(1,e+56|0,c[c[r+4>>2]+32>>2])&&!((a=c[e+56>>2])>>>0>1431655765|s[r+156>>2]>y(a,3)>>>0)&&(i=c[c[r+4>>2]+32>>2],t=c[i+8>>2],!((0|(m=c[i+12>>2]))<=(0|(f=c[i+20>>2]))&(b=c[i+16>>2])>>>0>=t>>>0|(0|f)>(0|m))&&(m=k[b+c[i>>2]|0],f=(b=b+1|0)?f:f+1|0,c[i+16>>2]=b,c[i+20>>2]=f,Ie(1,e+52|0,i)&&!((V=c[e+52>>2])>>>0>a>>>0|a>>>0>V+((V>>>0)/3|0)>>>0)&&Ie(1,e+48|0,c[c[r+4>>2]+32>>2])&&!((f=c[e+48>>2])>>>0>V>>>0)&&(c[r+28>>2]=c[r+24>>2],b=Ue(vi(88)),i=c[r+8>>2],c[r+8>>2]=b,(!i||(ge(i),c[r+8>>2]))&&(c[r+164>>2]=c[r+160>>2],Le(r+160|0,a),c[r+176>>2]=c[r+172>>2],Le(r+172|0,a),c[r- -64>>2]=0,c[r+92>>2]=-1,c[r+84>>2]=-1,c[r+88>>2]=-1,c[r+40>>2]=c[r+36>>2],c[r+52>>2]=c[r+48>>2],c[r+76>>2]=c[r+72>>2],Qe(w=r+216|0),K(w,m),qr(c[r+8>>2],a,f+c[r+156>>2]|0)&&(i=c[r+156>>2],n[e+8|0]=1,xr(r+120|0,i+f|0,e+8|0),-1!=(0|kr(r,c[c[r+4>>2]+32>>2]))))))))){c[144+(i=t=r+232|0)>>2]=r,b=c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2],b=c[b>>2]+c[b+16>>2]|0,a=c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2],a=c[a+8>>2]-c[a+16>>2]|0,C=i,z=_[c[32+(0|Zt[c[c[r>>2]+32>>2]](r))>>2]+38>>1],A[C+38>>1]=z,c[i>>2]=b,c[i+16>>2]=0,c[i+20>>2]=0,c[i+8>>2]=a,c[i+12>>2]=0,C=i,z=0|Zt[c[c[r>>2]+36>>2]](r),c[C+148>>2]=z,c[r+372>>2]=m,c[r+384>>2]=f+c[r+156>>2],m=Q=pi(e+8|0),b=0,Z=d=Z-16|0;e:if(Er(i+80|0,i)&&$r(t)&&(i=c[t+4>>2],c[m>>2]=c[t>>2],c[m+4>>2]=i,i=c[t+36>>2],c[m+32>>2]=c[t+32>>2],c[m+36>>2]=i,i=c[t+28>>2],c[m+24>>2]=c[t+24>>2],c[m+28>>2]=i,i=c[t+20>>2],c[m+16>>2]=c[t+16>>2],c[m+20>>2]=i,i=c[t+12>>2],c[m+8>>2]=c[t+8>>2],c[m+12>>2]=i,c[t+176>>2]=2,c[t+180>>2]=7,!((0|(i=c[t+152>>2]))<0))){if(c[d+12>>2]=0,b=2,p=c[t+156>>2],(a=c[t+160>>2]-p>>2)>>>0<i>>>0?(Nr(t+156|0,i-a|0,d+12|0),b=c[t+176>>2],f=c[t+180>>2]):(f=7,i>>>0>=a>>>0||(c[t+160>>2]=p+(i<<2))),a=t+184|0,(f=1+(f-b|0)|0)>>>0>(W=((i=c[t+188>>2])-(b=c[t+184>>2])|0)/12|0)>>>0){if(p=0,(i=f-W|0)>>>0<=((N=c[a+8>>2])-(b=c[a+4>>2])|0)/12>>>0)i&&(b=Sr(b,0,i=12+((i=y(i,12)-12|0)-((i>>>0)%12|0)|0)|0)+i|0),c[a+4>>2]=b;else{i:{t:{f:{if((f=(u=(b-(W=c[a>>2])|0)/12|0)+i|0)>>>0<357913942){if(l=(N=(N-W|0)/12|0)<<1,N=N>>>0>=178956970?357913941:f>>>0<l>>>0?l:f){if(N>>>0>=357913942)break f;p=vi(y(N,12))}if(u=(i=Sr(f=y(u,12)+p|0,0,u=12+((i=y(i,12)-12|0)-((i>>>0)%12|0)|0)|0))+u|0,p=y(N,12)+p|0,(0|b)==(0|W))break t;for(;b=b-12|0,c[(f=f-12|0)>>2]=c[b>>2],c[f+4>>2]=c[b+4>>2],c[f+8>>2]=c[b+8>>2],c[b+8>>2]=0,c[b>>2]=0,c[b+4>>2]=0,(0|b)!=(0|W););if(c[a+8>>2]=p,i=c[a+4>>2],c[a+4>>2]=u,b=c[a>>2],c[a>>2]=f,(0|i)==(0|b))break i;for(;(p=c[(f=i-12|0)>>2])&&(c[i-8>>2]=p,er(p)),(0|b)!=(0|(i=f)););break i}break r}Zi(),o()}c[a+8>>2]=p,c[a+4>>2]=u,c[a>>2]=i}b&&er(b)}f=c[t+188>>2]}else if(f>>>0>=W>>>0)f=i;else{if((0|(f=b+y(f,12)|0))!=(0|i))for(;(p=c[(b=i-12|0)>>2])&&(c[i-8>>2]=p,er(p)),(0|f)!=(0|(i=b)););c[t+188>>2]=f}if(W=t+196|0,i=(f-(b=c[t+184>>2])|0)/12|0,N=c[t+196>>2],i>>>0>(p=c[t+200>>2]-N>>2)>>>0?(_e(W,i-p|0),b=c[t+184>>2],f=c[t+188>>2]):i>>>0>=p>>>0||(c[t+200>>2]=N+(i<<2)),(0|f)!=(0|b)){for(i=0;;){if(Ie(1,d+8|0,m)&&(b=c[d+8>>2],f=c[t+148>>2],!(b>>>0>(c[f+4>>2]-c[f>>2]>>2>>>0)/3>>>0))){if(b&&(p=(u=y(i,12))+c[a>>2]|0,f=c[p>>2],(N=c[p+4>>2]-f>>2)>>>0<b>>>0?(_e(p,b-N|0),f=c[u+c[a>>2]>>2]):b>>>0>=N>>>0||(c[p+4>>2]=(b<<2)+f),F(b,1,m,f),c[c[W>>2]+(i<<2)>>2]=b),b=1,(i=i+1|0)>>>0<(c[t+188>>2]-c[t+184>>2]|0)/12>>>0)continue;break e}break}b=0}else b=1}Z=d+16|0;e:if(b){a=0,t=0,f=0,i=0,m=0,b=0,W=0,N=0,Z=v=Z-96|0,c[v+72>>2]=0,c[v+64>>2]=0,c[v+68>>2]=0,c[v+48>>2]=0,c[v+52>>2]=0,c[v+40>>2]=0,c[v+44>>2]=0,c[v+56>>2]=1065353216,c[v+32>>2]=0,c[v+24>>2]=0,c[v+28>>2]=0,d=r,B=c[r+124>>2];i:{t:{f:{a:{n:if(!((0|V)<=0)){M=d+232|0,g=c[d+216>>2]!=c[d+220>>2],J=1;A:{for(;;){W=(p=W)+1|0;o:{b:{u:{if(-1!=(0|(u=c[d+404>>2]))){if(r=-1,l=c[d+428>>2]+(u<<2)|0,u=(h=c[l>>2])-1|0,c[l>>2]=u,(0|h)<=0)break a;if((u=c[c[c[d+416>>2]+y(c[d+404>>2],12)>>2]+(u<<2)>>2])>>>0>4)break a;if(l=c[8896+(u<<2)>>2],c[d+400>>2]=l,!u){if((0|i)==(0|t))break a;if(l=-1,h=c[d+8>>2],J=c[h+24>>2],u=-1,-1!=(0|(a=c[(D=t-4|0)>>2]))&&(u=-1,-1!=(0|(T=((T=a+1|0)>>>0)%3|0?T:a-2|0))&&(u=c[c[h>>2]+(T<<2)>>2])),-1!=(0|(R=c[J+(u<<2)>>2]))&&(l=((l=R+1|0)>>>0)%3|0?l:R-2|0),-1!=(0|a)&-1!=c[c[h+12>>2]+(a<<2)>>2]|(0|a)==(0|l))break a;if(R=c[h+12>>2],-1!=(0|l)&-1!=c[R+(l<<2)>>2])break a;p=(T=y(p,3))+1|0,c[R+(a<<2)>>2]=p,c[(E=p<<2)+R>>2]=a,U=T+2|0,c[R+(l<<2)>>2]=U,c[(G=U<<2)+R>>2]=l,R=-1,p=-1;c:if(-1!=(0|a)){if((a>>>0)%3|0)a=a-1|0;else if(p=-1,-1==(0|(a=a+2|0)))break c;p=c[c[h>>2]+(a<<2)>>2]}if(a=p,-1!=(0|l)&&-1!=(0|(p=((p=l+1|0)>>>0)%3|0?p:l-2|0))&&(R=c[c[h>>2]+(p<<2)>>2]),(0|a)==(0|u)|(0|u)==(0|R))break a;r=c[h>>2],c[r+(T<<2)>>2]=u,c[r+E>>2]=R,c[r+G>>2]=a,-1!=(0|a)&&(c[J+(a<<2)>>2]=U),r=c[d+120>>2]+(u>>>3&536870908)|0,a=c[r>>2],C=r,z=Yi(u)&a,c[C>>2]=z,c[D>>2]=T,a=i,lr(M,T);break o}c:switch(l-1|0){case 2:case 4:if((0|i)==(0|t))break a;if(a=c[(U=t-4|0)>>2],l=c[d+8>>2],h=c[l+12>>2],-1!=(0|a)&-1!=c[h+(a<<2)>>2])break a;if(t=y(p,3),c[(D=(u=t+((R=3==(0|u))?2:1)|0)<<2)+h>>2]=a,c[h+(a<<2)>>2]=u,be(l+24|0,8324),T=c[d+8>>2],h=c[T+24>>2],c[T+28>>2]-h>>2>(0|B))break a;if(G=(r=c[T>>2])+D|0,D=((T=c[l+28>>2])-(l=c[l+24>>2])>>2)-1|0,c[G>>2]=D,(0|l)!=(0|T)&&(c[h+(D<<2)>>2]=u),u=R?t:t+2|0,G=r+(t+R<<2)|0,-1!=(0|a)){k:{_:{if((a>>>0)%3|0)l=a-1|0;else if(-1==(0|(l=a+2|0)))break _;if(l=c[r+(l<<2)>>2],c[r+(u<<2)>>2]=l,-1==(0|l))break k;c[h+(l<<2)>>2]=u;break k}c[r+(u<<2)>>2]=-1}a=((l=a+1|0)>>>0)%3|0?l:a-2|0,l=-1,-1!=(0|a)&&(l=c[r+(a<<2)>>2])}else c[r+(u<<2)>>2]=-1,l=-1;c[G>>2]=l,c[U>>2]=t,a=i;break b;case 6:break u;case 0:break c;default:break a}if((0|a)==(0|t))break a;h=c[(b=t-4|0)>>2],c[v+68>>2]=b;c:if((R=c[v+44>>2])&&(u=c[v+40>>2],r=p&R+2147483647,(T=Ii(R)>>>0>1)&&((r=p)>>>0<R>>>0||(r=(p>>>0)%(R>>>0)|0)),(r=c[u+((l=r)<<2)>>2])&&(r=c[r>>2]))){k:{if(!T){for(u=R-1|0;;){_:{if((0|(R=c[r+4>>2]))!=(0|p)){if((0|l)==(u&R))break _;break c}if((0|p)==c[r+8>>2])break k}if(!(r=c[r>>2]))break}break c}for(;;){_:{if((0|(u=c[r+4>>2]))!=(0|p)){if(u>>>0>=R>>>0&&(u=(u>>>0)%(R>>>0)|0),(0|u)==(0|l))break _;break c}if((0|p)==c[r+8>>2])break k}if(!(r=c[r>>2]))break}break c}if((0|b)==(0|m)){if((f=1+(t=(i=m-a|0)>>2)|0)>>>0>=1073741824)break r;if(b=i>>>1|0,f=i>>>0>=2147483644?1073741823:f>>>0<b>>>0?b:f){if(f>>>0>=1073741824)break t;b=vi(f<<2)}else b=0;if(c[(i=b+(t<<2)|0)>>2]=c[r+12>>2],f=b+(f<<2)|0,b=i+4|0,(0|a)!=(0|m))for(;m=m-4|0,c[(i=i-4|0)>>2]=c[m>>2],(0|a)!=(0|m););c[v+72>>2]=f,c[v+68>>2]=b,c[v+64>>2]=i,a&&er(a),a=i,m=f}else c[b>>2]=c[r+12>>2],c[v+68>>2]=t,b=t}if((0|a)==(0|b))break A;if((0|(r=c[(E=b-4|0)>>2]))==(0|h))break A;if(l=-1==(0|r),u=c[d+8>>2],!l&-1!=c[c[u+12>>2]+(r<<2)>>2])break A;if(R=c[u+12>>2],-1!=(0|h)&-1!=c[R+(h<<2)>>2])break A;D=(T=y(p,3))+2|0,c[R+(r<<2)>>2]=D,c[(t=D<<2)+R>>2]=r,p=T+1|0,c[R+(h<<2)>>2]=p,c[(G=p<<2)+R>>2]=h;c:{k:{_:{if(!l){if((r>>>0)%3|0){p=r-1|0;break _}if(-1!=(0|(p=r+2|0)))break _;l=c[u>>2],p=-1;break k}p=-1,l=c[u>>2],c[l+(T<<2)>>2]=-1,U=-1;break c}l=c[u>>2],p=c[l+(p<<2)>>2]}c[(T<<2)+l>>2]=p,r=((U=r+1|0)>>>0)%3|0?U:r-2|0,U=-1,-1!=(0|r)&&(U=c[(r<<2)+l>>2])}if(c[l+G>>2]=U,-1!=(0|h)){c:{k:{if((h>>>0)%3|0)r=h-1|0;else if(-1==(0|(r=h+2|0)))break k;if(r=c[(r<<2)+l>>2],c[t+l>>2]=r,-1==(0|r))break c;c[c[u+24>>2]+(r<<2)>>2]=D;break c}c[t+l>>2]=-1}U=-1,t=-1,-1!=(0|(r=((r=h+1|0)>>>0)%3|0?r:h-2|0))&&(U=c[(r<<2)+l>>2],t=r)}else c[t+l>>2]=-1,U=-1,t=-1;for(h=(r=c[d+388>>2])+(D=p<<2)|0,G=r,r=U<<2,c[h>>2]=c[h>>2]+c[G+r>>2],h=(G=r)+(r=c[u+24>>2])|0,-1!=(0|p)&&(c[r+D>>2]=c[h>>2]),r=t;;){if(-1!=(0|r)){if(c[(r<<2)+l>>2]=p,u=-1,-1!=(0|(r=((D=r+1|0)>>>0)%3|0?D:r-2|0))&&(u=-1,-1!=(0|(r=c[R+(r<<2)>>2]))&&(u=((u=r+1|0)>>>0)%3|0?u:r-2|0)),(0|t)!=(0|(r=u)))continue;break A}break}c[h>>2]=-1;c:{if(!g)if((0|I)==(0|Y)){if((t=1+(u=(r=I-N|0)>>2)|0)>>>0>=1073741824)break c;if(p=r>>>1|0,p=r>>>0>=2147483644?1073741823:t>>>0<p>>>0?p:t){if(p>>>0>=1073741824)break t;t=vi(p<<2)}else t=0;if(c[(r=t+(u<<2)|0)>>2]=U,Y=r+4|0,(0|N)!=(0|I))for(;I=I-4|0,c[(r=r-4|0)>>2]=c[I>>2],(0|N)!=(0|I););I=t+(p<<2)|0,c[v+32>>2]=I,c[v+28>>2]=Y,c[v+24>>2]=r,N&&er(N),N=r}else c[Y>>2]=U,Y=Y+4|0,c[v+28>>2]=Y;c[E>>2]=T,t=b,lr(M,T);break o}break r}c[d+400>>2]=7}if(be((u=c[d+8>>2])+24|0,8324),r=-1,m=c[d+8>>2],b=y(p,3),T=(u=(R=(l=c[u+28>>2])-(h=c[u+24>>2])|0)>>2)-1|0,c[c[m>>2]+(b<<2)>>2]=T,be(m+24|0,8324),U=b+1|0,c[c[m>>2]+(U<<2)>>2]=(c[m+28>>2]-c[m+24>>2]>>2)-1,be((m=c[d+8>>2])+24|0,8324),D=b+2|0,c[c[m>>2]+(D<<2)>>2]=(c[m+28>>2]-c[m+24>>2]>>2)-1,E=c[d+8>>2],m=c[E+24>>2],c[E+28>>2]-m>>2>(0|B))break a;if(((0|l)!=(0|h)&&(c[m+(T<<2)>>2]=b,r=0,-4==(0|R))||(c[m+(u<<2)>>2]=U,-1!=(0|(r=u+1|0))))&&(c[m+(r<<2)>>2]=D),(0|f)==(0|t)){if((a=1+(m=(r=f-i|0)>>2)|0)>>>0>=1073741824)break r;if(t=r>>>1|0,r=r>>>0>=2147483644?1073741823:a>>>0<t>>>0?t:a){if(r>>>0>=1073741824)break t;t=vi(r<<2)}else t=0;if(c[(a=t+(m<<2)|0)>>2]=b,m=t+(r<<2)|0,b=a+4|0,(0|i)!=(0|f))for(;f=f-4|0,c[(a=a-4|0)>>2]=c[f>>2],(0|i)!=(0|f););c[v+72>>2]=m,c[v+68>>2]=b,c[v+64>>2]=a,i&&er(i),f=m,i=a}else c[t>>2]=b,b=t+4|0,c[v+68>>2]=b,m=f}lr(M,c[b-4>>2]);b:if((0|(r=c[d+40>>2]))!=c[d+36>>2]){if((u=c[4+(t=r-12|0)>>2])>>>0>(p=V+(-1^p)|0)>>>0)break A;if((0|u)==(0|p)){if(l=k[r-4|0],u=c[t>>2],c[d+40>>2]=t,(0|u)<0)break A;r=c[(h=b-4|0)>>2],c[v+20>>2]=V+(-1^u),t=v+20|0,c[v+88>>2]=t,tr(v,v+40|0,t,v+88|0),u=c[v>>2];u:if(1&l){if(t=-1,-1==(0|r))break u;t=((t=r+1|0)>>>0)%3|0?t:r-2|0}else t=-1,-1!=(0|r)&&(t=r-1|0,(r>>>0)%3|0||(t=r+2|0));if(c[u+12>>2]=t,(0|(r=c[d+40>>2]))!=c[d+36>>2])for(;;){if((u=c[4+(t=r-12|0)>>2])>>>0>p>>>0)break A;if((0|u)!=(0|p))break b;if(l=k[r-4|0],u=c[t>>2],c[d+40>>2]=t,(0|u)<0)break A;r=c[h>>2],c[v+20>>2]=V+(-1^u),t=v+20|0,c[v+88>>2]=t,tr(v,v+40|0,t,v+88|0),u=c[v>>2];u:if(1&l){if(t=-1,-1==(0|r))break u;t=((t=r+1|0)>>>0)%3|0?t:r-2|0}else t=-1,-1!=(0|r)&&(t=r-1|0,(r>>>0)%3|0||(t=r+2|0));if(c[u+12>>2]=t,(0|(r=c[d+40>>2]))==c[d+36>>2])break}}}t=b}if(J=(0|V)>(0|W),(0|V)==(0|W))break}W=V;break n}if(r=-1,J)break a}if(r=-1,t=c[d+8>>2],!(c[t+28>>2]-c[t+24>>2]>>2>(0|B))){if((0|i)!=(0|b)){for(h=d+72|0,m=d+60|0,R=d+312|0;;){if(V=c[(b=b-4|0)>>2],c[v+68>>2]=b,Se(R)){if(u=c[d+8>>2],N=c[u>>2],((c[u+4>>2]-N>>2>>>0)/3|0)<=(0|W)){r=-1;break a}if(i=-1,l=c[u+24>>2],r=-1,-1!=(0|V)&&(r=-1,-1!=(0|(a=((a=V+1|0)>>>0)%3|0?a:V-2|0))&&(r=c[N+(a<<2)>>2])),-1!=(0|(r=c[l+((a=r)<<2)>>2]))?(p=1,t=-1,-1!=(0|(r=((f=r+1|0)>>>0)%3|0?f:r-2|0))&&(p=0,-1!=(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&(t=c[N+(i<<2)>>2]),i=r)):(p=1,t=-1),r=-1,f=-1,-1!=(0|(l=c[l+(t<<2)>>2]))&&(f=((f=l+1|0)>>>0)%3|0?f:l-2|0),(0|i)==(0|V)|(0|f)==(0|V)|-1!=(0|V)&-1!=c[c[u+12>>2]+(V<<2)>>2]|(0|i)==(0|f))break a;if(!p&-1!=c[c[u+12>>2]+(i<<2)>>2])break a;if(p=-1,u=c[u+12>>2],l=-1,-1!=(0|f)){if(-1!=c[u+(f<<2)>>2])break a;l=-1,-1!=(0|(r=((r=f+1|0)>>>0)%3|0?r:f-2|0))&&(l=c[N+(r<<2)>>2])}r=y(W,3),c[v>>2]=r,c[u+(r<<2)>>2]=V,c[u+(V<<2)>>2]=r,r=c[v>>2]+1|0,c[u+(r<<2)>>2]=i,c[u+(i<<2)>>2]=r,r=c[v>>2]+2|0,c[u+(r<<2)>>2]=f,c[u+(f<<2)>>2]=r,r=c[v>>2],c[N+(r<<2)>>2]=t,c[(f=N+((i=r+1|0)<<2)|0)>>2]=l,c[(N=N+((V=r+2|0)<<2)|0)>>2]=a,r=c[d+120>>2],u=c[(t=r+((a=i?t:-1)>>>3&536870908)|0)>>2],C=t,z=Yi(a)&u,c[C>>2]=z,p=-1!=(0|i)?c[f>>2]:p,f=c[(i=r+(p>>>3&536870908)|0)>>2],C=i,z=Yi(p)&f,c[C>>2]=z,f=-1,f=-1!=(0|V)?c[N>>2]:f,i=c[(r=r+(f>>>3&536870908)|0)>>2],C=r,z=Yi(f)&i,c[C>>2]=z,n[v+88|0]=1,Ve(m,v+88|0),be(h,v),W=W+1|0,i=c[v+64>>2]}else{if((0|(f=c[d+64>>2]))==(r=c[d+68>>2])<<5){if((f+1|0)<0)break r;nr(m,r=f>>>0<=1073741822?(r<<=6)>>>0>(f=32+(-32&f)|0)>>>0?r:f:2147483647),f=c[d+64>>2]}if(c[d+64>>2]=f+1,r=c[d+60>>2]+(f>>>3&536870908)|0,a=c[r>>2],C=r,z=Yi(f)&a,c[C>>2]=z,(0|(f=c[d+76>>2]))==c[d+80>>2]){if((a=1+(N=(r=f-(t=c[h>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(p=r>>>1|0,p=r>>>0>=2147483644?1073741823:a>>>0<p>>>0?p:a){if(p>>>0>=1073741824)break t;r=vi(p<<2)}else r=0;if(c[(a=r+(N<<2)|0)>>2]=V,V=a+4|0,(0|f)!=(0|t))for(;f=f-4|0,c[(a=a-4|0)>>2]=c[f>>2],(0|f)!=(0|t););c[d+80>>2]=r+(p<<2),c[d+76>>2]=V,c[d+72>>2]=a,t&&er(t)}else c[f>>2]=V,c[d+76>>2]=f+4}if((0|i)==(0|b))break}t=c[d+8>>2]}if(r=-1,((c[t+4>>2]-c[t>>2]>>2>>>0)/3|0)==(0|W)){if(r=c[t+28>>2]-c[t+24>>2]>>2,(0|(b=c[v+24>>2]))==(0|(p=c[v+28>>2])))break f;for(;;){if(i=c[b>>2],m=c[t+24>>2],-1==c[(a=m+((f=r-1|0)<<2)|0)>>2])for(;f=r-2|0,r=r-1|0,-1==c[(a=m+(f<<2)|0)>>2];);if(i>>>0<=f>>>0){if(c[v>>2]=t,a=c[a>>2],n[v+12|0]=1,c[v+8>>2]=a,c[v+4>>2]=a,-1!=(0|a)){for(;;){if(a=c[c[d+8>>2]>>2]+(a<<2)|0,c[a>>2]!=(0|f)){r=-1;break a}if(c[a>>2]=i,Mr(v),-1==(0|(a=c[v+8>>2])))break}t=c[d+8>>2]}a=(m=c[t+24>>2])+(f<<2)|0,-1!=(0|i)&&(c[m+(i<<2)>>2]=c[a>>2]),c[a>>2]=-1,a=1<<i,i=(m=c[d+120>>2])+(i>>>3&536870908)|0,m=m+(f>>>3&536870908)|0,f=1<<f,c[m>>2]&f?a|=c[i>>2]:a=c[i>>2]&(-1^a),c[i>>2]=a,c[m>>2]=c[m>>2]&(-1^f),r=r-1|0}if((0|p)==(0|(b=b+4|0)))break}}}}b=c[v+24>>2]}if(b&&er(b),i=c[v+48>>2])for(;f=c[i>>2],er(i),i=f;);i=c[v+40>>2],c[v+40>>2]=0,i&&er(i),(i=c[v+64>>2])&&(c[v+68>>2]=i,er(i)),Z=v+96|0;break i}Zi(),o()}if(b=r,-1!=(0|r)){f=(i=c[(r=Q)+16>>2])+c[r>>2]|0,i=c[r+8>>2]-i|0,r=c[c[d+4>>2]+32>>2],A[r+38>>1]=_[r+38>>1],c[r>>2]=f,c[r+16>>2]=0,c[r+20>>2]=0,c[r+8>>2]=i,c[r+12>>2]=0;i:if(c[d+216>>2]!=c[d+220>>2]&&(r=c[d+8>>2],c[r+4>>2]!=c[r>>2])){for(i=0;;){if(cr(d,i)){if(i=i+3|0,r=c[d+8>>2],i>>>0<c[r+4>>2]-c[r>>2]>>2>>>0)continue;break i}break}break e}if(k[d+308|0]&&(n[d+308|0]=0,f=c[d+292>>2],r=0,i=(a=(r=(a=c[d+304>>2]+7|0)>>>0<7?1:r)<<29|a>>>3)+c[d+288>>2]|0,r=(r>>>3|0)+f|0,c[d+288>>2]=i,c[d+292>>2]=i>>>0<a>>>0?r+1|0:r),(0|(i=c[d+216>>2]))!=c[d+220>>2])for(r=0;;){if(Vr(4+((a=y(r,144))+i|0)|0,c[d+8>>2]),f=c[w>>2],(0|(i=c[132+(t=f+a|0)>>2]))!=(0|(t=c[t+136>>2]))){for(;Yr(4+(a+c[w>>2]|0)|0,c[i>>2]),(0|t)!=(0|(i=i+4|0)););f=c[w>>2]}if(!q(4+(f+a|0)|0))break e;if(r=r+1|0,i=c[d+216>>2],!(r>>>0<(c[d+220>>2]-i|0)/144>>>0))break}if(r=c[d+8>>2],ce(d+184|0,c[r+28>>2]-c[r+24>>2]>>2),(0|(f=c[d+216>>2]))!=c[d+220>>2])for(i=0;r=y(i,144)+f|0,f=c[r+60>>2]-c[r+56>>2]>>2,t=r+104|0,r=c[d+8>>2],ce(t,(0|(r=c[r+28>>2]-c[r+24>>2]>>2))<(0|f)?f:r),i=i+1|0,f=c[d+216>>2],i>>>0<(c[d+220>>2]-f|0)/144>>>0;);O=j(d,b)}}}return Z=e- -64|0,0|O}mt(),o()},ct,tt,rt,_i,function(r){var e=0;c[(r|=0)>>2]=8624,(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=8876,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),er(r)},Te,function(r){var e=0;return c[(r|=0)>>2]=8876,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),0|r},function(r){var e=0;c[(r|=0)>>2]=8876,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),er(r)},function(r){var e=0;return c[8+(r|=0)>>2]=9136,c[r>>2]=8924,(e=c[r+96>>2])&&(c[r+100>>2]=e,er(e)),(e=c[r+80>>2])&&(c[r+84>>2]=e,er(e)),(e=c[r+68>>2])&&(c[r+72>>2]=e,er(e)),(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=9372,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),0|r},function(r){var e=0;c[8+(r|=0)>>2]=9136,c[r>>2]=8924,(e=c[r+96>>2])&&(c[r+100>>2]=e,er(e)),(e=c[r+80>>2])&&(c[r+84>>2]=e,er(e)),(e=c[r+68>>2])&&(c[r+72>>2]=e,er(e)),(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=9372,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),er(r)},function(r,e){e|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0;t=c[12+(r|=0)>>2],f=c[r+108>>2],a=c[f+80>>2],n[e+84|0]=0,i=e+68|0,b=c[e+68>>2],(A=c[e+72>>2]-b>>2)>>>0<a>>>0?(yr(i,a-A|0,9124),f=c[r+108>>2],a=c[f+80>>2]):a>>>0>=A>>>0||(c[e+72>>2]=b+(a<<2)),b=((e=c[f+100>>2])-(A=c[f+96>>2])|0)/12|0,_=1;r:if((0|e)!=(0|A))for(p=b>>>0<=1?1:b,l=c[t>>2],t=0,f=A,e=0,_=0;;){if(-1==(0|(u=c[(t=(t<<2)+l|0)>>2])))break r;if((o=c[f>>2])>>>0>=a>>>0)break r;if(s=c[c[r+112>>2]+12>>2],(k=c[s+(u<<2)>>2])>>>0>=a>>>0)break r;if(u=c[i>>2],c[u+(o<<2)>>2]=k,-1==(0|(o=c[t+4>>2])))break r;if((k=c[f+4>>2])>>>0>=a>>>0)break r;if((o=c[(o<<2)+s>>2])>>>0>=a>>>0)break r;if(c[u+(k<<2)>>2]=o,-1==(0|(t=c[t+8>>2])))break r;if((f=c[f+8>>2])>>>0>=a>>>0)break r;if((t=c[(t<<2)+s>>2])>>>0>=a>>>0)break r;if(c[u+(f<<2)>>2]=t,_=b>>>0<=(e=e+1|0)>>>0,(0|e)==(0|p))break r;if(t=y(e,3),f=A+y(e,12)|0,1431655765==(0|e))break}return 0|_},function(r){var e,i=0,t=0,f=0,a=0,n=0,A=0;Z=e=Z-16|0,a=c[4+(r|=0)>>2],f=c[a>>2];r:{if(i=c[r+12>>2],!((n=(t=c[i+28>>2]-c[i+24>>2]|0)>>2)>>>0<=c[a+8>>2]-f>>2>>>0)){if((0|t)<0)break r;if(i=c[a+4>>2],n=(t=vi(t))+(n<<2)|0,t=A=t+(i-f&-4)|0,(0|i)!=(0|f))for(;i=i-4|0,c[(t=t-4|0)>>2]=c[i>>2],(0|i)!=(0|f););c[a+8>>2]=n,c[a+4>>2]=A,c[a>>2]=t,f&&er(f)}i=c[r+12>>2],t=c[i+28>>2],i=c[i+24>>2],c[e+12>>2]=0,i=t-i>>2,a=c[(f=r+96|0)>>2],i>>>0>(t=c[r+100>>2]-a>>2)>>>0?Nr(f,i-t|0,e+12|0):i>>>0>=t>>>0||(c[r+100>>2]=a+(i<<2)),a=r+8|0;e:if(i=c[r+116>>2]){if((0|(f=c[i>>2]))==c[i+4>>2]){t=1;break e}for(i=0;;){if(!(t=C(a,c[(i<<2)+f>>2])))break e;if(n=c[r+116>>2],f=c[n>>2],!((i=i+1|0)>>>0<c[n+4>>2]-f>>2>>>0))break}}else if(t=1,r=c[r+12>>2],!((r=c[r+4>>2]-c[r>>2]|0)>>>0<12))for(r=(r>>2>>>0)/3|0,i=0;;){if(!(t=C(a,y(i,3))))break e;if((0|r)==(0|(i=i+1|0)))break}return Z=e+16|0,0|t}mt(),o()},function(r){var e=0;return c[(r|=0)>>2]=9136,(e=c[r+88>>2])&&(c[r+92>>2]=e,er(e)),(e=c[r+72>>2])&&(c[r+76>>2]=e,er(e)),(e=c[r+60>>2])&&(c[r- -64>>2]=e,er(e)),(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),0|r},function(r){var e=0;c[(r|=0)>>2]=9136,(e=c[r+88>>2])&&(c[r+92>>2]=e,er(e)),(e=c[r+72>>2])&&(c[r+76>>2]=e,er(e)),(e=c[r+60>>2])&&(c[r- -64>>2]=e,er(e)),(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),er(r)},function(r,e,i){e|=0,i|=0;var t,f=0;Z=t=Z-16|0,c[4+(r|=0)>>2]=e,f=c[e>>2],e=c[e+4>>2],n[t+15|0]=0,xr(r+24|0,(e-f>>2>>>0)/3|0,t+15|0),e=c[r+4>>2],f=c[e+28>>2],e=c[e+24>>2],n[t+14|0]=0,xr(r+36|0,f-e>>2,t+14|0),e=c[i+12>>2],c[r+16>>2]=c[i+8>>2],c[r+20>>2]=e,e=c[i+4>>2],c[r+8>>2]=c[i>>2],c[r+12>>2]=e,Z=t+16|0},function(r){var e=0;return c[(r|=0)>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),0|r},function(r){var e=0;c[(r|=0)>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),er(r)},function(r){var e=0;return c[8+(r|=0)>>2]=9556,c[r>>2]=9392,(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=9372,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),0|r},function(r){var e=0;c[8+(r|=0)>>2]=9556,c[r>>2]=9392,(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=9372,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),er(r)},function(r,e){e|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0;t=c[12+(r|=0)>>2],f=c[r+68>>2],a=c[f+80>>2],n[e+84|0]=0,i=e+68|0,b=c[e+68>>2],(A=c[e+72>>2]-b>>2)>>>0<a>>>0?(yr(i,a-A|0,9124),f=c[r+68>>2],a=c[f+80>>2]):a>>>0>=A>>>0||(c[e+72>>2]=b+(a<<2)),b=((e=c[f+100>>2])-(A=c[f+96>>2])|0)/12|0,_=1;r:if((0|e)!=(0|A))for(p=b>>>0<=1?1:b,l=c[t>>2],t=0,f=A,e=0,_=0;;){if(-1==(0|(u=c[(t=(t<<2)+l|0)>>2])))break r;if((o=c[f>>2])>>>0>=a>>>0)break r;if(s=c[c[r+72>>2]+12>>2],(k=c[s+(u<<2)>>2])>>>0>=a>>>0)break r;if(u=c[i>>2],c[u+(o<<2)>>2]=k,-1==(0|(o=c[t+4>>2])))break r;if((k=c[f+4>>2])>>>0>=a>>>0)break r;if((o=c[(o<<2)+s>>2])>>>0>=a>>>0)break r;if(c[u+(k<<2)>>2]=o,-1==(0|(t=c[t+8>>2])))break r;if((f=c[f+8>>2])>>>0>=a>>>0)break r;if((t=c[(t<<2)+s>>2])>>>0>=a>>>0)break r;if(c[u+(f<<2)>>2]=t,_=b>>>0<=(e=e+1|0)>>>0,(0|e)==(0|p))break r;if(t=y(e,3),f=A+y(e,12)|0,1431655765==(0|e))break}return 0|_},function(r){var e=0,i=0,t=0,f=0,a=0,n=0;f=c[4+(r|=0)>>2],t=c[f>>2];r:{if(e=c[r+12>>2],!((a=(i=c[e+28>>2]-c[e+24>>2]|0)>>2)>>>0<=c[f+8>>2]-t>>2>>>0)){if((0|i)<0)break r;if(e=c[f+4>>2],a=(i=vi(i))+(a<<2)|0,i=n=i+(e-t&-4)|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[f+8>>2]=a,c[f+4>>2]=n,c[f>>2]=i,t&&er(t)}f=r+8|0;e:if(e=c[r+76>>2]){if((0|(t=c[e>>2]))==c[e+4>>2])return 1;for(e=0;;){if(!(i=ar(f,c[(e<<2)+t>>2])))break e;if(a=c[r+76>>2],t=c[a>>2],!((e=e+1|0)>>>0<c[a+4>>2]-t>>2>>>0))break}}else if(i=1,r=c[r+12>>2],!((r=c[r+4>>2]-c[r>>2]|0)>>>0<12))for(r=(r>>2>>>0)/3|0,e=0;;){if(!(i=ar(f,y(e,3))))break e;if((0|r)==(0|(e=e+1|0)))break}return 0|i}mt(),o()},function(r){var e=0;return c[(r|=0)>>2]=9556,(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),0|r},function(r){var e=0;c[(r|=0)>>2]=9556,(e=c[r+48>>2])&&(c[r+52>>2]=e,er(e)),c[r>>2]=9372,(e=c[r+36>>2])&&er(e),(e=c[r+24>>2])&&er(e),er(r)},function(r){var e=0;return c[8+(r|=0)>>2]=8624,c[r>>2]=9684,(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=8876,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),0|r},function(r){var e=0;c[8+(r|=0)>>2]=8624,c[r>>2]=9684,(e=c[r+56>>2])&&(c[r+60>>2]=e,er(e)),c[r+8>>2]=8876,(e=c[r+44>>2])&&er(e),(e=c[r+32>>2])&&er(e),er(r)},function(r,e){e|=0;var i,t=0,f=0,a=0,A=0,o=0,b=0,u=0,k=0,_=0,s=0,p=0,l=0;_=c[12+(r|=0)>>2],t=c[r+68>>2],f=c[t+80>>2],n[e+84|0]=0,i=e+68|0,u=c[e+68>>2],(a=c[e+72>>2]-u>>2)>>>0<f>>>0?(yr(i,f-a|0,9124),t=c[r+68>>2],f=c[t+80>>2]):f>>>0>=a>>>0||(c[e+72>>2]=u+(f<<2)),u=((e=c[t+100>>2])-(a=c[t+96>>2])|0)/12|0,p=1;r:if((0|e)!=(0|a)){if(_=c[_+28>>2],-1==(0|(A=c[_>>2])))return 0;for(l=u>>>0<=1?1:u,t=a,e=0,p=0;;){if((o=c[t>>2])>>>0>=f>>>0)break r;if(k=c[c[r+72>>2]+12>>2],(b=c[k+(A<<2)>>2])>>>0>=f>>>0)break r;if(A=c[i>>2],c[A+(o<<2)>>2]=b,-1==(0|(b=c[4+(o=_+(s<<2)|0)>>2])))break r;if((s=c[t+4>>2])>>>0>=f>>>0)break r;if((b=c[(b<<2)+k>>2])>>>0>=f>>>0)break r;if(c[A+(s<<2)>>2]=b,-1==(0|(o=c[o+8>>2])))break r;if((t=c[t+8>>2])>>>0>=f>>>0)break r;if((k=c[(o<<2)+k>>2])>>>0>=f>>>0)break r;if(c[A+(t<<2)>>2]=k,p=u>>>0<=(e=e+1|0)>>>0,(0|e)==(0|l))break r;if(t=a+y(e,12)|0,s=y(e,3),-1==(0|(A=c[_+(s<<2)>>2])))break}}return 0|p},function(r){var e=0,i=0,t=0,f=0,a=0,n=0;f=c[4+(r|=0)>>2],t=c[f>>2];r:{if(e=c[r+12>>2],!((a=(i=c[e+56>>2]-c[e+52>>2]|0)>>2)>>>0<=c[f+8>>2]-t>>2>>>0)){if((0|i)<0)break r;if(e=c[f+4>>2],a=(i=vi(i))+(a<<2)|0,i=n=i+(e-t&-4)|0,(0|e)!=(0|t))for(;e=e-4|0,c[(i=i-4|0)>>2]=c[e>>2],(0|e)!=(0|t););c[f+8>>2]=a,c[f+4>>2]=n,c[f>>2]=i,t&&er(t)}f=r+8|0;e:if(e=c[r+76>>2]){if((0|(t=c[e>>2]))==c[e+4>>2])return 1;for(e=0;;){if(!(i=ir(f,c[(e<<2)+t>>2])))break e;if(a=c[r+76>>2],t=c[a>>2],!((e=e+1|0)>>>0<c[a+4>>2]-t>>2>>>0))break}}else if(i=1,r=c[c[r+12>>2]+64>>2],!((r=c[r+4>>2]-c[r>>2]|0)>>>0<12))for(r=(r>>2>>>0)/3|0,e=0;;){if(!(i=ir(f,y(e,3))))break e;if((0|r)==(0|(e=e+1|0)))break}return 0|i}mt(),o()},function(r){var e,i=0,t=0;if(c[(r|=0)>>2]=10032,(i=c[r+20>>2])&&(c[r+24>>2]=i,er(i)),e=c[r+8>>2]){if((0|(t=c[r+12>>2]))!=(0|(i=e))){for(;i=c[(t=t-4|0)>>2],c[t>>2]=0,i&&Zt[c[c[i>>2]+4>>2]](i),(0|t)!=(0|e););i=c[r+8>>2]}c[r+12>>2]=e,er(i)}er(r)},function(r,e){r|=0,e|=0;var i=0,t=0,f=0,a=0,n=0,A=0;a=vi(64),i=vi(12),c[i+8>>2]=c[c[r+4>>2]+80>>2],c[i>>2]=9968,c[i+4>>2]=0,a=He(a,i);r:{if((0|e)<0)i=a;else{if(A=r+8|0,!((0|(n=(i=c[r+12>>2])-(f=c[r+8>>2])>>2))>(0|e)))if(t=e+1|0,e>>>0>=n>>>0)Or(A,t-n|0);else if(!(t>>>0>=n>>>0)){if((0|(f=f+(t<<2)|0))!=(0|i))for(;t=c[(i=i-4|0)>>2],c[i>>2]=0,t&&Zt[c[c[t>>2]+4>>2]](t),(0|i)!=(0|f););c[r+12>>2]=f}if(r=c[A>>2]+(e<<2)|0,i=c[r>>2],c[r>>2]=a,!i)break r}Zt[c[c[i>>2]+4>>2]](i)}return(-1^e)>>>31|0},function(r){var e,i=0,t=0,f=0,a=0,n=0,A=0,b=0,u=0,s=0,p=0,l=0,d=0;Z=e=Z-32|0;r:if(We(1,e+28|0,c[32+(r|=0)>>2])&&We(1,e+24|0,c[r+32>>2])&&!((p=c[e+28>>2])>>>0>1431655765||(f=c[r+32>>2],n=Ke((b=c[(t=f)+8>>2])-(i=c[t+16>>2])|0,(A=c[t+12>>2])-((t=c[t+20>>2])+(i>>>0>b>>>0)|0)|0,3,0),!E&n>>>0<p>>>0||(d=c[e+24>>2],n=$e(p,0,3,0),!E&n>>>0<d>>>0|(0|t)>=(0|A)&i>>>0>=b>>>0|(0|t)>(0|A))))){b=k[i+c[f>>2]|0],t=(i=i+1|0)?t:t+1|0,c[f+16>>2]=i,c[f+20>>2]=t;e:{i:{if(!b){f=0,Z=t=Z-32|0,c[t+24>>2]=0,c[t+16>>2]=0,c[t+20>>2]=0;t:{f:{if(i=y(p,3)){if(i>>>0>=1073741824)break f;Sr(f=vi(b=y(p,12)),0,b)}a:{n:if(!p|!(i=F(i,1,c[r+32>>2],f))){if(!f)break a}else{for(b=0;;){if(n=a,a=(A=c[(i=(b<<2)+f|0)>>2])>>>1|0,!((0|(A=n+(1&A?0-a|0:a)|0))<0||(c[t>>2]=A,n=(a=c[i+4>>2])>>>1|0,(0|(A=A+(1&a?0-n|0:n)|0))<0||(c[t+4>>2]=A,a=(i=c[i+8>>2])>>>1|0,(0|(a=A+(1&i?0-a|0:a)|0))<0)))){if(c[t+8>>2]=a,Lr(c[r+44>>2]+96|0,t),b=b+3|0,i=1,(0|(u=u+1|0))!=(0|p))continue;break n}break}i=0}er(f)}Z=t+32|0;break t}mt(),o()}if(i)break i;break r}if(d>>>0<=255){if(!p)break i;for(;;){if(c[e+16>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,f=c[r+32>>2],b=c[(i=f)+16>>2],!((a=c[i+8>>2])>>>0<=b>>>0&(0|(t=c[i+20>>2]))>=(0|(i=n=c[i+12>>2]))|(0|i)<(0|t)||(u=c[f>>2],l=k[u+b|0],i=t,i=(A=b+1|0)?i:i+1|0,c[f+16>>2]=A,c[f+20>>2]=i,c[e+8>>2]=l,(0|(a=(l=a>>>0<b>>>0&(0|t)>=(0|n)|(0|t)>(0|n))?b:a))==(0|A)&(0|(n=l?t:n))==(0|i)||(l=k[A+u|0],i=t,i=(A=b+2|0)>>>0<2?i+1|0:i,c[f+16>>2]=A,c[f+20>>2]=i,c[e+12>>2]=l,(0|a)==(0|A)&(0|i)==(0|n))))){if(A=k[A+u|0],i=t,i=(t=b+3|0)>>>0<3?i+1|0:i,c[f+16>>2]=t,c[f+20>>2]=i,c[e+16>>2]=A,Lr(c[r+44>>2]+96|0,e+8|0),(0|p)!=(0|(s=s+1|0)))continue;break i}break}s=0;break r}if(d>>>0<=65535){if(!p)break i;for(;;){if(c[e+16>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,u=c[r+32>>2],t=c[(i=u)+8>>2],f=c[i+12>>2],A=c[i+16>>2],b=i=c[i+20>>2],!(t>>>0<(a=A+2|0)>>>0&(0|(i=a>>>0<2?i+1|0:i))>=(0|f)|(0|i)>(0|f)||(l=c[u>>2],n=k[0|(n=l+A|0)]|k[n+1|0]<<8,c[u+16>>2]=a,c[u+20>>2]=i,c[e+8>>2]=n,i=b,t>>>0<(n=A+4|0)>>>0&(0|(i=n>>>0<4?i+1|0:i))>=(0|f)|(0|i)>(0|f)||(a=k[0|(a=a+l|0)]|k[a+1|0]<<8,c[u+16>>2]=n,c[u+20>>2]=i,c[e+12>>2]=a,a=t,i=b,(t=A+6|0)>>>0>a>>>0&(0|(i=t>>>0<6?i+1|0:i))>=(0|f)|(0|i)>(0|f))))){if(f=k[0|(f=n+l|0)]|k[f+1|0]<<8,c[u+16>>2]=t,c[u+20>>2]=i,c[e+16>>2]=f,Lr(c[r+44>>2]+96|0,e+8|0),(0|p)!=(0|(s=s+1|0)))continue;break i}break}s=0;break r}if(!(d>>>0>2097151||(65535&((i=_[r+36>>1])<<8|i>>>8))>>>0<514)){if(!p)break i;for(;;){if(c[e+16>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,We(1,e+4|0,c[r+32>>2])&&(c[e+8>>2]=c[e+4>>2],We(1,e+4|0,c[r+32>>2])&&(c[e+12>>2]=c[e+4>>2],We(1,e+4|0,c[r+32>>2])))){if(c[e+16>>2]=c[e+4>>2],Lr(c[r+44>>2]+96|0,e+8|0),(0|p)!=(0|(s=s+1|0)))continue;break i}break}s=0;break r}if(p)for(;;){if(c[e+16>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,u=c[r+32>>2],t=c[(i=u)+8>>2],f=c[i+12>>2],A=c[i+16>>2],b=i=c[i+20>>2],t>>>0<(a=A+4|0)>>>0&(0|(i=a>>>0<4?i+1|0:i))>=(0|f)|(0|i)>(0|f))break e;if(l=c[u>>2],n=k[0|(n=l+A|0)]|k[n+1|0]<<8|k[n+2|0]<<16|k[n+3|0]<<24,c[u+16>>2]=a,c[u+20>>2]=i,c[e+8>>2]=n,i=b,t>>>0<(n=A+8|0)>>>0&(0|(i=n>>>0<8?i+1|0:i))>=(0|f)|(0|i)>(0|f))break e;if(a=k[0|(a=a+l|0)]|k[a+1|0]<<8|k[a+2|0]<<16|k[a+3|0]<<24,c[u+16>>2]=n,c[u+20>>2]=i,c[e+12>>2]=a,a=t,i=b,(t=A+12|0)>>>0>a>>>0&(0|(i=t>>>0<12?i+1|0:i))>=(0|f)|(0|i)>(0|f))break e;if(f=k[0|(f=n+l|0)]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,c[u+16>>2]=t,c[u+20>>2]=i,c[e+16>>2]=f,Lr(c[r+44>>2]+96|0,e+8|0),(0|p)==(0|(s=s+1|0)))break}}c[c[r+4>>2]+80>>2]=d,s=1;break r}s=0}return Z=e+32|0,0|s},ut,vt,function(r,e){return n[84+(e|=0)|0]=1,c[e+72>>2]=c[e+68>>2],1},function(r){var e=0,i=0,t=0,f=0,a=0;r:{if(!((0|(e=c[8+(r|=0)>>2]))<0||(i=c[r+4>>2],f=c[i>>2],(t=c[i+4>>2]-f>>2)>>>0<e>>>0?(ae(i,e-t|0),a=c[r+8>>2]):(a=e,e>>>0>=t>>>0||(c[i+4>>2]=f+(e<<2),a=e)),(0|(t=a))<=0)))for(r=c[r+4>>2],i=c[r>>2],f=c[r+4>>2]-i>>2,r=0;;){if((0|r)==(0|f))break r;if(c[i+(r<<2)>>2]=r,(0|t)==(0|(r=r+1|0)))break}return(-1^e)>>>31|0}dt(),o()},ht,pt,ct,function(r){var e=0;return c[(r|=0)>>2]=10240,(e=c[r+96>>2])&&(c[r+100>>2]=e,er(e)),(e=c[r+84>>2])&&(c[r+88>>2]=e,er(e)),0|ke(r)},function(r){var e=0;c[(r|=0)>>2]=10240,(e=c[r+96>>2])&&(c[r+100>>2]=e,er(e)),(e=c[r+84>>2])&&(c[r+88>>2]=e,er(e)),er(ke(r))},function(r,e,i){var t=0,f=0,a=0,n=0,A=0,b=0,u=0;if(ur(r|=0,e|=0,i|=0),i=c[r+84>>2],!((0|(t=c[r+88>>2]-i>>2))>(0|e))){if((e=e+1|0)>>>0>t>>>0){r:if((t=e-t|0)>>>0<=(f=c[r+92>>2])-(i=c[r+88>>2])>>2>>>0){if(t){if(e=i,f=7&t)for(;c[e>>2]=1,e=e+4|0,(0|f)!=(0|(a=a+1|0)););if(i=(t<<2)+i|0,!((t-1&1073741823)>>>0<7))for(;c[e+24>>2]=1,c[e+28>>2]=1,c[e+16>>2]=1,c[e+20>>2]=1,c[e+8>>2]=1,c[e+12>>2]=1,c[e>>2]=1,c[e+4>>2]=1,(0|i)!=(0|(e=e+32|0)););}c[r+88>>2]=i}else{e:{if((e=(n=(b=(e=i)-(i=c[r+84>>2])|0)>>2)+t|0)>>>0<1073741824){if(A=(f=f-i|0)>>>1|0,f=f>>>0>=2147483644?1073741823:e>>>0<A>>>0?A:e){if(f>>>0>=1073741824)break e;u=vi(f<<2)}if(e=n=(n<<2)+u|0,A=7&t)for(;c[e>>2]=1,e=e+4|0,(0|A)!=(0|(a=a+1|0)););if(a=n+(t<<2)|0,(t-1&1073741823)>>>0>=7)for(;c[e+24>>2]=1,c[e+28>>2]=1,c[e+16>>2]=1,c[e+20>>2]=1,c[e+8>>2]=1,c[e+12>>2]=1,c[e>>2]=1,c[e+4>>2]=1,(0|a)!=(0|(e=e+32|0)););e=gr(u,i,b),c[r+88>>2]=a,c[r+84>>2]=e,c[r+92>>2]=e+(f<<2),i&&er(i);break r}mt(),o()}Zi(),o()}return}e>>>0>=t>>>0||(c[r+88>>2]=i+(e<<2))}},function(r,e){var i=0,t=0;rr(r|=0,e|=0),(0|e)<0||(t=c[r+88>>2])-(i=c[r+84>>2])>>2<=(0|e)||(gr(i=(e<<2)+i|0,e=i+4|0,t-e|0),c[r+88>>2]=t-4)},ke,function(r){er(ke(r|=0))},ur,rr,ut,vt,Dt,Dt,function(r,e,i){i|=0;var t,f=0;return Z=t=Z+-64|0,f=1,Be(r|=0,e|=0,0)||(f=0,e&&(f=0,(e=Xr(e,11068))&&(Sr(4|(f=t+8|0),0,52),c[t+56>>2]=1,c[t+20>>2]=-1,c[t+16>>2]=r,c[t+8>>2]=e,Zt[c[c[e>>2]+28>>2]](e,f,c[i>>2],1),1==(0|(r=c[t+32>>2]))&&(c[i>>2]=c[t+24>>2]),f=1==(0|r)))),Z=t- -64|0,0|f},function(r,e,i,t,f,a){i|=0,t|=0,f|=0,a|=0,Be(r|=0,c[8+(e|=0)>>2],a)&&Ne(e,i,t,f)},function(r,e,i,t,f){if(i|=0,t|=0,f|=0,Be(r|=0,c[8+(e|=0)>>2],f))1==c[e+28>>2]|c[e+4>>2]!=(0|i)||(c[e+28>>2]=t);else r:if(Be(r,c[e>>2],f)){if(!(c[e+16>>2]!=(0|i)&c[e+20>>2]!=(0|i))){if(1!=(0|t))break r;return void(c[e+32>>2]=1)}c[e+20>>2]=i,c[e+32>>2]=t,c[e+40>>2]=c[e+40>>2]+1,1!=c[e+36>>2]|2!=c[e+24>>2]||(n[e+54|0]=1),c[e+44>>2]=4}},function(r,e,i,t){i|=0,t|=0,Be(r|=0,c[8+(e|=0)>>2],0)&&ei(e,i,t)},vt,function(r,e,i,t,f,a){i|=0,t|=0,f|=0,a|=0,Be(r|=0,c[8+(e|=0)>>2],a)?Ne(e,i,t,f):(r=c[r+8>>2],Zt[c[c[r>>2]+20>>2]](r,e,i,t,f,a))},function(r,e,i,t,f){if(i|=0,t|=0,f|=0,Be(r|=0,c[8+(e|=0)>>2],f))1==c[e+28>>2]|c[e+4>>2]!=(0|i)||(c[e+28>>2]=t);else r:{if(Be(r,c[e>>2],f)){if(!(c[e+16>>2]!=(0|i)&c[e+20>>2]!=(0|i))){if(1!=(0|t))break r;return void(c[e+32>>2]=1)}c[e+32>>2]=t;e:if(4!=c[e+44>>2]){if(A[e+52>>1]=0,r=c[r+8>>2],Zt[c[c[r>>2]+20>>2]](r,e,i,i,1,f),k[e+53|0]){if(c[e+44>>2]=3,!k[e+52|0])break e;break r}c[e+44>>2]=4}if(c[e+20>>2]=i,c[e+40>>2]=c[e+40>>2]+1,1!=c[e+36>>2]|2!=c[e+24>>2])break r;return void(n[e+54|0]=1)}r=c[r+8>>2],Zt[c[c[r>>2]+24>>2]](r,e,i,t,f)}},function(r,e,i,t){i|=0,t|=0,Be(r|=0,c[8+(e|=0)>>2],0)?ei(e,i,t):(r=c[r+8>>2],Zt[c[c[r>>2]+28>>2]](r,e,i,t))},vt,function(r){return 1235},vt,function(r){return 1201},vt,function(r){return 1161},bt,tt,bt,bt],Gt.set=function(r,e){this[r]=e},Gt.get=function(r){return this[r]},Gt);function Et(){return a.byteLength/65536|0}return{f:function(){},g:Zt,h:ot,i:function(){return 0|pi(vi(40))},j:function(r,e,i){e|=0,i|=0,c[(r|=0)+16>>2]=0,c[r+20>>2]=0,c[r>>2]=e,c[r+8>>2]=i,c[r+12>>2]=0},k:ot,l:function(){var r,e;return e=vi(40),c[e>>2]=-1,c[(r=e+8|0)+16>>2]=0,c[r+20>>2]=0,c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,0|e},m:At,n:function(r){var e=0;(r|=0)&&((e=c[r+8>>2])&&(c[r+12>>2]=e,er(e)),er(r))},o:function(){return 0|ai(vi(64))},p:ot,q:function(){var r;return r=ai(vi(96)),c[r+64>>2]=0,c[r+68>>2]=0,c[r+88>>2]=0,c[r+72>>2]=0,c[r+76>>2]=0,n[r+77|0]=0,n[r+78|0]=0,n[r+79|0]=0,n[r+80|0]=0,n[r+81|0]=0,n[r+82|0]=0,n[r+83|0]=0,n[r+84|0]=0,0|r},r:qi,s:function(r){return c[(r|=0)+88>>2]},t:function(r){return c[(r|=0)+56>>2]},u:$i,v:function(r){return n[(r|=0)+24|0]},w:function(r){return k[(r|=0)+32|0]},x:function(r){return c[(r|=0)+40>>2]},y:function(r){return c[(r|=0)+48>>2]},z:function(r){return c[(r|=0)+60>>2]},A:xe,B:function(){var r;return r=vi(24),c[r+8>>2]=0,c[r+12>>2]=0,c[r+4>>2]=-1,c[r>>2]=1624,c[r+16>>2]=0,c[r+20>>2]=0,0|r},C:Bi,D:tt,E:function(r,e){return e|=0,d(p[c[(r|=0)+8>>2]+(e<<2)>>2])},F:function(r){return d(p[(r|=0)+20>>2])},G:Hi,H:function(){var r;return r=vi(8),c[r+4>>2]=-1,c[r>>2]=1032,0|r},I:Bi,J:tt,K:Hi,L:function(){return 0|zi(vi(84))},M:Si,N:qi,O:Hi,P:function(){var r;return r=zi(vi(108)),c[r+84>>2]=0,c[r+88>>2]=0,c[r>>2]=10240,c[r+92>>2]=0,c[r+96>>2]=0,c[r+100>>2]=0,c[r+104>>2]=0,0|r},Q:function(r){return(c[(r|=0)+100>>2]-c[r+96>>2]|0)/12|0},R:Si,S:qi,T:Hi,U:function(){var r,e;return r=vi(24),c[r+4>>2]=0,c[r+8>>2]=0,c[(e=r+16|0)>>2]=0,c[e+4>>2]=0,c[r>>2]=r+4,c[r+12>>2]=e,0|r},V:function(r){(r|=0)&&(Ai(r+12|0,c[r+16>>2]),mi(r,c[r+4>>2]),er(r))},W:At,X:function(r){return 0|!c[(r|=0)>>2]},Y:function(r){return 0|(n[(r|=0)+15|0]<0?c[r+4>>2]:r+4)},Z:function(r){(r|=0)&&(n[r+15|0]<0&&er(c[r+4>>2]),er(r))},_:wi,$:function(r,e){return e|=0,d(p[c[(r|=0)>>2]+(e<<2)>>2])},aa:Li,ba:ji,ca:wi,da:function(r,e){return e|=0,n[c[(r|=0)>>2]+e|0]},ea:Ki,fa:ji,ga:wi,ha:function(r,e){return e|=0,k[c[(r|=0)>>2]+e|0]},ia:Ki,ja:ji,ka:wi,la:function(r,e){return e|=0,A[c[(r|=0)>>2]+(e<<1)>>1]},ma:xi,na:ji,oa:wi,pa:function(r,e){return e|=0,_[c[(r|=0)>>2]+(e<<1)>>1]},qa:xi,ra:ji,sa:wi,ta:gi,ua:Li,va:ji,wa:wi,xa:gi,ya:Li,za:ji,Aa:function(){var r;return r=vi(28),c[r>>2]=0,c[r+4>>2]=0,c[r+24>>2]=0,c[r+16>>2]=0,c[r+20>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,0|r},Ba:function(r,e,i){r|=0,e|=0;var t,f=0,a=0,A=0,b=0,u=0,_=0;if(Z=t=Z-16|0,(f=Xe(i|=0))>>>0<2147483632){r:{if(f>>>0>=11)r=vi(a=1+(15|f)|0),c[t+8>>2]=-2147483648|a,c[t>>2]=r,c[t+4>>2]=f,a=r+f|0;else if(n[t+11|0]=f,a=t+f|0,r=t,!f)break r;hr(r,i,f)}n[0|a]=0,f=(i=k[t+11|0])<<24>>24,r=0;r:if(e=c[e+4>>2]){for(r=i,r=(i=(0|f)<0)?c[t+4>>2]:r,a=i?c[t>>2]:t;;){e:{i:{t:{f:{a:{n:{if(b=(u=(i=(A=(i=k[e+27|0])<<24>>24<0)?c[e+20>>2]:i)>>>0<r>>>0)?i:r){if(_=Ye(a,A=A?c[e+16>>2]:e+16|0,b))break n;if(r>>>0>=i>>>0)break a;break e}if(r>>>0>=i>>>0)break f;break e}if((0|_)<0)break e}if(i=Ye(A,a,b))break t}if(u)break i;r=1;break r}if(!((0|i)<0)){r=1;break r}}e=e+4|0}if(!(e=c[e>>2]))break}r=0}(0|f)<0&&er(c[t>>2]),Z=t+16|0}else yt(),o();return 0|r},Ca:function(r,e,i){r|=0,e|=0,i|=0;var t,f=0,a=0;if(Z=t=Z-16|0,c[t+12>>2]=0,(f=Xe(i))>>>0<2147483632){r:{if(f>>>0>=11)r=vi(a=1+(15|f)|0),c[t+8>>2]=-2147483648|a,c[t>>2]=r,c[t+4>>2]=f,a=r+f|0;else if(n[t+11|0]=f,a=t+f|0,r=t,!f)break r;hr(r,i,f)}n[0|a]=0,(0|(r=te(e,t)))!=(e+4|0)&&4==((e=c[r+32>>2])-(r=c[r+28>>2])|0)&&(c[t+12>>2]=k[0|r]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24),r=c[t+12>>2],n[t+11|0]<0&&er(c[t>>2]),Z=t+16|0}else yt(),o();return 0|r},Da:function(r,e,i,t){r|=0,e|=0,t|=0;var f=0,a=0,A=0;if(Z=r=Z-32|0,(f=Xe(i|=0))>>>0<2147483632){r:{if(f>>>0>=11)a=vi(A=1+(15|f)|0),c[r+24>>2]=-2147483648|A,c[r+16>>2]=a,c[r+20>>2]=f,A=f+a|0;else if(n[r+27|0]=f,A=f+(a=r+16|0)|0,!f)break r;hr(a,i,f)}n[0|A]=0,c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0,(0|(i=te(e,r+16|0)))!=(e+4|0)&&(0|(e=c[i+28>>2]))!=(0|(f=c[i+32>>2]))&&(3&(e=f-e|0)||((f=e>>>2|0)>>>0>(A=(a=c[r+4>>2])-(e=c[r>>2])>>2)>>>0?(_e(r,f-A|0),e=c[r>>2],a=c[r+4>>2]):f>>>0>=A>>>0||(a=(f<<2)+e|0,c[r+4>>2]=a),(0|e)==(0|a)?(dt(),o()):hr(f=e,e=c[i+28>>2],c[i+32>>2]-e|0))),(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t>>2]=c[r>>2],c[t+4>>2]=c[r+4>>2],c[t+8>>2]=c[r+8>>2],n[r+27|0]<0&&er(c[r+16>>2]),Z=r+32|0}else yt(),o()},Ea:function(r,e,i){r|=0,e|=0,i|=0;var t=0,f=0,a=0,A=0;if(Z=r=Z-32|0,c[r+24>>2]=0,c[r+28>>2]=0,(t=Xe(i))>>>0<2147483632){r:{if(t>>>0>=11)a=vi(f=1+(15|t)|0),c[r+16>>2]=-2147483648|f,c[r+8>>2]=a,c[r+12>>2]=t,f=t+a|0;else if(n[r+19|0]=t,f=(a=r+8|0)+t|0,!t)break r;hr(a,i,t)}n[0|f]=0,(0|(i=e+4|0))!=(0|(e=te(e,r+8|0)))&&8==((i=c[e+32>>2])-(e=c[e+28>>2])|0)&&(i=k[e+4|0]|k[e+5|0]<<8|k[e+6|0]<<16|k[e+7|0]<<24,c[r+24>>2]=k[0|e]|k[e+1|0]<<8|k[e+2|0]<<16|k[e+3|0]<<24,c[r+28>>2]=i),A=l[r+24>>3],n[r+19|0]<0&&er(c[r+8>>2]),Z=r+32|0}else yt(),o();return+A},Fa:function(r,e,i){r|=0,e|=0;var t,f=0,a=0,A=0;if(Z=t=Z-16|0,(f=Xe(i|=0))>>>0<2147483632){r:{if(f>>>0>=11)a=vi(A=1+(15|f)|0),c[t+8>>2]=-2147483648|A,c[t>>2]=a,c[t+4>>2]=f,A=f+a|0;else if(n[t+11|0]=f,A=t+f|0,a=t,!f)break r;hr(a,i,f)}n[0|A]=0,i=ti(e,t,a=r+16|0),e=c[r+16>>2],r=n[r+27|0],n[t+11|0]<0&&er(c[t>>2]),Z=t+16|0,r=i?(0|r)<0?e:a:0}else yt(),o();return 0|r},Ga:function(r,e){return c[(e|=0)+8>>2]},Ha:function(r,e,i){e|=0;var t,f,a=0,A=0,b=0,u=0,k=0,_=0;if(f=i|=0,t=r|=0,c[r+12>>2]!=(0|e)){if(r=e,(0|(e=c[t+4>>2]))!=(0|(a=c[t>>2])))for(;i=e-12|0,n[e-1|0]<0&&er(c[i>>2]),(0|a)!=(0|(e=i)););if(c[t+12>>2]=r,c[t+4>>2]=a,(0|(i=c[r>>2]))!=(0|(k=r+4|0)))for(;;){if((0|(r=c[t+4>>2]))==c[t+8>>2]){b=0;r:{e:{i:{if((e=(A=((r=c[t+4>>2])-(a=c[t>>2])|0)/12|0)+1|0)>>>0<357913942){if(_=(u=(c[t+8>>2]-a|0)/12|0)<<1,e=u>>>0>=178956970?357913941:e>>>0<_>>>0?_:e){if(e>>>0>=357913942)break i;b=vi(y(e,12))}if(u=y(e,12),e=y(A,12)+b|0,n[i+27|0]>=0?(A=c[i+20>>2],c[e>>2]=c[i+16>>2],c[e+4>>2]=A,c[e+8>>2]=c[i+24>>2]):(me(e,c[i+16>>2],c[i+20>>2]),a=c[t>>2],r=c[t+4>>2]),b=b+u|0,A=e+12|0,(0|r)==(0|a))break e;for(;u=c[(r=r-12|0)+4>>2],c[(e=e-12|0)>>2]=c[r>>2],c[e+4>>2]=u,c[e+8>>2]=c[r+8>>2],c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,(0|r)!=(0|a););if(c[t+8>>2]=b,r=c[t+4>>2],c[t+4>>2]=A,a=c[t>>2],c[t>>2]=e,(0|r)==(0|a))break r;for(;e=r-12|0,n[r-1|0]<0&&er(c[e>>2]),r=e,(0|a)!=(0|e););break r}mt(),o()}Zi(),o()}c[t+8>>2]=b,c[t+4>>2]=A,c[t>>2]=e}a&&er(a)}else n[i+27|0]>=0?(e=c[i+20>>2],c[r>>2]=c[i+16>>2],c[r+4>>2]=e,c[r+8>>2]=c[i+24>>2]):me(r,c[i+16>>2],c[i+20>>2]),c[t+4>>2]=r+12;r:{if(e=c[i+4>>2])for(;;)if(r=e,!(e=c[e>>2]))break r;for(;r=c[i+8>>2],e=c[r>>2]!=(0|i),i=r,e;);}if(i=r,(0|k)==(0|r))break}}return r=0,(0|f)<0||(e=c[t>>2],(c[t+4>>2]-e|0)/12>>>0<=f>>>0||(r=e+y(f,12)|0,r=n[r+11|0]<0?c[r>>2]:r)),0|r},Ia:function(r){var e=0,i=0,t=0;if(r|=0){if(n[r+27|0]<0&&er(c[r+16>>2]),e=c[r>>2]){if(i=e,(0|e)!=(0|(t=c[r+4>>2]))){for(;i=t-12|0,n[t-1|0]<0&&er(c[i>>2]),(0|(t=i))!=(0|e););i=c[r>>2]}c[r+4>>2]=e,er(i)}er(r)}},Ja:function(){var r,e;return r=vi(40),c[r+4>>2]=0,c[r+8>>2]=0,c[r+24>>2]=0,c[r+28>>2]=0,c[(e=r+16|0)>>2]=0,c[e+4>>2]=0,c[r>>2]=r+4,c[r+12>>2]=e,c[r+32>>2]=0,c[r+36>>2]=0,0|r},Ka:function(r,e,i,t){r|=0,e|=0,i|=0,t|=0;var f,a=0,A=0;Z=t=Z+-64|0,a=pi(t+8|0),c[a+16>>2]=0,c[a+20>>2]=0,c[a>>2]=e,c[a+8>>2]=i,c[a+12>>2]=0,Qr(e=t+48|0),c[r+24>>2]=c[t+48>>2];r:if((0|e)!=(0|(f=r+24|0)))if(e=r+28|0,i=t+48|4,a=(A=k[t+63|0])<<24>>24,n[r+39|0]>=0){if((0|a)>=0){r=c[i+4>>2],c[e>>2]=c[i>>2],c[e+4>>2]=r,c[e+8>>2]=c[i+8>>2];break r}ri(e,c[t+52>>2],c[t+56>>2])}else qe(e,(r=(0|a)<0)?c[t+52>>2]:i,r?c[t+56>>2]:A);return n[t+63|0]<0&&er(c[t+52>>2]),Z=t- -64|0,0|f},La:function(r,e,i,t){r|=0,e|=0,i|=0,t|=0;var f,a=0,A=0;Z=f=Z+-64|0,a=pi(f+8|0),c[a+16>>2]=0,c[a+20>>2]=0,c[a>>2]=e,c[a+8>>2]=i,c[a+12>>2]=0,I(e=f+48|0,r,a,t),c[r+24>>2]=c[f+48>>2];r:if((0|(a=r+24|0))!=(0|e))if(e=r+28|0,i=f+48|4,t=(A=k[f+63|0])<<24>>24,n[r+39|0]>=0){if((0|t)>=0){r=c[i+4>>2],c[e>>2]=c[i>>2],c[e+4>>2]=r,c[e+8>>2]=c[i+8>>2];break r}ri(e,c[f+52>>2],c[f+56>>2])}else qe(e,(r=(0|t)<0)?c[f+52>>2]:i,r?c[f+56>>2]:A);return n[f+63|0]<0&&er(c[f+52>>2]),Z=f- -64|0,0|a},Ma:function(r,e,i){return 0|li(e|=0,i|=0)},Na:function(r,e,i){r|=0,e|=0;var t=0,f=0,a=0;if(Z=r=Z-32|0,(t=Xe(i|=0))>>>0<2147483632){r:{if(t>>>0>=11)a=vi(f=1+(15|t)|0),c[r+24>>2]=-2147483648|f,c[r+16>>2]=a,c[r+20>>2]=t,f=t+a|0;else if(n[r+27|0]=t,f=(a=r+16|0)+t|0,!t)break r;hr(a,i,t)}n[0|f]=0,n[r+4|0]=0,c[r>>2]=1701667182,n[r+11|0]=4,i=-1,(t=c[e+4>>2])&&(i=-1,(t=Hr(t,r,r+16|0))&&(i=ii(e,c[t+24>>2]))),e=i,n[r+11|0]<0&&er(c[r>>2]),n[r+27|0]<0&&er(c[r+16>>2]),Z=r+32|0}else yt(),o();return 0|e},Oa:function(r,e,i,t){r|=0,e|=0,t|=0;var f,a=0,A=0;Z=f=Z-32|0;r:{e:{if((a=Xe(i|=0))>>>0<2147483632){i:{if(a>>>0>=11)A=vi(r=1+(15|a)|0),c[f+24>>2]=-2147483648|r,c[f+16>>2]=A,c[f+20>>2]=a,r=a+A|0;else if(n[f+27|0]=a,r=a+(A=f+16|0)|0,!a)break i;hr(A,i,a)}if(n[0|r]=0,(i=Xe(t))>>>0>=2147483632)break e;i:{if(i>>>0>=11)r=vi(a=1+(15|i)|0),c[f+8>>2]=-2147483648|a,c[f>>2]=r,c[f+4>>2]=i,A=r+i|0;else if(n[f+11|0]=i,A=i+f|0,r=f,!i)break i;hr(r,t,i)}n[0|A]=0,r=-1,(i=c[e+4>>2])&&(r=-1,(i=Hr(i,f+16|0,f))&&(r=ii(e,c[i+24>>2]))),n[f+11|0]<0&&er(c[f>>2]),n[f+27|0]<0&&er(c[f+16>>2]),Z=f+32|0;break r}yt(),o()}yt(),o()}return 0|r},Pa:function(r,e,i){return i|=0,c[c[(e|=0)+8>>2]+(i<<2)>>2]},Qa:function(r,e,i){r|=0,i|=0;var t=0,f=0;r=0;r:if((0|(t=c[(e|=0)+12>>2]))!=(0|(e=c[e+8>>2]))){t=(r=t-e>>2)>>>0<=1?1:r,r=0;e:{for(;;){if(f=c[e+(r<<2)>>2],c[f+60>>2]==(0|i))break e;if((0|t)==(0|(r=r+1|0)))break}r=0;break r}r=-1!=(0|r)?f:0}return 0|r},Ra:function(r,e){return c[(e|=0)+4>>2]},Sa:function(r,e,i){r|=0,i|=0;var t,f=0;if((t=c[(e|=0)+4>>2])&&!((0|(e=c[c[c[e+8>>2]+(i<<2)>>2]+60>>2]))<0)&&(0|(r=c[t+24>>2]))!=(0|(i=c[t+28>>2])))r:{for(;;){if(f=c[r>>2],(0|e)==c[f+24>>2])break r;if((0|i)==(0|(r=r+4|0)))break}f=0}return 0|f},Ta:function(r,e,i,t){return r|=0,i|=0,t|=0,e=c[(e|=0)+96>>2],r=vi(12),e=e+y(i,12)|0,i=c[e+4>>2],c[r>>2]=c[e>>2],c[r+4>>2]=i,c[r+8>>2]=c[e+8>>2],(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t>>2]=r,r=r+12|0,c[t+8>>2]=r,c[t+4>>2]=r,1},Ua:function(r,e,i){r|=0,e|=0;var t,f,a,A,b,u,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0,F=0,I=0,Y=0,w=0,j=0,J=0,B=0,M=0,Q=0,g=0;u=i|=0,i=0,Z=f=Z-96|0,Sr(t=f+16|0,0,76),c[f+92>>2]=-1,c[f+8>>2]=0,c[f>>2]=0,c[f+4>>2]=0,Z=a=Z-16|0,c[t+68>>2]=0,c[t+72>>2]=0,c[t>>2]=e,Z=A=Z-16|0,b=e,r=c[e+20>>2],(c[e+24>>2]-r|0)<=0||-1!=(0|(r=c[r>>2]))&&(i=c[c[b+8>>2]+(r<<2)>>2]);r:{e:{if(i){r=c[b+100>>2],s=c[b+96>>2],c[A+8>>2]=0,c[A>>2]=0,c[A+4>>2]=0,e=(0|(p=r-s|0))/12|0;i:if((0|r)!=(0|s)){if(e>>>0>=357913942)break e;if(_=vi(p),c[A>>2]=_,c[A+8>>2]=_+y(e,12),r=0,p=Sr(R=_,0,_=12+((p=p-12|0)-((p>>>0)%12|0)|0)|0),c[A+4>>2]=_+p,k[i+84|0]){if(d=1&(i=e>>>0<=1?1:e),e>>>0>=2)for(l=-2&i,i=0;_=y(r,12),m=c[(e=_+s|0)+4>>2],v=c[e>>2],c[(_=_+p|0)+8>>2]=c[e+8>>2],c[_>>2]=v,c[_+4>>2]=m,_=y(1|r,12),m=c[(e=_+s|0)+4>>2],v=c[e>>2],c[(_=_+p|0)+8>>2]=c[e+8>>2],c[_>>2]=v,c[_+4>>2]=m,r=r+2|0,(0|l)!=(0|(i=i+2|0)););if(!d)break i;e=y(r,12),i=c[(r=e+s|0)+4>>2],s=c[r>>2],c[(e=e+p|0)+8>>2]=c[r+8>>2],c[e>>2]=s,c[e+4>>2]=i}else for(d=e>>>0<=1?1:e,r=c[i+68>>2],i=0;_=y(i,12),l=c[r+(c[(e=_+s|0)>>2]<<2)>>2],m=c[r+(c[e+4>>2]<<2)>>2],c[(_=_+p|0)+8>>2]=c[r+(c[e+8>>2]<<2)>>2],c[_+4>>2]=m,c[_>>2]=l,(0|d)!=(0|(i=i+1|0)););}if(_=0,Z=w=Z-16|0,Ue(d=vi(88)),Z=I=Z-16|0,c[d+80>>2]=0,c[d+84>>2]=0,r=c[d+76>>2],c[d+76>>2]=0,r&&er(r),c[d+68>>2]=0,c[d+72>>2]=0,r=c[(e=d- -64|0)>>2],c[e>>2]=0,r&&er(r),l=c[A+4>>2],e=c[A>>2],r=y(i=(l-e|0)/12|0,3),p=c[d>>2],r>>>0>(s=c[d+4>>2]-p>>2)>>>0?(ae(d,r-s|0),i=((l=c[A+4>>2])-(e=c[A>>2])|0)/12|0):r>>>0>=s>>>0||(c[d+4>>2]=p+(r<<2)),(0|e)!=(0|l)){if(l=1&(s=i>>>0<=1?1:i),r=c[d>>2],i>>>0>=2)for(m=-2&s,i=0;p=e+(s=y(_,12))|0,c[(v=s+r|0)>>2]=c[p>>2],c[r+(4|s)>>2]=c[p+4>>2],c[v+8>>2]=c[p+8>>2],s=(p=y(1|_,12))+r|0,p=e+p|0,c[s>>2]=c[p>>2],c[s+4>>2]=c[p+4>>2],c[s+8>>2]=c[p+8>>2],_=_+2|0,(0|m)!=(0|(i=i+2|0)););l&&(e=e+(i=y(_,12))|0,c[(r=i+r|0)>>2]=c[e>>2],c[r+4>>2]=c[e+4>>2],c[r+8>>2]=c[e+8>>2])}c[I+12>>2]=-1,r=0,s=0,l=0,Z=p=Z-32|0;i:{t:{if(W=I+12|0){if(m=(_=(i=c[d+4>>2])-(v=c[d>>2])|0)>>2,R=c[d+12>>2],m>>>0>(e=c[d+16>>2]-R>>2)>>>0?(yr(d+12|0,m-e|0,10228),m=(_=(i=c[d+4>>2])-(v=c[d>>2])|0)>>2):e>>>0<=m>>>0||(c[d+16>>2]=R+(m<<2)),c[p+24>>2]=0,c[p+16>>2]=0,c[p+20>>2]=0,!(e=(0|i)==(0|v))){if((0|_)<0)break t;s=vi(_),c[p+20>>2]=s,c[p+16>>2]=s,c[p+24>>2]=(m<<2)+s}f:{a:{n:{A:{if(!_){if(_=0,!e)break A;break n}for(;(m=c[(r<<2)+v>>2])>>>0<(e=c[p+20>>2]-s>>2)>>>0||(c[p>>2]=0,(_=m+1|0)>>>0>e>>>0?(Nr(p+16|0,_-e|0,p),v=c[d>>2],i=c[d+4>>2],s=c[p+16>>2]):e>>>0<=_>>>0||(c[p+20>>2]=(_<<2)+s)),c[(e=(m<<2)+s|0)>>2]=c[e>>2]+1,(r=r+1|0)>>>0<(m=(_=i-v|0)>>2)>>>0;);if((0|i)==(0|v)){_=0;break n}if(_>>>0>=2147483645)break a}Sr(_=vi(_<<1),255,m<<3)}c[p+8>>2]=0,c[p>>2]=0,c[p+4>>2]=0,U=(r=(e=c[p+20>>2])-s|0)>>2;n:{if((0|e)!=(0|s)){if((0|r)<0)break n;if(V=vi(r),c[p>>2]=V,c[p+8>>2]=(U<<2)+V,e=Sr(V,0,r),c[p+4>>2]=e+r,R=3&(i=U>>>0<=1?1:U),r=0,i-1>>>0>=3)for(N=-4&i;c[(i=l<<2)+e>>2]=r,D=4|i,r=c[i+s>>2]+r|0,c[D+e>>2]=r,G=8|i,r=r+c[s+D>>2]|0,c[G+e>>2]=r,i|=12,r=r+c[s+G>>2]|0,c[i+e>>2]=r,r=r+c[i+s>>2]|0,l=l+4|0,(0|N)!=(0|(T=T+4|0)););if(R)for(;c[(i=l<<2)+e>>2]=r,l=l+1|0,r=c[i+s>>2]+r|0,(0|R)!=(0|(h=h+1|0)););}if(!m)break f;for(D=c[d+40>>2],G=c[d+12>>2],R=0;;){r=(j=R<<2)+v|0,h=-1,-1!=(0|(e=((i=R+1|0)>>>0)%3|0?i:R-2|0))&&(h=c[(e<<2)+v>>2]),e=c[r>>2];A:{o:{if(!((R>>>0)%3|0)){if(T=-1,-1!=(0|(r=R+2|0))&&(T=c[(r<<2)+v>>2]),!((0|e)==(0|h)|(0|e)==(0|T))&(0|h)!=(0|T))break o;D=D+1|0,c[d+40>>2]=D,i=R+3|0;break A}T=c[r-4>>2]}o:{b:if(!((0|(F=c[(r=T<<2)+s>>2]))<=0))for(r=c[r+V>>2],l=0;;){if(-1==(0|(E=c[(N=(r<<3)+_|0)>>2])))break b;if((0|h)==(0|E)&&(0|(E=-1!=(0|(N=c[N+4>>2]))?c[(N<<2)+v>>2]:-1))!=(0|e)){for(;e=r,!((0|F)<=(0|(l=l+1|0))||(E=c[(J=((r=e+1|0)<<3)+_|0)>>2],c[(B=(e<<3)+_|0)+4>>2]=c[J+4>>2],c[B>>2]=E,-1==(0|E))););if(c[(e<<3)+_>>2]=-1,-1==(0|N))break b;c[G+j>>2]=N,c[G+(N<<2)>>2]=R;break o}if(r=r+1|0,(0|F)==(0|(l=l+1|0)))break}if(!((0|(h=c[(r=h<<2)+s>>2]))<=0))for(r=c[r+V>>2],l=0;;){if(-1==c[(e=(r<<3)+_|0)>>2]){c[e>>2]=T,c[e+4>>2]=R;break o}if(r=r+1|0,(0|h)==(0|(l=l+1|0)))break}}}if(!((R=i)>>>0<m>>>0))break}break f}break t}mt(),o()}c[W>>2]=U,V&&er(V),_&&er(_),(r=c[p+16>>2])&&(c[p+20>>2]=r,er(r))}if(Z=p+32|0,D=!!(0|W)){if(Z=h=Z-32|0,r=c[d>>2],l=c[d+4>>2],c[h+24>>2]=0,c[h+16>>2]=0,c[h+20>>2]=0,(0|r)==(0|l))i=l;else{if((0|(r=l-r|0))<0)break t;i=vi((e=1+((r>>=2)-1>>>5|0)|0)<<2),c[h+24>>2]=e,c[h+20>>2]=0,c[h+16>>2]=i,ve(h+16|0,r),l=c[d>>2],i=c[d+4>>2]}for(c[h+8>>2]=0,c[h>>2]=0;;){if(N=0,m=0,(0|i)!=(0|l)){for(;;){e=c[h+16>>2];f:if(!(c[e+(m>>>3&536870908)>>2]>>>m&1)){for(i=c[h>>2],c[h+4>>2]=i,s=c[d+12>>2],r=m;_=r,!(-1==(0|(r=((p=r+1|0)>>>0)%3|0?p:r-2|0))||-1==(0|(r=c[s+(r<<2)>>2]))||(0|m)==(0|(r=((p=r+1|0)>>>0)%3|0?p:r-2|0))|-1==(0|r)||c[e+(r>>>3&536870908)>>2]>>>r&1););v=_;a:{n:{A:{for(;;){if(r=c[h+16>>2]+(v>>>3&536870908)|0,c[r>>2]=c[r>>2]|1<<v,p=((r=v+1|0)>>>0)%3|0?r:v-2|0,l=c[d>>2],e=((G=(v>>>0)%3|0)?-1:2)+v|0,!(F=(0|(R=c[h>>2]))==(0|i)))if(W=c[(p<<2)+l>>2],V=c[d+12>>2],r=R,-1==(0|e))for(;;){if((0|W)==c[r>>2]&&(U=-1,s=-1,-1!=(0|(T=c[r+4>>2]))))break n;if((0|i)==(0|(r=r+8|0)))break}else for(s=V+(e<<2)|0;;){if((0|W)==c[r>>2]&&(0|(T=c[r+4>>2]))!=(0|(U=c[s>>2]))){if(s=e,i=-1,r=-1,-1==(0|T))break a;break n}if((0|i)==(0|(r=r+8|0)))break}if(e=c[(e<<2)+l>>2],c[h+8>>2]==(0|i)){if((s=(T=(r=i-R|0)>>3)+1|0)>>>0>=536870912)break t;if(l=r>>>2|0,l=r>>>0>=2147483640?536870911:s>>>0<l>>>0?l:s){if(l>>>0>=536870912)break A;s=vi(l<<3)}else s=0;if(c[(r=s+(T<<3)|0)>>2]=e,c[r+4>>2]=p,e=r+8|0,!F){for(;p=c[(i=i-8|0)+4>>2],c[(r=r-8|0)>>2]=c[i>>2],c[r+4>>2]=p,(0|i)!=(0|R););i=c[h>>2]}c[h+8>>2]=s+(l<<3),c[h+4>>2]=e,c[h>>2]=r,i&&er(i),i=e}else c[i>>2]=e,c[i+4>>2]=p,i=i+8|0,c[h+4>>2]=i;o:{if(G)r=v-1|0;else if(-1==(0|(r=v+2|0)))break o;if(-1!=(0|(r=c[c[d+12>>2]+(r<<2)>>2]))&&(0|_)!=(0|(v=r+((r>>>0)%3|0?-1:2)|0))&&-1!=(0|v))continue}break}l=c[d>>2];break f}Zi(),o()}i=c[V+(T<<2)>>2],e=s,r=T}-1!=(0|U)&&(c[V+(U<<2)>>2]=-1),-1!=(0|i)&&(c[V+(i<<2)>>2]=-1),c[V+(e<<2)>>2]=-1,c[V+(r<<2)>>2]=-1,N=1}if(!((m=m+1|0)>>>0<(i=c[d+4>>2])-l>>2>>>0))break}if(N)continue}break}(r=c[h>>2])&&er(r),(r=c[h+16>>2])&&er(r),R=0,Z=l=(Z=h+32|0)-32|0,s=c[I+12>>2],c[d+36>>2]=s,T=d+24|0,e=c[d+24>>2];f:{if((r=c[d+28>>2]-e>>2)>>>0<s>>>0)yr(T,s-r|0,10228),c[l+24>>2]=0,c[l+16>>2]=0,c[l+20>>2]=0;else if(r>>>0>s>>>0&&(c[d+28>>2]=e+(s<<2)),c[l+24>>2]=0,c[l+16>>2]=0,c[l+20>>2]=0,!s)break f;if((0|s)<0)break t;e=vi((r=1+(s-1>>>5|0)|0)<<2),c[l+24>>2]=r,c[l+20>>2]=0,c[l+16>>2]=e,ve(l+16|0,s)}r=c[d>>2],e=c[d+4>>2],c[l+8>>2]=0,c[l>>2]=0,c[l+4>>2]=0;f:{if((0|r)==(0|e))r=e;else{if((0|(r=e-r|0))<0)break t;i=vi((e=1+((r>>=2)-1>>>5|0)|0)<<2),c[l+8>>2]=e,c[l+4>>2]=0,c[l>>2]=i,ve(l,r),e=c[d>>2],r=c[d+4>>2]}if(!(r-e>>>0<12)){a:{for(;;){if(V=y(R,3),p=c[(_=(V<<2)+e|0)>>2],i=-1,-1!=(0|(m=V+1|0))&&(i=c[(m<<2)+e>>2]),(0|i)!=(0|p)&&!((0|(m=p))==(0|(p=c[_+8>>2]))|(0|i)==(0|p))){for(h=0,m=c[l>>2];;){if(!(c[((p=h+V|0)>>>3&536870908)+m>>2]>>>p&1)){if(i=1<<(r=c[(p<<2)+e>>2]),_=c[l+16>>2],U=i&(m=c[_+((e=r>>>5|0)<<2)>>2])){if((0|(i=c[d+28>>2]))==c[d+32>>2]){if((_=(N=(e=i-(m=c[T>>2])|0)>>2)+1|0)>>>0>=1073741824)break t;if(v=e>>>1|0,v=e>>>0>=2147483644?1073741823:_>>>0<v>>>0?v:_){if(v>>>0>=1073741824)break a;e=vi(v<<2)}else e=0;if(c[(_=e+(N<<2)|0)>>2]=-1,N=_+4|0,(0|i)!=(0|m))for(;i=i-4|0,c[(_=_-4|0)>>2]=c[i>>2],(0|i)!=(0|m););c[d+32>>2]=e+(v<<2),c[d+28>>2]=N,c[d+24>>2]=_,m&&er(m)}else c[i>>2]=-1,c[d+28>>2]=i+4;if((0|(i=c[d+52>>2]))==c[d+56>>2]){if((_=(N=(e=i-(m=c[d+48>>2])|0)>>2)+1|0)>>>0>=1073741824)break t;if(v=e>>>1|0,v=e>>>0>=2147483644?1073741823:_>>>0<v>>>0?v:_){if(v>>>0>=1073741824)break a;e=vi(v<<2)}else e=0;if(c[(_=e+(N<<2)|0)>>2]=r,r=_+4|0,(0|i)!=(0|m))for(;i=i-4|0,c[(_=_-4|0)>>2]=c[i>>2],(0|i)!=(0|m););c[d+56>>2]=e+(v<<2),c[d+52>>2]=r,c[d+48>>2]=_,m&&er(m)}else c[i>>2]=r,c[d+52>>2]=i+4;if((0|(i=c[l+20>>2]))==(r=c[l+24>>2])<<5){if((i+1|0)<0)break t;nr(e=l+16|0,r=i>>>0<=1073741822?(r<<=6)>>>0>(i=32+(-32&i)|0)>>>0?r:i:2147483647),i=c[l+20>>2]}c[l+20>>2]=i+1,_=c[l+16>>2],e=c[(r=_+(i>>>3&536870908)|0)>>2],Q=r,g=Yi(i)&e,c[Q>>2]=g,i=1<<s,m=c[((e=s>>>5|0)<<2)+_>>2],s=(r=s)+1|0}c[(e<<2)+_>>2]=i|m,N=c[d+24>>2]+(r<<2)|0,v=c[d+12>>2],e=c[d>>2],m=c[l>>2],i=p;n:{A:{o:{for(;;){if(-1==(0|i))break o;if(c[(_=(i>>>3&536870908)+m|0)>>2]=c[_>>2]|1<<i,c[N>>2]=i,U&&(c[(i<<2)+e>>2]=r),_=-1,-1!=(0|(i=((W=i+1|0)>>>0)%3|0?W:i-2|0))&&(_=-1,-1!=(0|(i=c[v+(i<<2)>>2]))&&(_=((_=i+1|0)>>>0)%3|0?_:i-2|0)),(0|p)==(0|(i=_)))break}if(-1!=(0|p))break n;i=1;break A}if((p>>>0)%3|0)i=p-1|0;else if(-1==(0|(i=p+2|0)))break n}if(-1!=(0|(i=c[v+(i<<2)>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(-1==(0|(i=i+2|0)))break n;for(p=c[d+12>>2],e=c[d>>2];;){if(c[(_=(i>>>3&536870908)+m|0)>>2]=c[_>>2]|1<<i,U&&(c[(i<<2)+e>>2]=r),(i>>>0)%3|0)i=i-1|0;else if(-1==(0|(i=i+2|0)))break n;if(-1==(0|(i=c[p+(i<<2)>>2])))break n;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break}}}}if(3==(0|(h=h+1|0)))break}e=c[d>>2],r=c[d+4>>2]}if(!((R=R+1|0)>>>0<(r-e>>2>>>0)/3>>>0))break}break f}Zi(),o()}}if(i=0,c[d+44>>2]=0,r=c[l+16>>2],e=c[l+20>>2])for(s=31&e,e=(e>>>3&536870908)+r|0,_=r,m=0;c[_>>2]>>>i&1||(m=m+1|0,c[d+44>>2]=m),(0|e)!=(0|(_=((p=31==(0|i))<<2)+_|0))|(0|(i=p?0:i+1|0))!=(0|s););(e=c[l>>2])&&(er(e),r=c[l+16>>2]),r&&er(r),Z=l+32|0}Z=I+16|0,D||(c[w+8>>2]=0,ge(d),d=0),Z=w+16|0,r=d;break i}mt(),o()}(e=c[A>>2])&&(c[A+4>>2]=e,er(e))}else r=0;Z=A+16|0;break r}mt(),o()}if(i=c[t+4>>2],e=r,c[t+4>>2]=r,i&&(ge(i),e=c[t+4>>2]),e&&(r=c[b+100>>2],i=c[b+96>>2],n[a+12|0]=0,xr(t+56|0,(r-i|0)/12|0,a+12|0),(0|(r=c[b+100>>2]))!=(0|(i=c[b+96>>2]))))for(;;){if(!(c[c[t+56>>2]+(Y>>>3&536870908)>>2]>>>Y&1)){if(fr(t,0,r=y(Y,3)),i=c[t+8>>2],s=c[t+12>>2],fr(t,1,r+1|0),p=c[t+20>>2],_=c[t+24>>2],fr(t,2,r+2|0),R=(0|i)==(0|s)?-1:0,s=(r=_-p>>2)>>>0>(i=s-i>>2)>>>0,i=c[t+36>>2]-c[t+32>>2]>>2>>>0>(s?r:i)>>>0?2:s?1:R,c[t+68>>2]<=0||(c[a+12>>2]=c[t+76>>2],c[a+8>>2]=f,pe(a+8|0,a+12|0),(0|(r=c[44+((i<<2)+t|0)>>2]))<0?r=-1:(s=(r>>>0)/3|0,r=c[(c[c[t>>2]+96>>2]+y(s,12)|0)+(r-y(s,3)<<2)>>2]),c[a+12>>2]=r,c[a+8>>2]=f,pe(a+8|0,a+12|0),s=c[t+72>>2],c[t+72>>2]=s+2,1&s&&(c[a+12>>2]=r,c[a+8>>2]=f,pe(a+8|0,a+12|0),c[t+72>>2]=c[t+72>>2]+1)),_=0,Z=s=Z-16|0,c[t+68>>2]=c[t+68>>2]+1,r=y(i,12)+t|0,(0|(r=c[r+12>>2]-c[r+8>>2]|0))>0)for(d=(r=r>>>2|0)>>>0<=1?1:r,i=c[44+((i<<2)+t|0)>>2];;){p=((r=i)>>>0)/3|0,l=(i=-1==(0|r))?-1:p,m=c[t+56>>2]+(l>>>3&536870908)|0,c[m>>2]=c[m>>2]|1<<l,c[t+72>>2]=c[t+72>>2]+1;r:{e:{i:{t:{f:{if(!_){if((0|r)>=0)c[s+12>>2]=c[(c[c[t>>2]+96>>2]+y(p,12)|0)+((r>>>0)%3<<2)>>2],c[s+8>>2]=f,pe(s+8|0,s+12|0);else if(c[s+12>>2]=-1,c[s+8>>2]=f,pe(s+8|0,s+12|0),i)break f;if(i=-1,(0|(p=((p=r+1|0)>>>0)%3|0?p:r-2|0))>=0?(l=(p>>>0)/3|0,p=c[(c[c[t>>2]+96>>2]+y(l,12)|0)+(p-y(l,3)<<2)>>2]):p=-1,c[s+12>>2]=p,c[s+8>>2]=f,pe(s+8|0,s+12|0),(0|(p=((r>>>0)%3|0?-1:2)+r|0))<0)break t;i=(p>>>0)/3|0,i=c[(c[c[t>>2]+96>>2]+y(i,12)|0)+(p-y(i,3)<<2)>>2];break t}if(i=(0|r)<0?-1:c[(c[c[t>>2]+96>>2]+y(p,12)|0)+((r>>>0)%3<<2)>>2],c[t+76>>2]=i,c[s+12>>2]=i,c[s+8>>2]=f,pe(s+8|0,s+12|0),1&_){if(i=-1,-1==(0|r))break r;if((0|y(p,3))!=(0|r)){r=r-1|0;break e}r=r+2|0;break i}if(i=-1,-1==(0|r))break r;r=((i=r+1|0)>>>0)%3|0?i:r-2|0;break i}i=-1,c[s+12>>2]=-1,c[s+8>>2]=f,pe(s+8|0,s+12|0)}c[t+76>>2]=i,c[s+12>>2]=i,c[s+8>>2]=f,pe(s+8|0,s+12|0)}if(i=-1,-1==(0|r))break r}i=c[c[c[t+4>>2]+12>>2]+(r<<2)>>2]}if((0|d)==(0|(_=_+1|0)))break}Z=s+16|0,i=c[b+96>>2],r=c[b+100>>2]}if(!((Y=Y+1|0)>>>0<(r-i|0)/12>>>0))break}return Z=a+16|0,e?((r=c[u>>2])&&(c[u+4>>2]=r,er(r)),c[u>>2]=c[f>>2],c[u+4>>2]=c[f+4>>2],c[u+8>>2]=c[f+8>>2],M=c[f+84>>2]):(r=c[f>>2])&&(c[f+4>>2]=r,er(r)),(r=c[f+72>>2])&&er(r),(r=c[f+48>>2])&&(c[f+52>>2]=r,er(r)),(r=c[f+36>>2])&&(c[f+40>>2]=r,er(r)),(r=c[f+24>>2])&&(c[f+28>>2]=r,er(r)),r=c[f+20>>2],c[f+20>>2]=0,r&&ge(r),Z=f+96|0,0|M},Va:function(r,e,i,t){r|=0,i|=0,t|=0;var f=0,a=0,n=0,o=0,b=0,u=0;if(!(s[(e|=0)+80>>2]>65535||(r=c[e+100>>2],e=c[e+96>>2],n=(0|(a=y(f=(r-e|0)/12|0,6)))==(0|i),(0|r)==(0|e)|(0|i)!=(0|a)))){if(n=1,b=1&(i=f>>>0<=1?1:f),r=0,f>>>0>=2)for(u=-2&i,i=0;o=(a=y(r,6))+t|0,f=e+y(r,12)|0,A[o>>1]=c[f>>2],A[(2|a)+t>>1]=c[f+4>>2],A[o+4>>1]=c[f+8>>2],f=y(a=1|r,6)+t|0,a=e+y(a,12)|0,A[f>>1]=c[a>>2],A[f+2>>1]=c[a+4>>2],A[f+4>>1]=c[a+8>>2],r=r+2|0,(0|u)!=(0|(i=i+2|0)););b&&(i=y(r,6)+t|0,r=e+y(r,12)|0,A[i>>1]=c[r>>2],A[i+2>>1]=c[r+4>>2],A[i+4>>1]=c[r+8>>2])}return 0|n},Wa:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a=0,n=0,A=0,o=0,b=0,u=0;if(!((0|(f=(r=c[(e|=0)+100>>2])-(e=c[e+96>>2])|0))!=(0|i)|(0|r)==(0|e))){if(b=1&(a=(A=(0|i)/12|0)>>>0<=1?1:A),r=0,A>>>0>=2)for(u=-2&a,A=0;n=e+(a=y(r,12))|0,c[(o=a+t|0)>>2]=c[n>>2],c[(4|a)+t>>2]=c[n+4>>2],c[o+8>>2]=c[n+8>>2],a=(n=y(1|r,12))+t|0,n=e+n|0,c[a>>2]=c[n>>2],c[a+4>>2]=c[n+4>>2],c[a+8>>2]=c[n+8>>2],r=r+2|0,(0|u)!=(0|(A=A+2|0)););b&&(a=t,e=e+(t=y(r,12))|0,c[(r=a+t|0)>>2]=c[e>>2],c[r+4>>2]=c[e+4>>2],c[r+8>>2]=c[e+8>>2])}return(0|i)==(0|f)|0},Xa:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a=0,A=0;return Z=r=Z-16|0,f=n[(e|=0)+24|0],a=c[2555],c[r+8>>2]=c[2554],c[r+12>>2]=a,a=c[2553],c[r>>2]=c[2552],c[r+4>>2]=a,(a=X(e,i,f,r))&&(e=0,f&&(A=hr(e=vi(i=(255&f)<<2),r,i)+i|0),(i=c[t>>2])&&(c[t+4>>2]=i,er(i)),c[t+8>>2]=A,c[t+4>>2]=A,c[t>>2]=e),Z=r+16|0,0|a},Ya:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a=0,A=0,o=0,b=0,u=0,_=0,s=0,l=0,d=0,m=0;if(f=c[(e|=0)+80>>2],e=k[i+24|0],o=y(f,e),e){if(r=A=vi(b=e<<2),_=7&e)for(;c[r>>2]=-1073741824,r=r+4|0,(0|_)!=(0|(a=a+1|0)););if(!((e-1&1073741823)>>>0<7))for(a=A+b|0;c[r+24>>2]=-1073741824,c[r+28>>2]=-1073741824,c[r+16>>2]=-1073741824,c[r+20>>2]=-1073741824,c[r+8>>2]=-1073741824,c[r+12>>2]=-1073741824,c[r>>2]=-1073741824,c[r+4>>2]=-1073741824,(0|a)!=(0|(r=r+32|0)););}a=c[t>>2],(r=c[t+4>>2]-a>>2)>>>0<o>>>0?_e(t,o-r|0):r>>>0<=o>>>0||(c[t+4>>2]=a+(o<<2));r:{e:{i:if(f){if(e){for(d=252&e,_=3&e,m=e>>>0<4,a=0,e=0;;){if(!X(i,k[i+84|0]?e:c[c[i+68>>2]+(e<<2)>>2],n[i+24|0],A))break i;if(l=c[t>>2],u=0,r=0,s=0,!m)for(;b=r<<2,p[(o=(a<<2)+l|0)>>2]=p[b+A>>2],p[o+4>>2]=p[(4|b)+A>>2],p[o+8>>2]=p[(8|b)+A>>2],p[o+12>>2]=p[(12|b)+A>>2],r=r+4|0,a=a+4|0,(0|d)!=(0|(s=s+4|0)););if(_)for(;p[(a<<2)+l>>2]=p[(r<<2)+A>>2],r=r+1|0,a=a+1|0,(0|_)!=(0|(u=u+1|0)););if(u=f>>>0<=(e=e+1|0)>>>0,(0|e)==(0|f))break}break e}for(r=0;;){if(!X(i,k[i+84|0]?r:c[c[i+68>>2]+(r<<2)>>2],n[i+24|0],A))break i;if(u=f>>>0<=(r=r+1|0)>>>0,(0|r)==(0|f))break}}else u=1;if(!A)break r}er(A)}return 0|u},Za:pr,_a:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a,A=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0;Z=a=Z-16|0,f=c[(e|=0)+80>>2],A=k[i+24|0],r=y(f,A);r:{e:{i:{t:{if(e=c[i+28>>2],!(!k[i+84|0]|1!=(0|e)&2!=(0|e))){if(e=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,r){if((0|r)<0)break t;_=hr(b=vi(r),e+i|0,r)+r|0}(r=c[t>>2])&&(c[t+4>>2]=r,er(r)),c[t+8>>2]=_,c[t+4>>2]=_,c[t>>2]=b,e=1;break r}A&&Sr(b=vi(A),0,A);f:{a:if((u=(s=c[t+4>>2])-(e=c[t>>2])|0)>>>0<r>>>0){if((l=r-u|0)>>>0<=(p=c[t+8>>2])-s>>>0){d=t,m=Sr(s,0,l)+l|0,c[d+4>>2]=m;break a}if((0|r)<0)break f;if(p=(s=p-e|0)<<1,Sr((p=vi(s=s>>>0>=1073741823?2147483647:r>>>0<p>>>0?p:r))+u|0,0,l),u=gr(p,e,u),c[t+8>>2]=u+s,c[t+4>>2]=r+u,c[t>>2]=u,!e)break a;er(e)}else r>>>0>=u>>>0||(c[t+4>>2]=r+e);if(!f){e=1;break i}if(!A){for(e=0,r=0;;){if(!S(i,k[i+84|0]?r:c[c[i+68>>2]+(r<<2)>>2],n[i+24|0],b))break i;if(e=f>>>0<=(r=r+1|0)>>>0,(0|r)==(0|f))break}break i}for(s=252&A,u=3&A,e=0,p=A>>>0<4,A=0;;){if(!S(i,k[i+84|0]?A:c[c[i+68>>2]+(A<<2)>>2],n[i+24|0],b))break i;if(e=0,r=0,l=0,!p)for(;n[c[t>>2]+_|0]=k[r+b|0],n[1+(c[t>>2]+_|0)|0]=k[(1|r)+b|0],n[2+(c[t>>2]+_|0)|0]=k[(2|r)+b|0],n[3+(c[t>>2]+_|0)|0]=k[(3|r)+b|0],r=r+4|0,_=_+4|0,(0|s)!=(0|(l=l+4|0)););if(u)for(;n[c[t>>2]+_|0]=k[r+b|0],r=r+1|0,_=_+1|0,(0|u)!=(0|(e=e+1|0)););if(e=f>>>0<=(A=A+1|0)>>>0,(0|A)==(0|f))break}break e}mt(),o()}mt(),o()}if(!b)break r}er(b)}return Z=a+16|0,1&e},$a:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a,A=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0;Z=a=Z-16|0,f=c[(e|=0)+80>>2],A=k[i+24|0],r=y(f,A);r:{e:{i:{t:{if(e=c[i+28>>2],!(!k[i+84|0]|1!=(0|e)&2!=(0|e))){if(e=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,r){if((0|r)<0)break t;_=hr(b=vi(r),e+i|0,r)+r|0}(r=c[t>>2])&&(c[t+4>>2]=r,er(r)),c[t+8>>2]=_,c[t+4>>2]=_,c[t>>2]=b,e=1;break r}A&&Sr(b=vi(A),0,A);f:{a:if((u=(s=c[t+4>>2])-(e=c[t>>2])|0)>>>0<r>>>0){if((l=r-u|0)>>>0<=(p=c[t+8>>2])-s>>>0){d=t,m=Sr(s,0,l)+l|0,c[d+4>>2]=m;break a}if((0|r)<0)break f;if(p=(s=p-e|0)<<1,Sr((p=vi(s=s>>>0>=1073741823?2147483647:r>>>0<p>>>0?p:r))+u|0,0,l),u=gr(p,e,u),c[t+8>>2]=u+s,c[t+4>>2]=r+u,c[t>>2]=u,!e)break a;er(e)}else r>>>0>=u>>>0||(c[t+4>>2]=r+e);if(!f){e=1;break i}if(!A){for(e=0,r=0;;){if(!H(i,k[i+84|0]?r:c[c[i+68>>2]+(r<<2)>>2],n[i+24|0],b))break i;if(e=f>>>0<=(r=r+1|0)>>>0,(0|r)==(0|f))break}break i}for(s=252&A,u=3&A,e=0,p=A>>>0<4,A=0;;){if(!H(i,k[i+84|0]?A:c[c[i+68>>2]+(A<<2)>>2],n[i+24|0],b))break i;if(e=0,r=0,l=0,!p)for(;n[c[t>>2]+_|0]=k[r+b|0],n[1+(c[t>>2]+_|0)|0]=k[(1|r)+b|0],n[2+(c[t>>2]+_|0)|0]=k[(2|r)+b|0],n[3+(c[t>>2]+_|0)|0]=k[(3|r)+b|0],r=r+4|0,_=_+4|0,(0|s)!=(0|(l=l+4|0)););if(u)for(;n[c[t>>2]+_|0]=k[r+b|0],r=r+1|0,_=_+1|0,(0|u)!=(0|(e=e+1|0)););if(e=f>>>0<=(A=A+1|0)>>>0,(0|A)==(0|f))break}break e}mt(),o()}mt(),o()}if(!b)break r}er(b)}return Z=a+16|0,1&e},ab:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a,b=0,u=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0;r=0,Z=a=Z-16|0,f=c[(e|=0)+80>>2],b=k[i+24|0],e=y(f,b);r:{e:{i:{t:{if(u=c[i+28>>2],!(!k[i+84|0]|3!=(0|u)&4!=(0|u))){if(b=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,e){if((0|e)<0)break t;s=hr(r=vi(e<<=1),i+b|0,e)+e|0}(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t+8>>2]=s,c[t+4>>2]=s,c[t>>2]=r,p=1;break r}if(b&&Sr(r=vi(u=b<<1),0,u),l=c[t>>2],(u=c[t+4>>2]-l>>1)>>>0<e>>>0?de(t,e-u|0):e>>>0>=u>>>0||(c[t+4>>2]=l+(e<<1)),!f){p=1;break i}if(!b){for(e=0;;){if(!B(i,k[i+84|0]?e:c[c[i+68>>2]+(e<<2)>>2],n[i+24|0],r))break i;if(p=f>>>0<=(e=e+1|0)>>>0,(0|e)==(0|f))break}break i}for(h=252&b,m=3&b,R=b>>>0<4,b=0;;){if(!B(i,k[i+84|0]?b:c[c[i+68>>2]+(b<<2)>>2],n[i+24|0],r))break i;if(v=c[t>>2],d=0,e=0,p=0,!R)for(;l=e<<1,A[(u=(s<<1)+v|0)>>1]=_[l+r>>1],A[u+2>>1]=_[(2|l)+r>>1],A[u+4>>1]=_[(4|l)+r>>1],A[u+6>>1]=_[(6|l)+r>>1],e=e+4|0,s=s+4|0,(0|h)!=(0|(p=p+4|0)););if(m)for(;A[(s<<1)+v>>1]=_[(e<<1)+r>>1],e=e+1|0,s=s+1|0,(0|(d=d+1|0))!=(0|m););if(p=f>>>0<=(b=b+1|0)>>>0,(0|b)==(0|f))break}break e}mt(),o()}if(!r)break r}er(r)}return Z=a+16|0,0|p},bb:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a,b=0,u=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0;r=0,Z=a=Z-16|0,f=c[(e|=0)+80>>2],b=k[i+24|0],e=y(f,b);r:{e:{i:{t:{if(u=c[i+28>>2],!(!k[i+84|0]|3!=(0|u)&4!=(0|u))){if(b=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,e){if((0|e)<0)break t;s=hr(r=vi(e<<=1),i+b|0,e)+e|0}(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t+8>>2]=s,c[t+4>>2]=s,c[t>>2]=r,p=1;break r}if(b&&Sr(r=vi(u=b<<1),0,u),l=c[t>>2],(u=c[t+4>>2]-l>>1)>>>0<e>>>0?de(t,e-u|0):e>>>0>=u>>>0||(c[t+4>>2]=l+(e<<1)),!f){p=1;break i}if(!b){for(e=0;;){if(!Q(i,k[i+84|0]?e:c[c[i+68>>2]+(e<<2)>>2],n[i+24|0],r))break i;if(p=f>>>0<=(e=e+1|0)>>>0,(0|e)==(0|f))break}break i}for(h=252&b,m=3&b,R=b>>>0<4,b=0;;){if(!Q(i,k[i+84|0]?b:c[c[i+68>>2]+(b<<2)>>2],n[i+24|0],r))break i;if(v=c[t>>2],d=0,e=0,p=0,!R)for(;l=e<<1,A[(u=(s<<1)+v|0)>>1]=_[l+r>>1],A[u+2>>1]=_[(2|l)+r>>1],A[u+4>>1]=_[(4|l)+r>>1],A[u+6>>1]=_[(6|l)+r>>1],e=e+4|0,s=s+4|0,(0|h)!=(0|(p=p+4|0)););if(m)for(;A[(s<<1)+v>>1]=_[(e<<1)+r>>1],e=e+1|0,s=s+1|0,(0|(d=d+1|0))!=(0|m););if(p=f>>>0<=(b=b+1|0)>>>0,(0|b)==(0|f))break}break e}mt(),o()}if(!r)break r}er(r)}return Z=a+16|0,0|p},cb:pr,db:function(r,e,i,t){r|=0,i|=0,t|=0;var f,a,A=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0,v=0;r=0,Z=a=Z-16|0,f=c[(e|=0)+80>>2],A=k[i+24|0],e=y(f,A);r:{e:{i:{t:{if(b=c[i+28>>2],!(!k[i+84|0]|5!=(0|b)&6!=(0|b))){if(A=c[i+48>>2],i=c[c[i>>2]>>2],c[a+8>>2]=0,c[a>>2]=0,c[a+4>>2]=0,e){if((0|e)<0)break t;u=hr(r=vi(e<<=2),i+A|0,e)+e|0}(e=c[t>>2])&&(c[t+4>>2]=e,er(e)),c[t+8>>2]=u,c[t+4>>2]=u,c[t>>2]=r,_=1;break r}if(A&&Sr(r=vi(b=A<<2),0,b),s=c[t>>2],(b=c[t+4>>2]-s>>2)>>>0<e>>>0?_e(t,e-b|0):e>>>0>=b>>>0||(c[t+4>>2]=s+(e<<2)),!f){_=1;break i}if(!A){for(e=0;;){if(!O(i,k[i+84|0]?e:c[c[i+68>>2]+(e<<2)>>2],n[i+24|0],r))break i;if(_=f>>>0<=(e=e+1|0)>>>0,(0|e)==(0|f))break}break i}for(m=252&A,l=3&A,v=A>>>0<4,A=0;;){if(!O(i,k[i+84|0]?A:c[c[i+68>>2]+(A<<2)>>2],n[i+24|0],r))break i;if(d=c[t>>2],p=0,e=0,_=0,!v)for(;s=e<<2,c[(b=(u<<2)+d|0)>>2]=c[s+r>>2],c[b+4>>2]=c[(4|s)+r>>2],c[b+8>>2]=c[(8|s)+r>>2],c[b+12>>2]=c[(12|s)+r>>2],e=e+4|0,u=u+4|0,(0|m)!=(0|(_=_+4|0)););if(l)for(;c[(u<<2)+d>>2]=c[(e<<2)+r>>2],e=e+1|0,u=u+1|0,(0|(p=p+1|0))!=(0|l););if(_=f>>>0<=(A=A+1|0)>>>0,(0|A)==(0|f))break}break e}mt(),o()}if(!r)break r}er(r)}return Z=a+16|0,0|_},eb:function(r,e,i,t,f,a){r|=0,i|=0,f|=0,a|=0;var A=0,o=0,b=0,u=0,_=0,s=0,p=0,l=0,d=0,m=0,v=0,h=0,R=0;b=e|=0,r=0,e=0;r:{e:switch((t|=0)-1|0){case 0:if(u=c[b+80>>2],o=k[i+24|0],(0|y(u,o))==(0|f))if((t=1!=c[i+28>>2])|!(e=k[i+84|0])){o&&Sr(r=vi(o),0,o);i:if(u)if(t)if(e=0,o)for(t=0,f=0;;){if(!S(i,k[i+84|0]?f:c[c[i+68>>2]+(f<<2)>>2],n[i+24|0],r))break i;if(hr(t+a|0,r,o),t=t+o|0,e=u>>>0<=(f=f+1|0)>>>0,(0|f)==(0|u))break}else for(t=0;;){if(!S(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],r))break i;if(e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(o){for(t=0,f=0;b=t+a|0,_=c[c[i>>2]>>2],p=c[i+48>>2],l=e=$e(A=c[i+40>>2],c[i+44>>2],k[i+84|0]?f:c[c[i+68>>2]+(f<<2)>>2],0),hr(b,hr(r,(e=e+p|0)+_|0,A),o),t=t+o|0,e=1,(0|u)!=(0|(f=f+1|0)););break i}if(e){if(e=1,o=c[i>>2],f=c[i+48>>2],a=c[i+40>>2],b=c[i+44>>2],1!=(0|u)){for(A=-2&u,i=0,t=0;_=hr(r,(_=c[o>>2])+(p=$e(a,b,i,0)+f|0)|0,a),hr(_,(p=c[o>>2])+(l=$e(a,b,1|i,0)+f|0)|0,a),i=i+2|0,(0|A)!=(0|(t=t+2|0)););A=i}if(!(1&u))break i;hr(r,(i=c[o>>2])+(t=$e(A,0,a,b)+f|0)|0,a);break i}if(e=1,o=c[i>>2],f=c[i+48>>2],A=c[i+68>>2],a=c[i+40>>2],b=c[i+44>>2],i=0,1!=(0|u))for(_=-2&u,t=0;p=hr(r,(p=c[o>>2])+(s=$e(a,b,c[(l=i<<2)+A>>2],0)+f|0)|0,a),hr(p,(s=c[o>>2])+(l=$e(a,b,c[A+(4|l)>>2],0)+f|0)|0,a),i=i+2|0,(0|_)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[o>>2],hr(r,(i=$e(a,b,c[A+(i<<2)>>2],0)+f|0)+t|0,a)}else e=1;r&&er(r)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),e=1;break r;case 2:if(s=(l=k[i+24|0])<<1,u=c[b+80>>2],(0|y(s,u))==(0|f))if((b=3!=c[i+28>>2])|!(t=k[i+84|0])){l?Sr(f=vi(s),0,s):f=0;i:if(u)if(b)if(l)for(t=0;;){if(!B(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(hr((e<<1)+a|0,f,s),e=e+l|0,r=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else for(t=0;;){if(!B(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(r=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(d=c[i+68>>2],_=c[i>>2],e=c[i+48>>2],b=c[i+40>>2],p=c[i+44>>2],l){if(!t){for(i=0,t=0;r=1,hr((i<<1)+a|0,hr(f,(A=c[_>>2])+(m=$e(b,p,c[d+(t<<2)>>2],0)+e|0)|0,b),s),i=i+l|0,(0|u)!=(0|(t=t+1|0)););break i}for(i=0;r=1,hr((i<<1)+a|0,hr(f,(d=c[_>>2])+(m=$e(A,o,b,p)+e|0)|0,b),s),i=i+l|0,t=o,o=t=(A=A+1|0)?t:t+1|0,(0|u)!=(0|A)|t;);break i}if(!t){if(r=1,i=0,1!=(0|u))for(a=-2&u,t=0;o=hr(f,(o=c[_>>2])+(l=$e(b,p,c[(A=i<<2)+d>>2],0)+e|0)|0,b),l=c[_>>2],hr(o,(A=$e(b,p,c[d+(4|A)>>2],0)+e|0)+l|0,b),i=i+2|0,(0|a)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[_>>2],hr(f,(e=$e(b,p,c[d+(i<<2)>>2],0)+e|0)+t|0,b);break i}if(l=1&u,r=1,1!=(0|u))for(u&=-2,a=0,i=0;t=hr(f,(t=c[_>>2])+(s=$e(A,o,b,p)+e|0)|0,b),hr(t,(s=c[_>>2])+(d=$e(b,p,1|A,o)+e|0)|0,b),o=(A=A+2|0)>>>0<2?o+1|0:o,(0|(a=a+2|0))!=(0|u)|(i=t=a>>>0<2?i+1|0:i););if(!l)break i;i=c[_>>2],hr(f,(e=$e(A,o,b,p)+e|0)+i|0,b)}else r=1;f&&er(f)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),r=1;e=r;break r;case 4:if(d=(s=k[i+24|0])<<2,u=c[b+80>>2],(0|y(d,u))==(0|f))if((b=5!=c[i+28>>2])|!(t=k[i+84|0])){s?Sr(f=vi(d),0,d):f=0,e=1;i:if(u)if(b)if(e=0,s)for(t=0;;){if(!M(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(hr((r<<2)+a|0,f,d),r=r+s|0,e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else for(t=0;;){if(!M(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(r=c[i+68>>2],p=c[i>>2],b=c[i+48>>2],_=c[i+40>>2],l=c[i+44>>2],s){if(!t){for(i=0,t=0;hr((i<<2)+a|0,hr(f,(A=c[p>>2])+(m=$e(_,l,c[r+(t<<2)>>2],0)+b|0)|0,_),d),i=i+s|0,(0|u)!=(0|(t=t+1|0)););break i}for(i=0;hr((i<<2)+a|0,hr(f,(t=c[p>>2])+(m=$e(A,o,_,l)+b|0)|0,_),d),i=i+s|0,(0|u)!=(0|(A=A+1|0))|(o=r=A?o:o+1|0););break i}if(!t){if(i=0,1!=(0|u))for(a=-2&u,t=0;o=hr(f,(o=c[p>>2])+(s=$e(_,l,c[(A=i<<2)+r>>2],0)+b|0)|0,_),s=c[p>>2],hr(o,(A=$e(_,l,c[r+(4|A)>>2],0)+b|0)+s|0,_),i=i+2|0,(0|a)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[p>>2],hr(f,(r=$e(_,l,c[r+(i<<2)>>2],0)+b|0)+t|0,_);break i}if(s=1&u,1!=(0|u))for(u&=-2,a=0,i=0;r=hr(f,(r=c[p>>2])+(t=$e(A,o,_,l)+b|0)|0,_),hr(r,(t=c[p>>2])+(d=$e(_,l,1|A,o)+b|0)|0,_),t=o,o=(A=A+2|0)>>>0<2?t+1|0:t,(0|(a=a+2|0))!=(0|u)|(i=r=a>>>0<2?i+1|0:i););if(!s)break i;hr(f,(r=c[p>>2])+(i=$e(A,o,_,l)+b|0)|0,_)}f&&er(f)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),e=1;break r;case 1:if(u=c[b+80>>2],o=k[i+24|0],(0|y(u,o))==(0|f))if((t=2!=c[i+28>>2])|!(e=k[i+84|0])){o&&Sr(r=vi(o),0,o);i:if(u)if(t)if(e=0,o)for(t=0,f=0;;){if(!H(i,k[i+84|0]?f:c[c[i+68>>2]+(f<<2)>>2],n[i+24|0],r))break i;if(hr(t+a|0,r,o),t=t+o|0,e=u>>>0<=(f=f+1|0)>>>0,(0|f)==(0|u))break}else for(t=0;;){if(!H(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],r))break i;if(e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(o){for(t=0,f=0;b=t+a|0,_=c[c[i>>2]>>2],p=c[i+48>>2],l=e=$e(A=c[i+40>>2],c[i+44>>2],k[i+84|0]?f:c[c[i+68>>2]+(f<<2)>>2],0),hr(b,hr(r,(e=e+p|0)+_|0,A),o),t=t+o|0,e=1,(0|u)!=(0|(f=f+1|0)););break i}if(e){if(e=1,o=c[i>>2],f=c[i+48>>2],a=c[i+40>>2],b=c[i+44>>2],1!=(0|u)){for(A=-2&u,i=0,t=0;_=hr(r,(_=c[o>>2])+(p=$e(a,b,i,0)+f|0)|0,a),hr(_,(p=c[o>>2])+(l=$e(a,b,1|i,0)+f|0)|0,a),i=i+2|0,(0|A)!=(0|(t=t+2|0)););A=i}if(!(1&u))break i;hr(r,(i=c[o>>2])+(t=$e(A,0,a,b)+f|0)|0,a);break i}if(e=1,o=c[i>>2],f=c[i+48>>2],A=c[i+68>>2],a=c[i+40>>2],b=c[i+44>>2],i=0,1!=(0|u))for(_=-2&u,t=0;p=hr(r,(p=c[o>>2])+(s=$e(a,b,c[(l=i<<2)+A>>2],0)+f|0)|0,a),hr(p,(s=c[o>>2])+(l=$e(a,b,c[A+(4|l)>>2],0)+f|0)|0,a),i=i+2|0,(0|_)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[o>>2],hr(r,(i=$e(a,b,c[A+(i<<2)>>2],0)+f|0)+t|0,a)}else e=1;r&&er(r)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),e=1;break r;case 3:if(s=(l=k[i+24|0])<<1,u=c[b+80>>2],(0|y(s,u))==(0|f))if((b=4!=c[i+28>>2])|!(t=k[i+84|0])){l?Sr(f=vi(s),0,s):f=0;i:if(u)if(b)if(l)for(t=0;;){if(!Q(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(hr((e<<1)+a|0,f,s),e=e+l|0,r=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else for(t=0;;){if(!Q(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(r=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(d=c[i+68>>2],_=c[i>>2],e=c[i+48>>2],b=c[i+40>>2],p=c[i+44>>2],l){if(!t){for(i=0,t=0;r=1,hr((i<<1)+a|0,hr(f,(A=c[_>>2])+(m=$e(b,p,c[d+(t<<2)>>2],0)+e|0)|0,b),s),i=i+l|0,(0|u)!=(0|(t=t+1|0)););break i}for(i=0;r=1,hr((i<<1)+a|0,hr(f,(d=c[_>>2])+(m=$e(A,o,b,p)+e|0)|0,b),s),i=i+l|0,t=o,o=t=(A=A+1|0)?t:t+1|0,(0|u)!=(0|A)|t;);break i}if(!t){if(r=1,i=0,1!=(0|u))for(a=-2&u,t=0;o=hr(f,(o=c[_>>2])+(l=$e(b,p,c[(A=i<<2)+d>>2],0)+e|0)|0,b),l=c[_>>2],hr(o,(A=$e(b,p,c[d+(4|A)>>2],0)+e|0)+l|0,b),i=i+2|0,(0|a)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[_>>2],hr(f,(e=$e(b,p,c[d+(i<<2)>>2],0)+e|0)+t|0,b);break i}if(l=1&u,r=1,1!=(0|u))for(u&=-2,a=0,i=0;t=hr(f,(t=c[_>>2])+(s=$e(A,o,b,p)+e|0)|0,b),hr(t,(s=c[_>>2])+(d=$e(b,p,1|A,o)+e|0)|0,b),o=(A=A+2|0)>>>0<2?o+1|0:o,(0|(a=a+2|0))!=(0|u)|(i=t=a>>>0<2?i+1|0:i););if(!l)break i;i=c[_>>2],hr(f,(e=$e(A,o,b,p)+e|0)+i|0,b)}else r=1;f&&er(f)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),r=1;e=r;break r;case 5:if(d=(s=k[i+24|0])<<2,u=c[b+80>>2],(0|y(d,u))==(0|f))if((b=6!=c[i+28>>2])|!(t=k[i+84|0])){s?Sr(f=vi(d),0,d):f=0,e=1;i:if(u)if(b)if(e=0,s)for(t=0;;){if(!O(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(hr((r<<2)+a|0,f,d),r=r+s|0,e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else for(t=0;;){if(!O(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],f))break i;if(e=u>>>0<=(t=t+1|0)>>>0,(0|t)==(0|u))break}else{if(r=c[i+68>>2],p=c[i>>2],b=c[i+48>>2],_=c[i+40>>2],l=c[i+44>>2],s){if(!t){for(i=0,t=0;hr((i<<2)+a|0,hr(f,(A=c[p>>2])+(m=$e(_,l,c[r+(t<<2)>>2],0)+b|0)|0,_),d),i=i+s|0,(0|u)!=(0|(t=t+1|0)););break i}for(i=0;hr((i<<2)+a|0,hr(f,(t=c[p>>2])+(m=$e(A,o,_,l)+b|0)|0,_),d),i=i+s|0,(0|u)!=(0|(A=A+1|0))|(o=r=A?o:o+1|0););break i}if(!t){if(i=0,1!=(0|u))for(a=-2&u,t=0;o=hr(f,(o=c[p>>2])+(s=$e(_,l,c[(A=i<<2)+r>>2],0)+b|0)|0,_),s=c[p>>2],hr(o,(A=$e(_,l,c[r+(4|A)>>2],0)+b|0)+s|0,_),i=i+2|0,(0|a)!=(0|(t=t+2|0)););if(!(1&u))break i;t=c[p>>2],hr(f,(r=$e(_,l,c[r+(i<<2)>>2],0)+b|0)+t|0,_);break i}if(s=1&u,1!=(0|u))for(u&=-2,a=0,i=0;r=hr(f,(r=c[p>>2])+(t=$e(A,o,_,l)+b|0)|0,_),hr(r,(t=c[p>>2])+(d=$e(_,l,1|A,o)+b|0)|0,_),t=o,o=(A=A+2|0)>>>0<2?t+1|0:t,(0|(a=a+2|0))!=(0|u)|(i=r=a>>>0<2?i+1|0:i););if(!s)break i;hr(f,(r=c[p>>2])+(i=$e(A,o,_,l)+b|0)|0,_)}f&&er(f)}else hr(a,c[c[i>>2]>>2]+c[i+48>>2]|0,f),e=1;break r;case 8:if(v=(m=k[i+24|0])<<2,_=c[b+80>>2],(0|y(v,_))==(0|f)){if(b=c[i+28>>2],m){if(t=r=vi(v),s=1+((p=v-4|0)>>>2|0)&7)for(f=0;c[t>>2]=-1073741824,t=t+4|0,(0|s)!=(0|(f=f+1|0)););if(!(p>>>0<28))for(f=(m<<2)+r|0;c[t+24>>2]=-1073741824,c[t+28>>2]=-1073741824,c[t+16>>2]=-1073741824,c[t+20>>2]=-1073741824,c[t+8>>2]=-1073741824,c[t+12>>2]=-1073741824,c[t>>2]=-1073741824,c[t+4>>2]=-1073741824,(0|f)!=(0|(t=t+32|0)););}i:if(_)if(9!=(0|b))if(m)for(f=0,t=0;;){if(!X(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],r))break i;if(hr((f<<2)+a|0,r,v),f=f+m|0,e=_>>>0<=(t=t+1|0)>>>0,(0|t)==(0|_))break}else for(t=0;;){if(!X(i,k[i+84|0]?t:c[c[i+68>>2]+(t<<2)>>2],n[i+24|0],r))break i;if(e=_>>>0<=(t=t+1|0)>>>0,(0|t)==(0|_))break}else{if(h=c[i+68>>2],s=c[i>>2],b=c[i+48>>2],R=k[i+84|0],p=c[i+44>>2],d=i=c[i+40>>2],m){for(f=0,t=0;o=(f<<2)+a|0,A=c[s>>2],hr(o,hr(r,(e=$e(i,p,R?t:c[h+(t<<2)>>2],0)+b|0)+A|0,d),v),f=f+m|0,e=1,(0|_)!=(0|(t=t+1|0)););break i}if(!R){if(e=1,t=0,1!=(0|_))for(a=-2&_,f=0;o=hr(r,(o=c[s>>2])+(u=$e(i,p,c[(A=t<<2)+h>>2],0)+b|0)|0,d),hr(o,(u=c[s>>2])+(A=$e(i,p,c[h+(4|A)>>2],0)+b|0)|0,d),t=t+2|0,(0|a)!=(0|(f=f+2|0)););if(!(1&_))break i;f=c[s>>2],hr(r,(i=$e(i,p,c[h+(t<<2)>>2],0)+b|0)+f|0,d);break i}if(a=1&_,e=1,1!=(0|_))for(_&=-2;t=hr(r,(t=c[s>>2])+(f=$e(A,o,i,p)+b|0)|0,d),hr(t,(f=c[s>>2])+(m=$e(i,p,1|A,o)+b|0)|0,d),o=(A=A+2|0)>>>0<2?o+1|0:o,t=u,l=f=l+2|0,u=t=f>>>0<2?t+1|0:t,(0|f)!=(0|_)|t;);if(!a)break i;t=c[s>>2],hr(r,(i=$e(A,o,i,p)+b|0)+t|0,d)}else e=1;r&&er(r)}r=e;break;default:break e}e=r}return 0|e},fb:function(r,e){r|=0,e|=0;var i,t,f=0,a=0,A=0,b=0,u=0,_=0,p=0,l=0,y=0,d=0,m=0,v=0,h=0,R=0,N=0,T=0,V=0,U=0,W=0,D=0,G=0,E=0;Z=t=Z-16|0,c[t+12>>2]=e,e=vi(32),c[t>>2]=e,c[t+4>>2]=24,c[t+8>>2]=-2147483616,f=k[1196]|k[1197]<<8|k[1198]<<16|k[1199]<<24,a=k[1192]|k[1193]<<8|k[1194]<<16|k[1195]<<24,n[e+16|0]=a,n[e+17|0]=a>>>8,n[e+18|0]=a>>>16,n[e+19|0]=a>>>24,n[e+20|0]=f,n[e+21|0]=f>>>8,n[e+22|0]=f>>>16,n[e+23|0]=f>>>24,f=k[1188]|k[1189]<<8|k[1190]<<16|k[1191]<<24,a=k[1184]|k[1185]<<8|k[1186]<<16|k[1187]<<24,n[e+8|0]=a,n[e+9|0]=a>>>8,n[e+10|0]=a>>>16,n[e+11|0]=a>>>24,n[e+12|0]=f,n[e+13|0]=f>>>8,n[e+14|0]=f>>>16,n[e+15|0]=f>>>24,f=k[1180]|k[1181]<<8|k[1182]<<16|k[1183]<<24,a=k[1176]|k[1177]<<8|k[1178]<<16|k[1179]<<24,n[0|e]=a,n[e+1|0]=a>>>8,n[e+2|0]=a>>>16,n[e+3|0]=a>>>24,n[e+4|0]=f,n[e+5|0]=f>>>8,n[e+6|0]=f>>>16,n[e+7|0]=f>>>24,n[e+24|0]=0,Z=i=Z-48|0,b=c[t+12>>2],a=r;r:{if(e=c[(r=r+16|0)>>2]){for(f=r;f=(A=(0|b)>c[e+16>>2])?f:e,e=c[(A?e+4:e)>>2];);if((0|r)!=(0|f)&&(0|b)>=c[f+16>>2])break r}c[i+28>>2]=0,c[i+32>>2]=0,D=i+24|0,c[i+24>>2]=4|D,c[(r=i+16|0)>>2]=0,c[r+4>>2]=0,c[i+8>>2]=b,c[i+12>>2]=r,r=T=i+8|0,Z=W=Z-16|0;e:{i:if(f=c[(V=a+12|0)+4>>2]){for(r=c[r>>2];;){if(a=f,(0|(e=c[f+16>>2]))>(0|r)){if(m=a,f=c[a>>2])continue;break i}if((0|r)<=(0|e)){u=a,r=0;break e}if(!(f=c[a+4>>2]))break}m=a+4|0}else a=m=V+4|0;if(u=vi(32),e=c[T>>2],c[(r=h=u+24|0)>>2]=0,c[r+4>>2]=0,c[u+16>>2]=e,c[(R=u+20|0)>>2]=r,(0|(f=c[T+4>>2]))!=(0|(G=T+8|0)))for(;;){Z=v=Z-16|0,r=v+8|0,y=f+16|0;i:{t:{f:{a:{n:{A:{o:{b:if((0|(b=h))!=(0|(A=R+4|0)))if(_=(e=k[b+27|0])<<24>>24<0,U=(N=(p=(l=(0|(d=(p=k[y+11|0])<<24>>24))<0)?c[y+4>>2]:p)>>>0>(e=_?c[b+20>>2]:e)>>>0)?e:p){if(!(E=Ye(l=l?c[y>>2]:y,_=_?c[b+16>>2]:b+16|0,U))){if(e>>>0>p>>>0)break b;break o}if((0|E)>=0)break o}else if(e>>>0<=p>>>0)break A;_=c[b>>2];b:{u:if((0|(r=b))!=c[R>>2]){if(_)for(e=_;r=e,e=c[e+4>>2];);else for(e=b;r=c[e+8>>2],p=c[r>>2]==(0|e),e=r,p;);if(e=(0|(N=(p=k[y+11|0])<<24>>24))<0,d=(l=k[r+27|0])<<24>>24<0,!(U=(p=e?c[y+4>>2]:p)>>>0<(l=d?c[r+20>>2]:l)>>>0?p:l)||!(e=Ye(d?c[r+16>>2]:r+16|0,e?c[y>>2]:y,U))){if(p>>>0>l>>>0)break u;break b}if((0|e)>=0)break b}if(!_){c[v+12>>2]=b,r=b;break i}c[v+12>>2]=r,r=r+4|0;break i}if(!(e=c[A>>2])){c[v+12>>2]=A,r=A;break i}for(_=(0|N)<0?c[y>>2]:y,b=A;;){r=e;b:{u:{c:{k:{_:if(d=(y=(e=(A=(e=k[e+27|0])<<24>>24<0)?c[r+20>>2]:e)>>>0<p>>>0)?e:p){if(!(l=Ye(_,A=A?c[r+16>>2]:r+16|0,d))){if(e>>>0>p>>>0)break _;break k}if((0|l)>=0)break k}else if(e>>>0<=p>>>0)break c;if(b=r,e=c[r>>2])continue;break f}if(e=Ye(A,_,d))break u}if(y)break b;break f}if((0|e)>=0)break f}if(b=r+4|0,!(e=c[r+4>>2]))break}break f}if(e=Ye(_,l,U))break n}if(N)break a;break t}if((0|e)>=0)break t}if(_=c[b+4>>2])for(e=_;r=e,e=c[e>>2];);else for(e=b;r=c[e+8>>2],l=c[r>>2]!=(0|e),e=r,l;);a:{n:if((0|r)!=(0|A)){if(!(N=p>>>0>(l=(e=(l=k[r+27|0])<<24>>24<0)?c[r+20>>2]:l)>>>0?l:p)||!(e=Ye((0|d)<0?c[y>>2]:y,e?c[r+16>>2]:r+16|0,N))){if(p>>>0<l>>>0)break n;break a}if((0|e)>=0)break a}if(!_){c[v+12>>2]=b,r=b+4|0;break i}c[v+12>>2]=r;break i}if(!(e=c[A>>2])){c[v+12>>2]=A,r=A;break i}for(_=(0|d)<0?c[y>>2]:y,b=A;;){r=e;a:{n:{A:{o:{b:if(d=(y=(e=(A=(e=k[e+27|0])<<24>>24<0)?c[r+20>>2]:e)>>>0<p>>>0)?e:p){if(!(l=Ye(_,A=A?c[r+16>>2]:r+16|0,d))){if(e>>>0>p>>>0)break b;break o}if((0|l)>=0)break o}else if(e>>>0<=p>>>0)break A;if(b=r,e=c[r>>2])continue;break f}if(e=Ye(A,_,d))break n}if(y)break a;break f}if((0|e)>=0)break f}if(b=r+4|0,!(e=c[r+4>>2]))break}}c[v+12>>2]=r,r=b;break i}c[v+12>>2]=b,c[r>>2]=b}b=r,(r=c[r>>2])?e=0:(e=(r=vi(40))+16|0,n[f+27|0]>=0?(A=c[f+20>>2],c[e>>2]=c[f+16>>2],c[e+4>>2]=A,c[e+8>>2]=c[f+24>>2]):me(e,c[f+16>>2],c[f+20>>2]),e=r+28|0,n[f+39|0]>=0?(A=c[f+32>>2],c[e>>2]=c[f+28>>2],c[e+4>>2]=A,c[e+8>>2]=c[f+36>>2]):me(e,c[f+28>>2],c[f+32>>2]),c[r+8>>2]=c[v+12>>2],c[r>>2]=0,c[r+4>>2]=0,c[b>>2]=r,e=r,(A=c[c[R>>2]>>2])&&(c[R>>2]=A,e=c[b>>2]),Ur(c[R+4>>2],e),c[R+8>>2]=c[R+8>>2]+1,e=1),n[W+12|0]=e,c[W+8>>2]=r,Z=v+16|0;i:{if(e=c[f+4>>2])for(;;)if(f=e,!(e=c[e>>2]))break i;for(;r=f,f=c[f+8>>2],(0|r)!=c[f>>2];);}if((0|f)==(0|G))break}c[u+8>>2]=a,c[u>>2]=0,c[u+4>>2]=0,c[m>>2]=u,f=u,(r=c[c[V>>2]>>2])&&(c[V>>2]=r,f=c[m>>2]),Ur(c[V+4>>2],f),c[V+8>>2]=c[V+8>>2]+1,r=1}n[i+44|0]=r,c[i+40>>2]=u,Z=W+16|0,f=c[i+40>>2],hi(4|T,c[i+16>>2]),hi(D,c[i+28>>2])}if(a=(b=Z-48|0)+8|0,Z=u=(Z=b)-32|0,(0|(A=(e=m=u+32|0)-(r=u+21|0)|0))<=9&&(_=61,(0|A)<(s[2684]<=1|0))||(n[0|r]=49,e=r+1|0,_=0),c[u+12>>2]=_,c[u+8>>2]=e,Z=A=(Z=_=Z-16|0)-16|0,(u=(h=c[u+8>>2])-r|0)>>>0<=2147483631){for(u>>>0<11?(n[a+11|0]=u|128&k[a+11|0],n[a+11|0]=127&k[a+11|0],e=a):(Ci(T=A+8|0,(e=u>>>0>=11?11==(0|(e=(y=u+16&-16)-1|0))?y:e:10)+1|0),e=c[A+8>>2],c[a>>2]=e,c[a+8>>2]=-2147483648&c[a+8>>2]|2147483647&c[A+12>>2],c[a+8>>2]=-2147483648|c[a+8>>2],c[a+4>>2]=u);(0|r)!=(0|h);)n[0|e]=k[0|r],e=e+1|0,r=r+1|0;n[A+7|0]=0,n[0|e]=k[A+7|0],Z=A+16|0}else yt(),o();Z=_+16|0,Z=m,c[b+32>>2]=t;r:{e:{i:if(a=c[(r=f+20|0)+4>>2]){for(A=(f=(e=k[t+11|0])<<24>>24<0)?c[t>>2]:t,e=f?c[t+4>>2]:e;;){t:{f:{a:{n:{A:if(_=(m=(a=(u=(a=k[(f=a)+27|0])<<24>>24<0)?c[f+20>>2]:a)>>>0<e>>>0)?a:e){if(!(h=Ye(A,u=u?c[f+16>>2]:f+16|0,_))){if(e>>>0<a>>>0)break A;break n}if((0|h)>=0)break n}else if(e>>>0>=a>>>0)break a;if(u=f,a=c[f>>2])continue;break i}if(a=Ye(u,A,_))break f}if(m)break t;break e}if((0|a)>=0)break e}if(!(a=c[f+4>>2]))break}u=f+4|0}else f=u=r+4|0;A=(a=vi(40))+16|0,e=c[b+32>>2],n[e+11|0]>=0?(m=c[e+4>>2],c[A>>2]=c[e>>2],c[A+4>>2]=m,c[A+8>>2]=c[e+8>>2]):me(A,c[e>>2],c[e+4>>2]),c[a+8>>2]=f,c[a>>2]=0,c[a+4>>2]=0,c[a+36>>2]=0,c[a+28>>2]=0,c[a+32>>2]=0,c[u>>2]=a,f=a,(e=c[c[r>>2]>>2])&&(c[r>>2]=e,f=c[u>>2]),Ur(c[r+4>>2],f),c[r+8>>2]=c[r+8>>2]+1,r=1;break r}a=f,r=0}n[b+44|0]=r,c[b+40>>2]=a,r=c[b+40>>2],n[r+39|0]<0&&er(c[r+28>>2]),e=c[b+12>>2],c[r+28>>2]=c[b+8>>2],c[r+32>>2]=e,c[r+36>>2]=c[b+16>>2],Z=b+48|0,Z=i+48|0,n[t+11|0]<0&&er(c[t>>2]),Z=t+16|0},gb:function(r,e){r|=0;var i,t,f=0,a=0;a=(t=Z-32|0)+8|0,Z=i=(Z=t)-80|0,r=c[(e|=0)+36>>2],c[i+72>>2]=c[e+32>>2],c[i+76>>2]=r,f=c[e+28>>2],c[(r=i- -64|0)>>2]=c[e+24>>2],c[r+4>>2]=f,r=c[e+20>>2],c[i+56>>2]=c[e+16>>2],c[i+60>>2]=r,r=c[e+12>>2],c[i+48>>2]=c[e+8>>2],c[i+52>>2]=r,r=c[e+4>>2],c[i+40>>2]=c[e>>2],c[i+44>>2]=r,P(i+8|0,i+40|0,i+24|0);r:if(r=c[i+8>>2]){if(c[a>>2]=r,r=a+4|0,n[i+23|0]>=0){a=c[(e=i+8|4)+4>>2],c[r>>2]=c[e>>2],c[r+4>>2]=a,c[r+8>>2]=c[e+8>>2];break r}if(me(r,c[i+12>>2],c[i+16>>2]),n[i+23|0]>=0)break r;er(c[i+12>>2])}else if(n[i+23|0]<0&&er(c[i+12>>2]),(r=k[i+31|0])>>>0>=2){if(e=vi(32),n[e+26|0]=0,r=k[1475]|k[1476]<<8,n[e+24|0]=r,n[e+25|0]=r>>>8,r=k[1471]|k[1472]<<8|k[1473]<<16|k[1474]<<24,f=k[1467]|k[1468]<<8|k[1469]<<16|k[1470]<<24,n[e+16|0]=f,n[e+17|0]=f>>>8,n[e+18|0]=f>>>16,n[e+19|0]=f>>>24,n[e+20|0]=r,n[e+21|0]=r>>>8,n[e+22|0]=r>>>16,n[e+23|0]=r>>>24,r=k[1463]|k[1464]<<8|k[1465]<<16|k[1466]<<24,f=k[1459]|k[1460]<<8|k[1461]<<16|k[1462]<<24,n[e+8|0]=f,n[e+9|0]=f>>>8,n[e+10|0]=f>>>16,n[e+11|0]=f>>>24,n[e+12|0]=r,n[e+13|0]=r>>>8,n[e+14|0]=r>>>16,n[e+15|0]=r>>>24,r=k[1455]|k[1456]<<8|k[1457]<<16|k[1458]<<24,f=k[1451]|k[1452]<<8|k[1453]<<16|k[1454]<<24,n[0|e]=f,n[e+1|0]=f>>>8,n[e+2|0]=f>>>16,n[e+3|0]=f>>>24,n[e+4|0]=r,n[e+5|0]=r>>>8,n[e+6|0]=r>>>16,n[e+7|0]=r>>>24,c[i+8>>2]=-1,me(r=i+8|4,e,26),f=n[i+23|0],c[a>>2]=c[i+8>>2],a=a+4|0,(0|f)>=0){f=c[r+4>>2],c[a>>2]=c[r>>2],c[a+4>>2]=f,c[a+8>>2]=c[r+8>>2],er(e);break r}me(a,c[i+12>>2],c[i+16>>2]),n[i+23|0]<0&&er(c[i+12>>2]),er(e)}else c[a>>2]=0,c[a+4>>2]=0,c[a+16>>2]=r,c[a+8>>2]=0,c[a+12>>2]=0;return Z=i+80|0,r=c[t+24>>2],n[t+23|0]<0&&er(c[t+12>>2]),Z=t+32|0,0|r},hb:function(r,e,i){r|=0,e|=0,i|=0;var t,f=0,a=0,A=0;Z=e=Z-16|0,Qr(e),c[r+24>>2]=c[e>>2];r:if((0|(t=r+24|0))!=(0|e))if(i=r+28|0,f=4|e,A=(a=k[e+15|0])<<24>>24,n[r+39|0]>=0){if((0|A)>=0){r=c[f+4>>2],c[i>>2]=c[f>>2],c[i+4>>2]=r,c[i+8>>2]=c[f+8>>2];break r}ri(i,c[e+4>>2],c[e+8>>2])}else qe(i,(r=(0|A)<0)?c[e+4>>2]:f,r?c[e+8>>2]:a);return n[e+15|0]<0&&er(c[e+4>>2]),Z=e+16|0,0|t},ib:function(r,e,i){var t,f,a=0,A=0;Z=t=Z-16|0,I(t,r|=0,e|=0,i|=0),c[r+24>>2]=c[t>>2];r:if((0|(f=r+24|0))!=(0|t))if(e=r+28|0,i=4|t,A=(a=k[t+15|0])<<24>>24,n[r+39|0]>=0){if((0|A)>=0){r=c[i+4>>2],c[e>>2]=c[i>>2],c[e+4>>2]=r,c[e+8>>2]=c[i+8>>2];break r}ri(e,c[t+4>>2],c[t+8>>2])}else qe(e,(r=(0|A)<0)?c[t+4>>2]:i,r?c[t+8>>2]:a);return n[t+15|0]<0&&er(c[t+4>>2]),Z=t+16|0,0|f},jb:function(r){(r|=0)&&(n[r+39|0]<0&&er(c[r+28>>2]),Fi(r+12|0,c[r+16>>2]),hi(r,c[r+4>>2]),er(r))},kb:Rt,lb:Tt,mb:Nt,nb:Wt,ob:Rt,pb:Tt,qb:Nt,rb:Wt,sb:Vt,tb:Ut,ub:Rt,vb:Tt,wb:Nt,xb:Tt,yb:Nt,zb:Wt,Ab:Vt,Bb:Ut,Cb:function(){return 5},Db:function(){return 6},Eb:function(){return 7},Fb:function(){return 8},Gb:function(){return 9},Hb:function(){return 10},Ib:function(){return 11},Jb:function(){return 12},Kb:Tt,Lb:Rt,Mb:function(){return-2},Nb:function(){return-3},Ob:function(){return-4},Pb:function(){return-5},Qb:Y,Rb:er,Sb:function(r){return(r|=0)?0|!!(0|Xr(r,11164)):0}}}(r)}(e)},instantiate:function(r,e){return{then:function(i){var t=new h.Module(r);i({instance:new h.Instance(t,e)})}}},RuntimeError:Error};y=[],"object"!=typeof h&&O("no native wasm support detected");var R=!1;function N(r,e){r||O(e)}var T,V,U,W,D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function G(r,e){return r?function(r,e,i){for(var t=e+i,f=e;r[f]&&!(f>=t);)++f;if(f-e>16&&r.buffer&&D)return D.decode(r.subarray(e,f));for(var a="";e<f;){var n=r[e++];if(128&n){var A=63&r[e++];if(192!=(224&n)){var o=63&r[e++];if((n=224==(240&n)?(15&n)<<12|A<<6|o:(7&n)<<18|A<<12|o<<6|63&r[e++])<65536)a+=String.fromCharCode(n);else{var b=n-65536;a+=String.fromCharCode(55296|b>>10,56320|1023&b)}}else a+=String.fromCharCode((31&n)<<6|A)}else a+=String.fromCharCode(n)}return a}(V,r,e):""}function Z(){var r=m.buffer;f.HEAP8=T=new Int8Array(r),f.HEAP16=new Int16Array(r),f.HEAP32=U=new Int32Array(r),f.HEAPU8=V=new Uint8Array(r),f.HEAPU16=new Uint16Array(r),f.HEAPU32=W=new Uint32Array(r),f.HEAPF32=new Float32Array(r),f.HEAPF64=new Float64Array(r)}var E=f.INITIAL_MEMORY||16777216;N(E>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+E+"! (STACK_SIZE=65536)"),m=f.wasmMemory?f.wasmMemory:new h.Memory({initial:E/65536,maximum:32768}),Z(),E=m.buffer.byteLength;var F=[],I=[],Y=[],w=!1;function j(r){F.unshift(r)}function J(r){I.unshift(r)}function B(r){Y.unshift(r)}var M=0,Q=null,g=null;function O(r){f.onAbort&&f.onAbort(r),d(r="Aborted("+r+")"),R=!0,r+=". Build with -sASSERTIONS for more info.";var e=new h.RuntimeError(r);throw t(e),e}var C,z,X="data:application/octet-stream;base64,";function S(r){return r.startsWith(X)}function H(r){return r.startsWith("file://")}function P(r){try{if(r==C&&y)return new Uint8Array(y);var e=rr(r);if(e)return e;if(b)return b(r);throw"both async and sync fetching of the wasm failed"}catch(r){O(r)}}function x(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}function L(r){for(;r.length>0;)r.shift()(f)}function K(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){W[this.ptr+4>>2]=r},this.get_type=function(){return W[this.ptr+4>>2]},this.set_destructor=function(r){W[this.ptr+8>>2]=r},this.get_destructor=function(){return W[this.ptr+8>>2]},this.set_refcount=function(r){U[this.ptr>>2]=r},this.set_caught=function(r){r=r?1:0,T[this.ptr+12|0]=r},this.get_caught=function(){return 0!=T[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,T[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=T[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var r=U[this.ptr>>2];U[this.ptr>>2]=r+1},this.release_ref=function(){var r=U[this.ptr>>2];return U[this.ptr>>2]=r-1,1===r},this.set_adjusted_ptr=function(r){W[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return W[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Bi(this.get_type()))return W[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}S(C="draco_decoder_gltf.wasm")||(z=C,C=f.locateFile?f.locateFile(z,s):s+z);function q(r){var e=m.buffer;try{return m.grow(r-e.byteLength+65535>>>16),Z(),1}catch(r){}}var $="function"==typeof atob?atob:function(r){var e,i,t,f,a,n,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",b=0;r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=A.indexOf(r.charAt(b++))<<2|(f=A.indexOf(r.charAt(b++)))>>4,i=(15&f)<<4|(a=A.indexOf(r.charAt(b++)))>>2,t=(3&a)<<6|(n=A.indexOf(r.charAt(b++))),o+=String.fromCharCode(e),64!==a&&(o+=String.fromCharCode(i)),64!==n&&(o+=String.fromCharCode(t))}while(b<r.length);return o};function rr(r){if(S(r))return function(r){if("boolean"==typeof _&&_){var e=Buffer.from(r,"base64");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var i=$(r),t=new Uint8Array(i.length),f=0;f<i.length;++f)t[f]=i.charCodeAt(f);return t}catch(r){throw new Error("Converting base64 string to bytes failed.")}}(r.slice(X.length))}var er,ir={c:function(r,e,i){throw new K(r).init(e,i),r},b:function(){O("")},e:function(r,e,i){V.copyWithin(r,e,e+i)},d:function(r){var e=V.length,i=2147483648;if((r>>>=0)>i)return!1;let t=(r,e)=>r+(e-r%e)%e;for(var f=1;f<=4;f*=2){var a=e*(1+.2/f);if(a=Math.min(a,r+100663296),q(Math.min(i,t(Math.max(r,a),65536))))return!0}return!1},a:m},tr=(function(){var r={a:ir};function e(r,e){var i=r.exports;f.asm=i,f.asm.g,J(f.asm.f),function(){if(M--,f.monitorRunDependencies&&f.monitorRunDependencies(M),0==M&&(null!==Q&&(clearInterval(Q),Q=null),g)){var r=g;g=null,r()}}()}function i(r){e(r.instance)}function a(e){return function(){if(!y&&(c||k)){if("function"==typeof fetch&&!H(C))return fetch(C,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+C+"'";return r.arrayBuffer()}).catch(function(){return P(C)});if(o)return new Promise(function(r,e){o(C,function(e){r(new Uint8Array(e))},e)})}return Promise.resolve().then(function(){return P(C)})}().then(function(e){return h.instantiate(e,r)}).then(function(r){return r}).then(e,function(r){d("failed to asynchronously prepare wasm: "+r),O(r)})}if(M++,f.monitorRunDependencies&&f.monitorRunDependencies(M),f.instantiateWasm)try{return f.instantiateWasm(r,e)}catch(r){d("Module.instantiateWasm callback failed with error: "+r),t(r)}(y||"function"!=typeof h.instantiateStreaming||S(C)||H(C)||_||"function"!=typeof fetch?a(i):fetch(C,{credentials:"same-origin"}).then(function(e){return h.instantiateStreaming(e,r).then(i,function(r){return d("wasm streaming compile failed: "+r),d("falling back to ArrayBuffer instantiation"),a(i)})})).catch(t)}(),f._emscripten_bind_VoidPtr___destroy___0=function(){return(tr=f._emscripten_bind_VoidPtr___destroy___0=f.asm.h).apply(null,arguments)}),fr=f._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(fr=f._emscripten_bind_DecoderBuffer_DecoderBuffer_0=f.asm.i).apply(null,arguments)},ar=f._emscripten_bind_DecoderBuffer_Init_2=function(){return(ar=f._emscripten_bind_DecoderBuffer_Init_2=f.asm.j).apply(null,arguments)},nr=f._emscripten_bind_DecoderBuffer___destroy___0=function(){return(nr=f._emscripten_bind_DecoderBuffer___destroy___0=f.asm.k).apply(null,arguments)},Ar=f._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(Ar=f._emscripten_bind_AttributeTransformData_AttributeTransformData_0=f.asm.l).apply(null,arguments)},or=f._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(or=f._emscripten_bind_AttributeTransformData_transform_type_0=f.asm.m).apply(null,arguments)},br=f._emscripten_bind_AttributeTransformData___destroy___0=function(){return(br=f._emscripten_bind_AttributeTransformData___destroy___0=f.asm.n).apply(null,arguments)},ur=f._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(ur=f._emscripten_bind_GeometryAttribute_GeometryAttribute_0=f.asm.o).apply(null,arguments)},cr=f._emscripten_bind_GeometryAttribute___destroy___0=function(){return(cr=f._emscripten_bind_GeometryAttribute___destroy___0=f.asm.p).apply(null,arguments)},kr=f._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(kr=f._emscripten_bind_PointAttribute_PointAttribute_0=f.asm.q).apply(null,arguments)},_r=f._emscripten_bind_PointAttribute_size_0=function(){return(_r=f._emscripten_bind_PointAttribute_size_0=f.asm.r).apply(null,arguments)},sr=f._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(sr=f._emscripten_bind_PointAttribute_GetAttributeTransformData_0=f.asm.s).apply(null,arguments)},pr=f._emscripten_bind_PointAttribute_attribute_type_0=function(){return(pr=f._emscripten_bind_PointAttribute_attribute_type_0=f.asm.t).apply(null,arguments)},lr=f._emscripten_bind_PointAttribute_data_type_0=function(){return(lr=f._emscripten_bind_PointAttribute_data_type_0=f.asm.u).apply(null,arguments)},yr=f._emscripten_bind_PointAttribute_num_components_0=function(){return(yr=f._emscripten_bind_PointAttribute_num_components_0=f.asm.v).apply(null,arguments)},dr=f._emscripten_bind_PointAttribute_normalized_0=function(){return(dr=f._emscripten_bind_PointAttribute_normalized_0=f.asm.w).apply(null,arguments)},mr=f._emscripten_bind_PointAttribute_byte_stride_0=function(){return(mr=f._emscripten_bind_PointAttribute_byte_stride_0=f.asm.x).apply(null,arguments)},vr=f._emscripten_bind_PointAttribute_byte_offset_0=function(){return(vr=f._emscripten_bind_PointAttribute_byte_offset_0=f.asm.y).apply(null,arguments)},hr=f._emscripten_bind_PointAttribute_unique_id_0=function(){return(hr=f._emscripten_bind_PointAttribute_unique_id_0=f.asm.z).apply(null,arguments)},Rr=f._emscripten_bind_PointAttribute___destroy___0=function(){return(Rr=f._emscripten_bind_PointAttribute___destroy___0=f.asm.A).apply(null,arguments)},Nr=f._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Nr=f._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=f.asm.B).apply(null,arguments)},Tr=f._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Tr=f._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=f.asm.C).apply(null,arguments)},Vr=f._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Vr=f._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=f.asm.D).apply(null,arguments)},Ur=f._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ur=f._emscripten_bind_AttributeQuantizationTransform_min_value_1=f.asm.E).apply(null,arguments)},Wr=f._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Wr=f._emscripten_bind_AttributeQuantizationTransform_range_0=f.asm.F).apply(null,arguments)},Dr=f._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(Dr=f._emscripten_bind_AttributeQuantizationTransform___destroy___0=f.asm.G).apply(null,arguments)},Gr=f._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Gr=f._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=f.asm.H).apply(null,arguments)},Zr=f._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Zr=f._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=f.asm.I).apply(null,arguments)},Er=f._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Er=f._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=f.asm.J).apply(null,arguments)},Fr=f._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Fr=f._emscripten_bind_AttributeOctahedronTransform___destroy___0=f.asm.K).apply(null,arguments)},Ir=f._emscripten_bind_PointCloud_PointCloud_0=function(){return(Ir=f._emscripten_bind_PointCloud_PointCloud_0=f.asm.L).apply(null,arguments)},Yr=f._emscripten_bind_PointCloud_num_attributes_0=function(){return(Yr=f._emscripten_bind_PointCloud_num_attributes_0=f.asm.M).apply(null,arguments)},wr=f._emscripten_bind_PointCloud_num_points_0=function(){return(wr=f._emscripten_bind_PointCloud_num_points_0=f.asm.N).apply(null,arguments)},jr=f._emscripten_bind_PointCloud___destroy___0=function(){return(jr=f._emscripten_bind_PointCloud___destroy___0=f.asm.O).apply(null,arguments)},Jr=f._emscripten_bind_Mesh_Mesh_0=function(){return(Jr=f._emscripten_bind_Mesh_Mesh_0=f.asm.P).apply(null,arguments)},Br=f._emscripten_bind_Mesh_num_faces_0=function(){return(Br=f._emscripten_bind_Mesh_num_faces_0=f.asm.Q).apply(null,arguments)},Mr=f._emscripten_bind_Mesh_num_attributes_0=function(){return(Mr=f._emscripten_bind_Mesh_num_attributes_0=f.asm.R).apply(null,arguments)},Qr=f._emscripten_bind_Mesh_num_points_0=function(){return(Qr=f._emscripten_bind_Mesh_num_points_0=f.asm.S).apply(null,arguments)},gr=f._emscripten_bind_Mesh___destroy___0=function(){return(gr=f._emscripten_bind_Mesh___destroy___0=f.asm.T).apply(null,arguments)},Or=f._emscripten_bind_Metadata_Metadata_0=function(){return(Or=f._emscripten_bind_Metadata_Metadata_0=f.asm.U).apply(null,arguments)},Cr=f._emscripten_bind_Metadata___destroy___0=function(){return(Cr=f._emscripten_bind_Metadata___destroy___0=f.asm.V).apply(null,arguments)},zr=f._emscripten_bind_Status_code_0=function(){return(zr=f._emscripten_bind_Status_code_0=f.asm.W).apply(null,arguments)},Xr=f._emscripten_bind_Status_ok_0=function(){return(Xr=f._emscripten_bind_Status_ok_0=f.asm.X).apply(null,arguments)},Sr=f._emscripten_bind_Status_error_msg_0=function(){return(Sr=f._emscripten_bind_Status_error_msg_0=f.asm.Y).apply(null,arguments)},Hr=f._emscripten_bind_Status___destroy___0=function(){return(Hr=f._emscripten_bind_Status___destroy___0=f.asm.Z).apply(null,arguments)},Pr=f._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(Pr=f._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=f.asm._).apply(null,arguments)},xr=f._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(xr=f._emscripten_bind_DracoFloat32Array_GetValue_1=f.asm.$).apply(null,arguments)},Lr=f._emscripten_bind_DracoFloat32Array_size_0=function(){return(Lr=f._emscripten_bind_DracoFloat32Array_size_0=f.asm.aa).apply(null,arguments)},Kr=f._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(Kr=f._emscripten_bind_DracoFloat32Array___destroy___0=f.asm.ba).apply(null,arguments)},qr=f._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(qr=f._emscripten_bind_DracoInt8Array_DracoInt8Array_0=f.asm.ca).apply(null,arguments)},$r=f._emscripten_bind_DracoInt8Array_GetValue_1=function(){return($r=f._emscripten_bind_DracoInt8Array_GetValue_1=f.asm.da).apply(null,arguments)},re=f._emscripten_bind_DracoInt8Array_size_0=function(){return(re=f._emscripten_bind_DracoInt8Array_size_0=f.asm.ea).apply(null,arguments)},ee=f._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ee=f._emscripten_bind_DracoInt8Array___destroy___0=f.asm.fa).apply(null,arguments)},ie=f._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(ie=f._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=f.asm.ga).apply(null,arguments)},te=f._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(te=f._emscripten_bind_DracoUInt8Array_GetValue_1=f.asm.ha).apply(null,arguments)},fe=f._emscripten_bind_DracoUInt8Array_size_0=function(){return(fe=f._emscripten_bind_DracoUInt8Array_size_0=f.asm.ia).apply(null,arguments)},ae=f._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(ae=f._emscripten_bind_DracoUInt8Array___destroy___0=f.asm.ja).apply(null,arguments)},ne=f._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(ne=f._emscripten_bind_DracoInt16Array_DracoInt16Array_0=f.asm.ka).apply(null,arguments)},Ae=f._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(Ae=f._emscripten_bind_DracoInt16Array_GetValue_1=f.asm.la).apply(null,arguments)},oe=f._emscripten_bind_DracoInt16Array_size_0=function(){return(oe=f._emscripten_bind_DracoInt16Array_size_0=f.asm.ma).apply(null,arguments)},be=f._emscripten_bind_DracoInt16Array___destroy___0=function(){return(be=f._emscripten_bind_DracoInt16Array___destroy___0=f.asm.na).apply(null,arguments)},ue=f._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(ue=f._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=f.asm.oa).apply(null,arguments)},ce=f._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ce=f._emscripten_bind_DracoUInt16Array_GetValue_1=f.asm.pa).apply(null,arguments)},ke=f._emscripten_bind_DracoUInt16Array_size_0=function(){return(ke=f._emscripten_bind_DracoUInt16Array_size_0=f.asm.qa).apply(null,arguments)},_e=f._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(_e=f._emscripten_bind_DracoUInt16Array___destroy___0=f.asm.ra).apply(null,arguments)},se=f._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(se=f._emscripten_bind_DracoInt32Array_DracoInt32Array_0=f.asm.sa).apply(null,arguments)},pe=f._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(pe=f._emscripten_bind_DracoInt32Array_GetValue_1=f.asm.ta).apply(null,arguments)},le=f._emscripten_bind_DracoInt32Array_size_0=function(){return(le=f._emscripten_bind_DracoInt32Array_size_0=f.asm.ua).apply(null,arguments)},ye=f._emscripten_bind_DracoInt32Array___destroy___0=function(){return(ye=f._emscripten_bind_DracoInt32Array___destroy___0=f.asm.va).apply(null,arguments)},de=f._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(de=f._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=f.asm.wa).apply(null,arguments)},me=f._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(me=f._emscripten_bind_DracoUInt32Array_GetValue_1=f.asm.xa).apply(null,arguments)},ve=f._emscripten_bind_DracoUInt32Array_size_0=function(){return(ve=f._emscripten_bind_DracoUInt32Array_size_0=f.asm.ya).apply(null,arguments)},he=f._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(he=f._emscripten_bind_DracoUInt32Array___destroy___0=f.asm.za).apply(null,arguments)},Re=f._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Re=f._emscripten_bind_MetadataQuerier_MetadataQuerier_0=f.asm.Aa).apply(null,arguments)},Ne=f._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Ne=f._emscripten_bind_MetadataQuerier_HasEntry_2=f.asm.Ba).apply(null,arguments)},Te=f._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Te=f._emscripten_bind_MetadataQuerier_GetIntEntry_2=f.asm.Ca).apply(null,arguments)},Ve=f._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Ve=f._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=f.asm.Da).apply(null,arguments)},Ue=f._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(Ue=f._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=f.asm.Ea).apply(null,arguments)},We=f._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(We=f._emscripten_bind_MetadataQuerier_GetStringEntry_2=f.asm.Fa).apply(null,arguments)},De=f._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(De=f._emscripten_bind_MetadataQuerier_NumEntries_1=f.asm.Ga).apply(null,arguments)},Ge=f._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Ge=f._emscripten_bind_MetadataQuerier_GetEntryName_2=f.asm.Ha).apply(null,arguments)},Ze=f._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Ze=f._emscripten_bind_MetadataQuerier___destroy___0=f.asm.Ia).apply(null,arguments)},Ee=f._emscripten_bind_Decoder_Decoder_0=function(){return(Ee=f._emscripten_bind_Decoder_Decoder_0=f.asm.Ja).apply(null,arguments)},Fe=f._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Fe=f._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=f.asm.Ka).apply(null,arguments)},Ie=f._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(Ie=f._emscripten_bind_Decoder_DecodeArrayToMesh_3=f.asm.La).apply(null,arguments)},Ye=f._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Ye=f._emscripten_bind_Decoder_GetAttributeId_2=f.asm.Ma).apply(null,arguments)},we=f._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(we=f._emscripten_bind_Decoder_GetAttributeIdByName_2=f.asm.Na).apply(null,arguments)},je=f._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(je=f._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=f.asm.Oa).apply(null,arguments)},Je=f._emscripten_bind_Decoder_GetAttribute_2=function(){return(Je=f._emscripten_bind_Decoder_GetAttribute_2=f.asm.Pa).apply(null,arguments)},Be=f._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Be=f._emscripten_bind_Decoder_GetAttributeByUniqueId_2=f.asm.Qa).apply(null,arguments)},Me=f._emscripten_bind_Decoder_GetMetadata_1=function(){return(Me=f._emscripten_bind_Decoder_GetMetadata_1=f.asm.Ra).apply(null,arguments)},Qe=f._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Qe=f._emscripten_bind_Decoder_GetAttributeMetadata_2=f.asm.Sa).apply(null,arguments)},ge=f._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(ge=f._emscripten_bind_Decoder_GetFaceFromMesh_3=f.asm.Ta).apply(null,arguments)},Oe=f._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Oe=f._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=f.asm.Ua).apply(null,arguments)},Ce=f._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Ce=f._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=f.asm.Va).apply(null,arguments)},ze=f._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(ze=f._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=f.asm.Wa).apply(null,arguments)},Xe=f._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Xe=f._emscripten_bind_Decoder_GetAttributeFloat_3=f.asm.Xa).apply(null,arguments)},Se=f._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Se=f._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=f.asm.Ya).apply(null,arguments)},He=f._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(He=f._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=f.asm.Za).apply(null,arguments)},Pe=f._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Pe=f._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=f.asm._a).apply(null,arguments)},xe=f._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(xe=f._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=f.asm.$a).apply(null,arguments)},Le=f._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Le=f._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=f.asm.ab).apply(null,arguments)},Ke=f._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(Ke=f._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=f.asm.bb).apply(null,arguments)},qe=f._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(qe=f._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=f.asm.cb).apply(null,arguments)},$e=f._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return($e=f._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=f.asm.db).apply(null,arguments)},ri=f._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(ri=f._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=f.asm.eb).apply(null,arguments)},ei=f._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(ei=f._emscripten_bind_Decoder_SkipAttributeTransform_1=f.asm.fb).apply(null,arguments)},ii=f._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(ii=f._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=f.asm.gb).apply(null,arguments)},ti=f._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(ti=f._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=f.asm.hb).apply(null,arguments)},fi=f._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(fi=f._emscripten_bind_Decoder_DecodeBufferToMesh_2=f.asm.ib).apply(null,arguments)},ai=f._emscripten_bind_Decoder___destroy___0=function(){return(ai=f._emscripten_bind_Decoder___destroy___0=f.asm.jb).apply(null,arguments)},ni=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(ni=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=f.asm.kb).apply(null,arguments)},Ai=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(Ai=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=f.asm.lb).apply(null,arguments)},oi=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(oi=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=f.asm.mb).apply(null,arguments)},bi=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(bi=f._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=f.asm.nb).apply(null,arguments)},ui=f._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(ui=f._emscripten_enum_draco_GeometryAttribute_Type_INVALID=f.asm.ob).apply(null,arguments)},ci=f._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(ci=f._emscripten_enum_draco_GeometryAttribute_Type_POSITION=f.asm.pb).apply(null,arguments)},ki=f._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(ki=f._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=f.asm.qb).apply(null,arguments)},_i=f._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(_i=f._emscripten_enum_draco_GeometryAttribute_Type_COLOR=f.asm.rb).apply(null,arguments)},si=f._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(si=f._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=f.asm.sb).apply(null,arguments)},pi=f._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(pi=f._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=f.asm.tb).apply(null,arguments)},li=f._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(li=f._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=f.asm.ub).apply(null,arguments)},yi=f._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(yi=f._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=f.asm.vb).apply(null,arguments)},di=f._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(di=f._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=f.asm.wb).apply(null,arguments)},mi=f._emscripten_enum_draco_DataType_DT_INVALID=function(){return(mi=f._emscripten_enum_draco_DataType_DT_INVALID=f.asm.xb).apply(null,arguments)},vi=f._emscripten_enum_draco_DataType_DT_INT8=function(){return(vi=f._emscripten_enum_draco_DataType_DT_INT8=f.asm.yb).apply(null,arguments)},hi=f._emscripten_enum_draco_DataType_DT_UINT8=function(){return(hi=f._emscripten_enum_draco_DataType_DT_UINT8=f.asm.zb).apply(null,arguments)},Ri=f._emscripten_enum_draco_DataType_DT_INT16=function(){return(Ri=f._emscripten_enum_draco_DataType_DT_INT16=f.asm.Ab).apply(null,arguments)},Ni=f._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Ni=f._emscripten_enum_draco_DataType_DT_UINT16=f.asm.Bb).apply(null,arguments)},Ti=f._emscripten_enum_draco_DataType_DT_INT32=function(){return(Ti=f._emscripten_enum_draco_DataType_DT_INT32=f.asm.Cb).apply(null,arguments)},Vi=f._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Vi=f._emscripten_enum_draco_DataType_DT_UINT32=f.asm.Db).apply(null,arguments)},Ui=f._emscripten_enum_draco_DataType_DT_INT64=function(){return(Ui=f._emscripten_enum_draco_DataType_DT_INT64=f.asm.Eb).apply(null,arguments)},Wi=f._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Wi=f._emscripten_enum_draco_DataType_DT_UINT64=f.asm.Fb).apply(null,arguments)},Di=f._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Di=f._emscripten_enum_draco_DataType_DT_FLOAT32=f.asm.Gb).apply(null,arguments)},Gi=f._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Gi=f._emscripten_enum_draco_DataType_DT_FLOAT64=f.asm.Hb).apply(null,arguments)},Zi=f._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Zi=f._emscripten_enum_draco_DataType_DT_BOOL=f.asm.Ib).apply(null,arguments)},Ei=f._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ei=f._emscripten_enum_draco_DataType_DT_TYPES_COUNT=f.asm.Jb).apply(null,arguments)},Fi=f._emscripten_enum_draco_StatusCode_OK=function(){return(Fi=f._emscripten_enum_draco_StatusCode_OK=f.asm.Kb).apply(null,arguments)},Ii=f._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Ii=f._emscripten_enum_draco_StatusCode_DRACO_ERROR=f.asm.Lb).apply(null,arguments)},Yi=f._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Yi=f._emscripten_enum_draco_StatusCode_IO_ERROR=f.asm.Mb).apply(null,arguments)},wi=f._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(wi=f._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=f.asm.Nb).apply(null,arguments)},ji=f._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(ji=f._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=f.asm.Ob).apply(null,arguments)},Ji=f._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(Ji=f._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=f.asm.Pb).apply(null,arguments)},Bi=(f._malloc=function(){return(f._malloc=f.asm.Qb).apply(null,arguments)},f._free=function(){return(f._free=f.asm.Rb).apply(null,arguments)},function(){return(Bi=f.asm.Sb).apply(null,arguments)});f.___start_em_js=11660,f.___stop_em_js=11758;function Mi(){function r(){er||(er=!0,f.calledRun=!0,R||(w=!0,L(I),i(f),f.onRuntimeInitialized&&f.onRuntimeInitialized(),function(){if(f.postRun)for("function"==typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;)B(f.postRun.shift());L(Y)}()))}M>0||(!function(){if(f.preRun)for("function"==typeof f.preRun&&(f.preRun=[f.preRun]);f.preRun.length;)j(f.preRun.shift());L(F)}(),M>0||(f.setStatus?(f.setStatus("Running..."),setTimeout(function(){setTimeout(function(){f.setStatus("")},1),r()},1)):r()))}if(g=function r(){er||Mi(),er||(g=r)},f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);f.preInit.length>0;)f.preInit.pop()();function Qi(){}function gi(r){return(r||Qi).__cache__}function Oi(r,e){var i=gi(e),t=i[r];return t||((t=Object.create((e||Qi).prototype)).ptr=r,i[r]=t)}Mi(),Qi.prototype=Object.create(Qi.prototype),Qi.prototype.constructor=Qi,Qi.prototype.__class__=Qi,Qi.__cache__={},f.WrapperObject=Qi,f.getCache=gi,f.wrapPointer=Oi,f.castObject=function(r,e){return Oi(r.ptr,e)},f.NULL=Oi(0),f.destroy=function(r){if(!r.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";r.__destroy__(),delete gi(r.__class__)[r.ptr]},f.compare=function(r,e){return r.ptr===e.ptr},f.getPointer=function(r){return r.ptr},f.getClass=function(r){return r.__class__};var Ci={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Ci.needed){for(var r=0;r<Ci.temps.length;r++)f._free(Ci.temps[r]);Ci.temps.length=0,f._free(Ci.buffer),Ci.buffer=0,Ci.size+=Ci.needed,Ci.needed=0}Ci.buffer||(Ci.size+=128,Ci.buffer=f._malloc(Ci.size),N(Ci.buffer)),Ci.pos=0},alloc:function(r,e){N(Ci.buffer);var i,t=e.BYTES_PER_ELEMENT,a=r.length*t;return a=a+7&-8,Ci.pos+a>=Ci.size?(N(a>0),Ci.needed+=a,i=f._malloc(a),Ci.temps.push(i)):(i=Ci.buffer+Ci.pos,Ci.pos+=a),i},copy:function(r,e,i){switch(i>>>=0,e.BYTES_PER_ELEMENT){case 2:i>>>=1;break;case 4:i>>>=2;break;case 8:i>>>=3}for(var t=0;t<r.length;t++)e[i+t]=r[t]}};function zi(r){if("string"==typeof r){var e=(t=r,n=a>0?a:function(r){for(var e=0,i=0;i<r.length;++i){var t=r.charCodeAt(i);t<=127?e++:t<=2047?e+=2:t>=55296&&t<=57343?(e+=4,++i):e+=3}return e}(t)+1,A=new Array(n),o=function(r,e,i,t){if(!(t>0))return 0;for(var f=i,a=i+t-1,n=0;n<r.length;++n){var A=r.charCodeAt(n);if(A>=55296&&A<=57343&&(A=65536+((1023&A)<<10)|1023&r.charCodeAt(++n)),A<=127){if(i>=a)break;e[i++]=A}else if(A<=2047){if(i+1>=a)break;e[i++]=192|A>>6,e[i++]=128|63&A}else if(A<=65535){if(i+2>=a)break;e[i++]=224|A>>12,e[i++]=128|A>>6&63,e[i++]=128|63&A}else{if(i+3>=a)break;e[i++]=240|A>>18,e[i++]=128|A>>12&63,e[i++]=128|A>>6&63,e[i++]=128|63&A}}return e[i]=0,i-f}(t,A,0,A.length),f&&(A.length=o),A),i=Ci.alloc(e,T);return Ci.copy(e,T,i),i}var t,f,a,n,A,o;return r}function Xi(r){if("object"==typeof r){var e=Ci.alloc(r,T);return Ci.copy(r,T,e),e}return r}function Si(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Hi(){this.ptr=fr(),gi(Hi)[this.ptr]=this}function Pi(){this.ptr=Ar(),gi(Pi)[this.ptr]=this}function xi(){this.ptr=ur(),gi(xi)[this.ptr]=this}function Li(){this.ptr=kr(),gi(Li)[this.ptr]=this}function Ki(){this.ptr=Nr(),gi(Ki)[this.ptr]=this}function qi(){this.ptr=Gr(),gi(qi)[this.ptr]=this}function $i(){this.ptr=Ir(),gi($i)[this.ptr]=this}function rt(){this.ptr=Jr(),gi(rt)[this.ptr]=this}function et(){this.ptr=Or(),gi(et)[this.ptr]=this}function it(){throw"cannot construct a Status, no constructor in IDL"}function tt(){this.ptr=Pr(),gi(tt)[this.ptr]=this}function ft(){this.ptr=qr(),gi(ft)[this.ptr]=this}function at(){this.ptr=ie(),gi(at)[this.ptr]=this}function nt(){this.ptr=ne(),gi(nt)[this.ptr]=this}function At(){this.ptr=ue(),gi(At)[this.ptr]=this}function ot(){this.ptr=se(),gi(ot)[this.ptr]=this}function bt(){this.ptr=de(),gi(bt)[this.ptr]=this}function ut(){this.ptr=Re(),gi(ut)[this.ptr]=this}function ct(){this.ptr=Ee(),gi(ct)[this.ptr]=this}return Si.prototype=Object.create(Qi.prototype),Si.prototype.constructor=Si,Si.prototype.__class__=Si,Si.__cache__={},f.VoidPtr=Si,Si.prototype.__destroy__=Si.prototype.__destroy__=function(){var r=this.ptr;tr(r)},Hi.prototype=Object.create(Qi.prototype),Hi.prototype.constructor=Hi,Hi.prototype.__class__=Hi,Hi.__cache__={},f.DecoderBuffer=Hi,Hi.prototype.Init=Hi.prototype.Init=function(r,e){var i=this.ptr;Ci.prepare(),"object"==typeof r&&(r=Xi(r)),e&&"object"==typeof e&&(e=e.ptr),ar(i,r,e)},Hi.prototype.__destroy__=Hi.prototype.__destroy__=function(){var r=this.ptr;nr(r)},Pi.prototype=Object.create(Qi.prototype),Pi.prototype.constructor=Pi,Pi.prototype.__class__=Pi,Pi.__cache__={},f.AttributeTransformData=Pi,Pi.prototype.transform_type=Pi.prototype.transform_type=function(){var r=this.ptr;return or(r)},Pi.prototype.__destroy__=Pi.prototype.__destroy__=function(){var r=this.ptr;br(r)},xi.prototype=Object.create(Qi.prototype),xi.prototype.constructor=xi,xi.prototype.__class__=xi,xi.__cache__={},f.GeometryAttribute=xi,xi.prototype.__destroy__=xi.prototype.__destroy__=function(){var r=this.ptr;cr(r)},Li.prototype=Object.create(Qi.prototype),Li.prototype.constructor=Li,Li.prototype.__class__=Li,Li.__cache__={},f.PointAttribute=Li,Li.prototype.size=Li.prototype.size=function(){var r=this.ptr;return _r(r)},Li.prototype.GetAttributeTransformData=Li.prototype.GetAttributeTransformData=function(){var r=this.ptr;return Oi(sr(r),Pi)},Li.prototype.attribute_type=Li.prototype.attribute_type=function(){var r=this.ptr;return pr(r)},Li.prototype.data_type=Li.prototype.data_type=function(){var r=this.ptr;return lr(r)},Li.prototype.num_components=Li.prototype.num_components=function(){var r=this.ptr;return yr(r)},Li.prototype.normalized=Li.prototype.normalized=function(){var r=this.ptr;return!!dr(r)},Li.prototype.byte_stride=Li.prototype.byte_stride=function(){var r=this.ptr;return mr(r)},Li.prototype.byte_offset=Li.prototype.byte_offset=function(){var r=this.ptr;return vr(r)},Li.prototype.unique_id=Li.prototype.unique_id=function(){var r=this.ptr;return hr(r)},Li.prototype.__destroy__=Li.prototype.__destroy__=function(){var r=this.ptr;Rr(r)},Ki.prototype=Object.create(Qi.prototype),Ki.prototype.constructor=Ki,Ki.prototype.__class__=Ki,Ki.__cache__={},f.AttributeQuantizationTransform=Ki,Ki.prototype.InitFromAttribute=Ki.prototype.InitFromAttribute=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),!!Tr(e,r)},Ki.prototype.quantization_bits=Ki.prototype.quantization_bits=function(){var r=this.ptr;return Vr(r)},Ki.prototype.min_value=Ki.prototype.min_value=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Ur(e,r)},Ki.prototype.range=Ki.prototype.range=function(){var r=this.ptr;return Wr(r)},Ki.prototype.__destroy__=Ki.prototype.__destroy__=function(){var r=this.ptr;Dr(r)},qi.prototype=Object.create(Qi.prototype),qi.prototype.constructor=qi,qi.prototype.__class__=qi,qi.__cache__={},f.AttributeOctahedronTransform=qi,qi.prototype.InitFromAttribute=qi.prototype.InitFromAttribute=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),!!Zr(e,r)},qi.prototype.quantization_bits=qi.prototype.quantization_bits=function(){var r=this.ptr;return Er(r)},qi.prototype.__destroy__=qi.prototype.__destroy__=function(){var r=this.ptr;Fr(r)},$i.prototype=Object.create(Qi.prototype),$i.prototype.constructor=$i,$i.prototype.__class__=$i,$i.__cache__={},f.PointCloud=$i,$i.prototype.num_attributes=$i.prototype.num_attributes=function(){var r=this.ptr;return Yr(r)},$i.prototype.num_points=$i.prototype.num_points=function(){var r=this.ptr;return wr(r)},$i.prototype.__destroy__=$i.prototype.__destroy__=function(){var r=this.ptr;jr(r)},rt.prototype=Object.create(Qi.prototype),rt.prototype.constructor=rt,rt.prototype.__class__=rt,rt.__cache__={},f.Mesh=rt,rt.prototype.num_faces=rt.prototype.num_faces=function(){var r=this.ptr;return Br(r)},rt.prototype.num_attributes=rt.prototype.num_attributes=function(){var r=this.ptr;return Mr(r)},rt.prototype.num_points=rt.prototype.num_points=function(){var r=this.ptr;return Qr(r)},rt.prototype.__destroy__=rt.prototype.__destroy__=function(){var r=this.ptr;gr(r)},et.prototype=Object.create(Qi.prototype),et.prototype.constructor=et,et.prototype.__class__=et,et.__cache__={},f.Metadata=et,et.prototype.__destroy__=et.prototype.__destroy__=function(){var r=this.ptr;Cr(r)},it.prototype=Object.create(Qi.prototype),it.prototype.constructor=it,it.prototype.__class__=it,it.__cache__={},f.Status=it,it.prototype.code=it.prototype.code=function(){var r=this.ptr;return zr(r)},it.prototype.ok=it.prototype.ok=function(){var r=this.ptr;return!!Xr(r)},it.prototype.error_msg=it.prototype.error_msg=function(){var r=this.ptr;return G(Sr(r))},it.prototype.__destroy__=it.prototype.__destroy__=function(){var r=this.ptr;Hr(r)},tt.prototype=Object.create(Qi.prototype),tt.prototype.constructor=tt,tt.prototype.__class__=tt,tt.__cache__={},f.DracoFloat32Array=tt,tt.prototype.GetValue=tt.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),xr(e,r)},tt.prototype.size=tt.prototype.size=function(){var r=this.ptr;return Lr(r)},tt.prototype.__destroy__=tt.prototype.__destroy__=function(){var r=this.ptr;Kr(r)},ft.prototype=Object.create(Qi.prototype),ft.prototype.constructor=ft,ft.prototype.__class__=ft,ft.__cache__={},f.DracoInt8Array=ft,ft.prototype.GetValue=ft.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),$r(e,r)},ft.prototype.size=ft.prototype.size=function(){var r=this.ptr;return re(r)},ft.prototype.__destroy__=ft.prototype.__destroy__=function(){var r=this.ptr;ee(r)},at.prototype=Object.create(Qi.prototype),at.prototype.constructor=at,at.prototype.__class__=at,at.__cache__={},f.DracoUInt8Array=at,at.prototype.GetValue=at.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),te(e,r)},at.prototype.size=at.prototype.size=function(){var r=this.ptr;return fe(r)},at.prototype.__destroy__=at.prototype.__destroy__=function(){var r=this.ptr;ae(r)},nt.prototype=Object.create(Qi.prototype),nt.prototype.constructor=nt,nt.prototype.__class__=nt,nt.__cache__={},f.DracoInt16Array=nt,nt.prototype.GetValue=nt.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Ae(e,r)},nt.prototype.size=nt.prototype.size=function(){var r=this.ptr;return oe(r)},nt.prototype.__destroy__=nt.prototype.__destroy__=function(){var r=this.ptr;be(r)},At.prototype=Object.create(Qi.prototype),At.prototype.constructor=At,At.prototype.__class__=At,At.__cache__={},f.DracoUInt16Array=At,At.prototype.GetValue=At.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),ce(e,r)},At.prototype.size=At.prototype.size=function(){var r=this.ptr;return ke(r)},At.prototype.__destroy__=At.prototype.__destroy__=function(){var r=this.ptr;_e(r)},ot.prototype=Object.create(Qi.prototype),ot.prototype.constructor=ot,ot.prototype.__class__=ot,ot.__cache__={},f.DracoInt32Array=ot,ot.prototype.GetValue=ot.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),pe(e,r)},ot.prototype.size=ot.prototype.size=function(){var r=this.ptr;return le(r)},ot.prototype.__destroy__=ot.prototype.__destroy__=function(){var r=this.ptr;ye(r)},bt.prototype=Object.create(Qi.prototype),bt.prototype.constructor=bt,bt.prototype.__class__=bt,bt.__cache__={},f.DracoUInt32Array=bt,bt.prototype.GetValue=bt.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),me(e,r)},bt.prototype.size=bt.prototype.size=function(){var r=this.ptr;return ve(r)},bt.prototype.__destroy__=bt.prototype.__destroy__=function(){var r=this.ptr;he(r)},ut.prototype=Object.create(Qi.prototype),ut.prototype.constructor=ut,ut.prototype.__class__=ut,ut.__cache__={},f.MetadataQuerier=ut,ut.prototype.HasEntry=ut.prototype.HasEntry=function(r,e){var i=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),!!Ne(i,r,e)},ut.prototype.GetIntEntry=ut.prototype.GetIntEntry=function(r,e){var i=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),Te(i,r,e)},ut.prototype.GetIntEntryArray=ut.prototype.GetIntEntryArray=function(r,e,i){var t=this.ptr;Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),i&&"object"==typeof i&&(i=i.ptr),Ve(t,r,e,i)},ut.prototype.GetDoubleEntry=ut.prototype.GetDoubleEntry=function(r,e){var i=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),Ue(i,r,e)},ut.prototype.GetStringEntry=ut.prototype.GetStringEntry=function(r,e){var i=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),G(We(i,r,e))},ut.prototype.NumEntries=ut.prototype.NumEntries=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),De(e,r)},ut.prototype.GetEntryName=ut.prototype.GetEntryName=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),G(Ge(i,r,e))},ut.prototype.__destroy__=ut.prototype.__destroy__=function(){var r=this.ptr;Ze(r)},ct.prototype=Object.create(Qi.prototype),ct.prototype.constructor=ct,ct.prototype.__class__=ct,ct.__cache__={},f.Decoder=ct,ct.prototype.DecodeArrayToPointCloud=ct.prototype.DecodeArrayToPointCloud=function(r,e,i){var t=this.ptr;return Ci.prepare(),"object"==typeof r&&(r=Xi(r)),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Oi(Fe(t,r,e,i),it)},ct.prototype.DecodeArrayToMesh=ct.prototype.DecodeArrayToMesh=function(r,e,i){var t=this.ptr;return Ci.prepare(),"object"==typeof r&&(r=Xi(r)),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Oi(Ie(t,r,e,i),it)},ct.prototype.GetAttributeId=ct.prototype.GetAttributeId=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Ye(i,r,e)},ct.prototype.GetAttributeIdByName=ct.prototype.GetAttributeIdByName=function(r,e){var i=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),we(i,r,e)},ct.prototype.GetAttributeIdByMetadataEntry=ct.prototype.GetAttributeIdByMetadataEntry=function(r,e,i){var t=this.ptr;return Ci.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:zi(e),i=i&&"object"==typeof i?i.ptr:zi(i),je(t,r,e,i)},ct.prototype.GetAttribute=ct.prototype.GetAttribute=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oi(Je(i,r,e),Li)},ct.prototype.GetAttributeByUniqueId=ct.prototype.GetAttributeByUniqueId=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oi(Be(i,r,e),Li)},ct.prototype.GetMetadata=ct.prototype.GetMetadata=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Oi(Me(e,r),et)},ct.prototype.GetAttributeMetadata=ct.prototype.GetAttributeMetadata=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oi(Qe(i,r,e),et)},ct.prototype.GetFaceFromMesh=ct.prototype.GetFaceFromMesh=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!ge(t,r,e,i)},ct.prototype.GetTriangleStripsFromMesh=ct.prototype.GetTriangleStripsFromMesh=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oe(i,r,e)},ct.prototype.GetTrianglesUInt16Array=ct.prototype.GetTrianglesUInt16Array=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ce(t,r,e,i)},ct.prototype.GetTrianglesUInt32Array=ct.prototype.GetTrianglesUInt32Array=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!ze(t,r,e,i)},ct.prototype.GetAttributeFloat=ct.prototype.GetAttributeFloat=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Xe(t,r,e,i)},ct.prototype.GetAttributeFloatForAllPoints=ct.prototype.GetAttributeFloatForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Se(t,r,e,i)},ct.prototype.GetAttributeIntForAllPoints=ct.prototype.GetAttributeIntForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!He(t,r,e,i)},ct.prototype.GetAttributeInt8ForAllPoints=ct.prototype.GetAttributeInt8ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Pe(t,r,e,i)},ct.prototype.GetAttributeUInt8ForAllPoints=ct.prototype.GetAttributeUInt8ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!xe(t,r,e,i)},ct.prototype.GetAttributeInt16ForAllPoints=ct.prototype.GetAttributeInt16ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Le(t,r,e,i)},ct.prototype.GetAttributeUInt16ForAllPoints=ct.prototype.GetAttributeUInt16ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ke(t,r,e,i)},ct.prototype.GetAttributeInt32ForAllPoints=ct.prototype.GetAttributeInt32ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!qe(t,r,e,i)},ct.prototype.GetAttributeUInt32ForAllPoints=ct.prototype.GetAttributeUInt32ForAllPoints=function(r,e,i){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!$e(t,r,e,i)},ct.prototype.GetAttributeDataArrayForAllPoints=ct.prototype.GetAttributeDataArrayForAllPoints=function(r,e,i,t,f){var a=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),t&&"object"==typeof t&&(t=t.ptr),f&&"object"==typeof f&&(f=f.ptr),!!ri(a,r,e,i,t,f)},ct.prototype.SkipAttributeTransform=ct.prototype.SkipAttributeTransform=function(r){var e=this.ptr;r&&"object"==typeof r&&(r=r.ptr),ei(e,r)},ct.prototype.GetEncodedGeometryType_Deprecated=ct.prototype.GetEncodedGeometryType_Deprecated=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),ii(e,r)},ct.prototype.DecodeBufferToPointCloud=ct.prototype.DecodeBufferToPointCloud=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oi(ti(i,r,e),it)},ct.prototype.DecodeBufferToMesh=ct.prototype.DecodeBufferToMesh=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),Oi(fi(i,r,e),it)},ct.prototype.__destroy__=ct.prototype.__destroy__=function(){var r=this.ptr;ai(r)},function(){function r(){f.ATTRIBUTE_INVALID_TRANSFORM=ni(),f.ATTRIBUTE_NO_TRANSFORM=Ai(),f.ATTRIBUTE_QUANTIZATION_TRANSFORM=oi(),f.ATTRIBUTE_OCTAHEDRON_TRANSFORM=bi(),f.INVALID=ui(),f.POSITION=ci(),f.NORMAL=ki(),f.COLOR=_i(),f.TEX_COORD=si(),f.GENERIC=pi(),f.INVALID_GEOMETRY_TYPE=li(),f.POINT_CLOUD=yi(),f.TRIANGULAR_MESH=di(),f.DT_INVALID=mi(),f.DT_INT8=vi(),f.DT_UINT8=hi(),f.DT_INT16=Ri(),f.DT_UINT16=Ni(),f.DT_INT32=Ti(),f.DT_UINT32=Vi(),f.DT_INT64=Ui(),f.DT_UINT64=Wi(),f.DT_FLOAT32=Di(),f.DT_FLOAT64=Gi(),f.DT_BOOL=Zi(),f.DT_TYPES_COUNT=Ei(),f.OK=Fi(),f.DRACO_ERROR=Ii(),f.IO_ERROR=Yi(),f.INVALID_PARAMETER=wi(),f.UNSUPPORTED_VERSION=ji(),f.UNKNOWN_VERSION=Ji()}w?r():J(r)}(),"function"==typeof f.onModuleParsed&&f.onModuleParsed(),f.Decoder.prototype.GetEncodedGeometryType=function(r){if(r.__class__&&r.__class__===f.DecoderBuffer)return f.Decoder.prototype.GetEncodedGeometryType_Deprecated(r);if(r.byteLength<8)return f.INVALID_GEOMETRY_TYPE;switch(r[7]){case 0:return f.POINT_CLOUD;case 1:return f.TRIANGULAR_MESH;default:return f.INVALID_GEOMETRY_TYPE}},e.ready}})();return DracoDecoderModule();
1
+ var DracoDecoderModule=(()=>{var r=globalThis.document?.currentScript?.src;return async function(e={}){var i=e,f=!!globalThis.window,a=!!globalThis.WorkerGlobalScope,t=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,A=!1,b=!1;i.onRuntimeInitialized=function(){A=!0,b&&"function"==typeof i.onModuleLoaded&&i.onModuleLoaded(i)},i.onModuleParsed=function(){b=!0,A&&"function"==typeof i.onModuleLoaded&&i.onModuleLoaded(i)},i.isVersionSupported=function(r){if("string"!=typeof r)return!1;const e=r.split(".");return!(e.length<2||e.length>3)&&(1==e[0]&&e[1]>=0&&e[1]<=5||!(0!=e[0]||e[1]>10))};"undefined"!=typeof __filename?r=__filename:a&&(r=self.location.href);if(t){var o=require("node:fs");__dirname+"/",process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2)}else if(f||a){try{new URL(".",r).href}catch{}a&&(r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)})}console.log.bind(console);var n,k=console.error.bind(console),c={Memory:function(r){this.buffer=new ArrayBuffer(65536*r.initial)},Module:function(r){},Instance:function(r,e){this.exports=function(r){for(var e,i=new Uint8Array(123),f=25;f>=0;--f)i[48+f]=52+f,i[65+f]=f,i[97+f]=26+f;function a(r,e,f){for(var a,t,A=0,b=e,o=f.length,n=e+(3*o>>2)-("="==f[o-2])-("="==f[o-1]);A<o;A+=4)a=i[f.charCodeAt(A+1)],t=i[f.charCodeAt(A+2)],r[b++]=i[f.charCodeAt(A)]<<2|a>>4,b<n&&(r[b++]=a<<4|t>>2),b<n&&(r[b++]=t<<6|i[f.charCodeAt(A+3)]);return r}i[43]=62,i[47]=63;var t=new ArrayBuffer(16),A=new Int32Array(t),b=new Float32Array(t),o=new Float64Array(t);function n(r){return A[r]}function k(r){o[0]=r}function c(){throw new Error("abort")}function u(r,i,f){if((r>>>=0)+(f>>>=0)>e.length)throw"trap: invalid memory.fill";e.fill(i,r,r+f)}function _(r,i,f){e.copyWithin(r,i,i+f)}function s(r){b[2]=r}return function(r){var i=new ArrayBuffer(16908288),f=new Int8Array(i),t=new Int16Array(i),A=new Int32Array(i),b=new Uint8Array(i),o=new Uint16Array(i),p=new Uint32Array(i),l=new Float32Array(i),y=new Float64Array(i),d=Math.imul,v=Math.fround,m=Math.abs,N=Math.clz32,h=Math.min,R=(Math.max,Math.floor),W=Math.ceil,U=(Math.trunc,Math.sqrt),G=r.a,Z=G.a,V=G.b,T=G.c,F=77520,j=0;function E(r,e,i,a){var t=0,n=0,k=0,c=0,_=0,s=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,j=0,E=0,Y=0,D=0;if(!r)return 1;r:if(!((0|(t=A[i+20>>2]))>=(0|(c=A[i+12>>2]))&(n=A[i+16>>2])>>>0>=p[i+8>>2]|(0|t)>(0|c))){c=b[n+A[i>>2]|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t;e:switch(0|c){case 0:R=r,c=e,U=a,r=0,F=s=F+-64|0,A[s+56>>2]=0,A[s+48>>2]=0,A[s+52>>2]=0,A[s+40>>2]=0,A[s+44>>2]=0,A[s+32>>2]=0,A[s+36>>2]=0,A[s+24>>2]=0,A[s+28>>2]=0,A[s+16>>2]=0,A[s+20>>2]=0,A[s+8>>2]=0,A[s+12>>2]=0;i:if(kr(e=s+8|0,i)&&Ur(e,i)&&(t=i,A[s+20>>2]||!R)){if(ri(t,0,0),R)for(m=c<<2,G=A[s+36>>2],V=A[s+24>>2],j=A[s+48>>2],i=A[s+56>>2],n=A[s+52>>2],E=(0|c)<=0;;){f:if(i>>>0>16383)e=i;else if(e=i,!((0|(r=n))<=0))for(;;){if(n=r-1|0,A[s+52>>2]=n,e=b[n+j|0]|i<<8,A[s+56>>2]=e,i>>>0>=64)break f;if(a=(0|r)<2,i=e,r=n,a)break}if(N=A[((r=4095&e)<<2)+V>>2],i=(d(A[(i=(N<<3)+G|0)>>2],e>>>12|0)+r|0)-A[i+4>>2]|0,A[s+56>>2]=i,!E){if(r=0,!(1&f[t+36|0])|N>>>0>32)break i;if(N){for(Y=62&N,D=1&N,y=k+c|0,a=A[t+32>>2],h=A[t+28>>2],v=A[t+24>>2];;){r=a,e=0,W=0,_=0,l=0;f:{if(1!=(0|N)){for(;(_=v+(r>>>3|0)|0)>>>0>=h>>>0?_=0:(_=b[0|_],a=r+1|0,A[t+32>>2]=a,_=_>>>(7&r)&1,r=a),_=_<<e|l,l=0,(Z=v+(r>>>3|0)|0)>>>0<h>>>0&&(l=b[0|Z],a=r+1|0,A[t+32>>2]=a,l=l>>>(7&r)&1,r=a),Z=1|e,e=e+2|0,l=_|l<<Z,(0|Y)!=(0|(W=W+2|0)););if(_=e,!D)break f}(e=v+(r>>>3|0)|0)>>>0<h>>>0?(e=b[0|e],a=r+1|0,A[t+32>>2]=a,r=e>>>(7&r)&1):r=0,l|=r<<_}if(A[U+(k<<2)>>2]=l,(0|y)==(0|(k=k+1|0)))break}k=y}else m&&u(U+(k<<2)|0,0,m),k=k+c|0}if(!(R>>>0>(T=c+T|0)>>>0))break}f[t+36|0]=0,e=A[(r=t)+16>>2],i=A[r+20>>2],t=0,e=(a=(7&(t=(a=A[r+32>>2]+7|0)>>>0<7?1:t))<<29|a>>>3)+e|0,t=(t>>>3|0)+i|0,A[r+16>>2]=e,A[r+20>>2]=e>>>0<a>>>0?t+1|0:t,r=1}return(e=A[s+36>>2])&&(A[s+40>>2]=e,fr(e)),(e=A[s+24>>2])&&(A[s+28>>2]=e,fr(e)),(e=A[s+8>>2])&&(A[s+12>>2]=e,fr(e)),F=s- -64|0,r;case 1:break e;default:break r}e=0;e:{i:{f:{a:if(!((0|(t=A[i+20>>2]))>=(0|(k=A[i+12>>2]))&(n=A[i+16>>2])>>>0>=p[i+8>>2]|(0|t)>(0|k))){k=b[n+A[i>>2]|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t;t:switch(k-1|0){case 8:R=r,U=a,a=0,F=k=F+-64|0,A[k+56>>2]=0,A[k+48>>2]=0,A[k+52>>2]=0,A[k+40>>2]=0,A[k+44>>2]=0,A[k+32>>2]=0,A[k+36>>2]=0,A[k+24>>2]=0,A[k+28>>2]=0,A[k+16>>2]=0,A[k+20>>2]=0,A[k+8>>2]=0,A[k+12>>2]=0,v=k+8|0;A:{b:if(o[i+38>>1]&&Re(1,v+12|0,i)&&(r=(t=A[v+12>>2])>>>6|0,e=(n=A[i+8>>2])-(c=A[i+16>>2])|0,!(r=(0|(n=A[i+12>>2]-(A[i+20>>2]+(n>>>0<c>>>0)|0)|0))<0?1:(0|n)<=0&r>>>0>e>>>0))){if(Lr(v,t),c=1,!(y=A[v+12>>2]))break A;for(n=A[i+16>>2],t=A[i+20>>2],_=A[i+8>>2],m=A[i+12>>2],r=0;;){if((0|t)>=(0|m)&n>>>0>=_>>>0|(0|t)>(0|m))break b;N=A[i>>2],c=b[N+n|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e=c>>>2|0;o:{n:{k:{c:switch(0|(W=3&c)){case 0:break n;case 3:break c;default:break k}if((e=r+e|0)>>>0>=y>>>0)break b;if(N=A[v>>2],!(c=4+(252&c)|0)){r=e;break o}u((r<<2)+N|0,0,c),r=e;break o}for(y=(s=n>>>0>_>>>0&(0|t)>=(0|m)|(0|t)>(0|m))?n:_,G=s?t:m,s=0;;){if(c=0,(0|n)==(0|y)&(0|t)==(0|G))break A;if(c=b[n+N|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e|=c<<(s<<3|6),(0|W)==(0|(s=s+1|0)))break}}N=A[v>>2],A[N+(r<<2)>>2]=e}if(!((r=r+1|0)>>>0<(y=A[v+12>>2])>>>0))break}if(Lr(v+16|0,8192),Kr(v+28|0,y),y){for(c=A[v+28>>2],_=0,r=0;;){if(n=A[(t=(_<<2)+N|0)>>2],e=r,A[(s=c+(_<<3)|0)+4>>2]=r,A[s>>2]=n,(r=(t=A[t>>2])+r|0)>>>0>8192)break b;if(!(r>>>0<=e>>>0)){if(n=A[v+16>>2],s=0,m=7&t)for(;A[n+(e<<2)>>2]=_,e=e+1|0,(0|m)!=(0|(s=s+1|0)););if(!(t-1>>>0<=6))for(;A[(t=n+(e<<2)|0)+28>>2]=_,A[t+24>>2]=_,A[t+20>>2]=_,A[t+16>>2]=_,A[t+12>>2]=_,A[t+8>>2]=_,A[t+4>>2]=_,A[t>>2]=_,(0|(e=e+8|0))!=(0|r););}if((0|y)==(0|(_=_+1|0)))break}l=8192==(0|r)}}c=l}if(!(!c|(A[k+20>>2]?0:R))){_=0,F=n=F-16|0;A:if(_e(1,n+8|0,i)&&(c=(l=A[i+8>>2])-(e=A[i+16>>2])|0,t=A[n+12>>2],y=A[i+20>>2],!((0|t)==(0|(l=A[i+12>>2]-(y+(e>>>0>l>>>0)|0)|0))&c>>>0<(r=A[n+8>>2])>>>0|t>>>0>l>>>0||(t=t+y|0,t=(l=r+e|0)>>>0<e>>>0?t+1|0:t,A[i+16>>2]=l,A[i+20>>2]=t,(0|r)<=0)))){e=e+A[i>>2]|0,A[k+48>>2]=e;b:{o:{n:{k:{c:switch((b[0|(t=(i=r-1|0)+e|0)]>>>6|0)-1|0){case 0:break k;case 1:break n;case 2:break o;default:break c}A[k+52>>2]=i,r=63&b[0|t];break b}if(1==(0|r))break A;r=r-2|0,A[k+52>>2]=r,r=16383&(b[0|(r=r+e|0)]|b[r+1|0]<<8);break b}if(r>>>0<3)break A;A[k+52>>2]=r-3,r=(b[0|(e=(r=r+e|0)-2|0)]|b[e+1|0]<<8)<<8&4194048|b[r-3|0];break b}if(r>>>0<4)break A;r=r-4|0,A[k+52>>2]=r,r=1073741823&(b[0|(r=r+e|0)]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}A[k+56>>2]=r+32768,_=r>>>0<8355840}if(F=n+16|0,_)for(i=A[k+52>>2],r=A[k+56>>2],t=A[k+36>>2],n=A[k+24>>2],l=A[k+48>>2];;){A:if(r>>>0>32767)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[k+52>>2]=i,e=b[i+l|0]|r<<8,A[k+56>>2]=e,r>>>0>=128)break A;if(c=(0|a)<2,r=e,a=i,c)break}if(a=A[n+((r=8191&e)<<2)>>2],r=(d(A[(c=t+(a<<3)|0)>>2],e>>>13|0)+r|0)-A[c+4>>2]|0,A[k+56>>2]=r,A[U+(h<<2)>>2]=a,a=1,(0|R)==(0|(h=h+1|0)))break}}(r=A[k+36>>2])&&(A[k+40>>2]=r,fr(r)),(r=A[k+24>>2])&&(A[k+28>>2]=r,fr(r)),(r=A[k+8>>2])&&(A[k+12>>2]=r,fr(r)),F=k- -64|0;break e;case 9:R=r,U=a,a=0,F=c=F+-64|0,A[c+56>>2]=0,A[c+48>>2]=0,A[c+52>>2]=0,A[c+40>>2]=0,A[c+44>>2]=0,A[c+32>>2]=0,A[c+36>>2]=0,A[c+24>>2]=0,A[c+28>>2]=0,A[c+16>>2]=0,A[c+20>>2]=0,A[c+8>>2]=0,A[c+12>>2]=0,v=c+8|0;A:{b:if(o[i+38>>1]&&Re(1,v+12|0,i)&&(r=(t=A[v+12>>2])>>>6|0,e=(n=A[i+8>>2])-(k=A[i+16>>2])|0,!(r=(0|(n=A[i+12>>2]-(A[i+20>>2]+(k>>>0>n>>>0)|0)|0))<0?1:(0|n)<=0&r>>>0>e>>>0))){if(Lr(v,t),k=1,!(y=A[v+12>>2]))break A;for(n=A[i+16>>2],t=A[i+20>>2],_=A[i+8>>2],m=A[i+12>>2],r=0;;){if((0|t)>=(0|m)&n>>>0>=_>>>0|(0|t)>(0|m))break b;N=A[i>>2],k=b[N+n|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e=k>>>2|0;o:{n:{k:{c:switch(0|(W=3&k)){case 0:break n;case 3:break c;default:break k}if((e=r+e|0)>>>0>=y>>>0)break b;if(N=A[v>>2],!(k=4+(252&k)|0)){r=e;break o}u((r<<2)+N|0,0,k),r=e;break o}for(y=(s=n>>>0>_>>>0&(0|t)>=(0|m)|(0|t)>(0|m))?n:_,G=s?t:m,s=0;;){if(k=0,(0|n)==(0|y)&(0|t)==(0|G))break A;if(V=b[n+N|0],k=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,t=k,A[i+20>>2]=t,e|=V<<(s<<3|6),(0|W)==(0|(s=s+1|0)))break}}N=A[v>>2],A[N+(r<<2)>>2]=e}if(!((r=r+1|0)>>>0<(y=A[v+12>>2])>>>0))break}if(Lr(v+16|0,32768),Kr(v+28|0,y),y){for(k=A[v+28>>2],_=0,r=0;;){if(n=A[(t=(_<<2)+N|0)>>2],e=r,A[(s=k+(_<<3)|0)+4>>2]=r,A[s>>2]=n,(r=(t=A[t>>2])+r|0)>>>0>32768)break b;if(!(r>>>0<=e>>>0)){if(n=A[v+16>>2],s=0,m=7&t)for(;A[n+(e<<2)>>2]=_,e=e+1|0,(0|m)!=(0|(s=s+1|0)););if(!(t-1>>>0<=6))for(;A[(t=n+(e<<2)|0)+28>>2]=_,A[t+24>>2]=_,A[t+20>>2]=_,A[t+16>>2]=_,A[t+12>>2]=_,A[t+8>>2]=_,A[t+4>>2]=_,A[t>>2]=_,(0|(e=e+8|0))!=(0|r););}if((0|y)==(0|(_=_+1|0)))break}l=32768==(0|r)}}k=l}if(!(!k|(A[c+20>>2]?0:R))){_=0,F=n=F-16|0;A:if(_e(1,n+8|0,i)&&(k=(l=A[i+8>>2])-(e=A[i+16>>2])|0,t=A[n+12>>2],y=A[i+20>>2],!((0|t)==(0|(l=A[i+12>>2]-(y+(e>>>0>l>>>0)|0)|0))&(r=A[n+8>>2])>>>0>k>>>0|t>>>0>l>>>0||(t=t+y|0,t=(l=r+e|0)>>>0<e>>>0?t+1|0:t,A[i+16>>2]=l,A[i+20>>2]=t,(0|r)<=0)))){e=e+A[i>>2]|0,A[c+48>>2]=e;b:{o:{n:{k:{c:switch((b[0|(t=(i=r-1|0)+e|0)]>>>6|0)-1|0){case 0:break k;case 1:break n;case 2:break o;default:break c}A[c+52>>2]=i,r=63&b[0|t];break b}if(1==(0|r))break A;r=r-2|0,A[c+52>>2]=r,r=16383&(b[0|(r=r+e|0)]|b[r+1|0]<<8);break b}if(r>>>0<3)break A;A[c+52>>2]=r-3,r=(b[0|(e=(r=r+e|0)-2|0)]|b[e+1|0]<<8)<<8&4194048|b[r-3|0];break b}if(r>>>0<4)break A;r=r-4|0,A[c+52>>2]=r,r=1073741823&(b[0|(r=r+e|0)]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}A[c+56>>2]=r+131072,_=r>>>0<33423360}if(F=n+16|0,_)for(i=A[c+52>>2],r=A[c+56>>2],t=A[c+36>>2],n=A[c+24>>2],l=A[c+48>>2];;){A:if(r>>>0>131071)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[c+52>>2]=i,e=b[i+l|0]|r<<8,A[c+56>>2]=e,r>>>0>=512)break A;if(k=(0|a)<2,r=e,a=i,k)break}if(a=A[n+((r=32767&e)<<2)>>2],r=(d(A[(k=t+(a<<3)|0)>>2],e>>>15|0)+r|0)-A[k+4>>2]|0,A[c+56>>2]=r,A[U+(h<<2)>>2]=a,a=1,(0|R)==(0|(h=h+1|0)))break}}(r=A[c+36>>2])&&(A[c+40>>2]=r,fr(r)),(r=A[c+24>>2])&&(A[c+28>>2]=r,fr(r)),(r=A[c+8>>2])&&(A[c+12>>2]=r,fr(r)),F=c- -64|0;break e;case 10:R=r,U=a,a=0,F=c=F+-64|0,A[c+56>>2]=0,A[c+48>>2]=0,A[c+52>>2]=0,A[c+40>>2]=0,A[c+44>>2]=0,A[c+32>>2]=0,A[c+36>>2]=0,A[c+24>>2]=0,A[c+28>>2]=0,A[c+16>>2]=0,A[c+20>>2]=0,A[c+8>>2]=0,A[c+12>>2]=0,v=c+8|0;A:{b:if(o[i+38>>1]&&Re(1,v+12|0,i)&&(r=(t=A[v+12>>2])>>>6|0,e=(n=A[i+8>>2])-(k=A[i+16>>2])|0,!(r=(0|(n=A[i+12>>2]-(A[i+20>>2]+(k>>>0>n>>>0)|0)|0))<0?1:(0|n)<=0&r>>>0>e>>>0))){if(Lr(v,t),k=1,!(y=A[v+12>>2]))break A;for(n=A[i+16>>2],t=A[i+20>>2],_=A[i+8>>2],m=A[i+12>>2],r=0;;){if((0|t)>=(0|m)&n>>>0>=_>>>0|(0|t)>(0|m))break b;N=A[i>>2],k=b[N+n|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e=k>>>2|0;o:{n:{k:{c:switch(0|(W=3&k)){case 0:break n;case 3:break c;default:break k}if((e=r+e|0)>>>0>=y>>>0)break b;if(N=A[v>>2],!(k=4+(252&k)|0)){r=e;break o}u((r<<2)+N|0,0,k),r=e;break o}for(y=(s=n>>>0>_>>>0&(0|t)>=(0|m)|(0|t)>(0|m))?n:_,G=s?t:m,s=0;;){if(k=0,(0|n)==(0|y)&(0|t)==(0|G))break A;if(k=b[n+N|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e|=k<<(s<<3|6),(0|W)==(0|(s=s+1|0)))break}}N=A[v>>2],A[N+(r<<2)>>2]=e}if(!((r=r+1|0)>>>0<(y=A[v+12>>2])>>>0))break}if(Lr(v+16|0,65536),Kr(v+28|0,y),y){for(k=A[v+28>>2],_=0,r=0;;){if(n=A[(t=(_<<2)+N|0)>>2],e=r,A[(s=k+(_<<3)|0)+4>>2]=r,A[s>>2]=n,(r=(t=A[t>>2])+r|0)>>>0>65536)break b;if(!(r>>>0<=e>>>0)){if(n=A[v+16>>2],s=0,m=7&t)for(;A[n+(e<<2)>>2]=_,e=e+1|0,(0|m)!=(0|(s=s+1|0)););if(!(t-1>>>0<=6))for(;A[(t=n+(e<<2)|0)+28>>2]=_,A[t+24>>2]=_,A[t+20>>2]=_,A[t+16>>2]=_,A[t+12>>2]=_,A[t+8>>2]=_,A[t+4>>2]=_,A[t>>2]=_,(0|(e=e+8|0))!=(0|r););}if((0|y)==(0|(_=_+1|0)))break}l=65536==(0|r)}}k=l}if(!(!k|(A[c+20>>2]?0:R))){_=0,F=t=F-16|0;A:if(_e(1,t+8|0,i)&&(k=(l=A[i+8>>2])-(e=A[i+16>>2])|0,n=A[t+12>>2],y=A[i+20>>2],!((0|n)==(0|(l=A[i+12>>2]-(y+(e>>>0>l>>>0)|0)|0))&k>>>0<(r=A[t+8>>2])>>>0|n>>>0>l>>>0||(k=n+y|0,k=(n=r+e|0)>>>0<e>>>0?k+1|0:k,A[i+16>>2]=n,A[i+20>>2]=k,(0|r)<=0)))){e=e+A[i>>2]|0,A[c+48>>2]=e;b:{o:{n:{k:{c:switch((b[0|(n=(i=r-1|0)+e|0)]>>>6|0)-1|0){case 0:break k;case 1:break n;case 2:break o;default:break c}A[c+52>>2]=i,r=63&b[0|n];break b}if(1==(0|r))break A;r=r-2|0,A[c+52>>2]=r,r=16383&(b[0|(r=r+e|0)]|b[r+1|0]<<8);break b}if(r>>>0<3)break A;A[c+52>>2]=r-3,r=(b[0|(e=(r=r+e|0)-2|0)]|b[e+1|0]<<8)<<8&4194048|b[r-3|0];break b}if(r>>>0<4)break A;r=r-4|0,A[c+52>>2]=r,r=1073741823&(b[0|(r=r+e|0)]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}A[c+56>>2]=r+262144,_=r>>>0<66846720}if(F=t+16|0,_)for(i=A[c+52>>2],r=A[c+56>>2],t=A[c+36>>2],n=A[c+24>>2],l=A[c+48>>2];;){A:if(r>>>0>262143)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[c+52>>2]=i,e=b[i+l|0]|r<<8,A[c+56>>2]=e,r>>>0>=1024)break A;if(k=(0|a)<2,r=e,a=i,k)break}if(a=A[n+((r=65535&e)<<2)>>2],r=(d(A[(k=t+(a<<3)|0)>>2],e>>>16|0)+r|0)-A[k+4>>2]|0,A[c+56>>2]=r,A[U+(h<<2)>>2]=a,a=1,(0|R)==(0|(h=h+1|0)))break}}(r=A[c+36>>2])&&(A[c+40>>2]=r,fr(r)),(r=A[c+24>>2])&&(A[c+28>>2]=r,fr(r)),(r=A[c+8>>2])&&(A[c+12>>2]=r,fr(r)),F=c- -64|0;break e;case 11:R=r,U=a,a=0,F=k=F+-64|0,A[k+56>>2]=0,A[k+48>>2]=0,A[k+52>>2]=0,A[k+40>>2]=0,A[k+44>>2]=0,A[k+32>>2]=0,A[k+36>>2]=0,A[k+24>>2]=0,A[k+28>>2]=0,A[k+16>>2]=0,A[k+20>>2]=0,A[k+8>>2]=0,A[k+12>>2]=0,v=k+8|0;A:{b:if(o[i+38>>1]&&Re(1,v+12|0,i)&&(r=(t=A[v+12>>2])>>>6|0,e=(n=A[i+8>>2])-(c=A[i+16>>2])|0,!(r=(0|(n=A[i+12>>2]-(A[i+20>>2]+(n>>>0<c>>>0)|0)|0))<0?1:(0|n)<=0&r>>>0>e>>>0))){if(Lr(v,t),c=1,!(y=A[v+12>>2]))break A;for(n=A[i+16>>2],t=A[i+20>>2],_=A[i+8>>2],m=A[i+12>>2],r=0;;){if((0|t)>=(0|m)&n>>>0>=_>>>0|(0|t)>(0|m))break b;N=A[i>>2],c=b[N+n|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e=c>>>2|0;o:{n:{k:{c:switch(0|(W=3&c)){case 0:break n;case 3:break c;default:break k}if((e=r+e|0)>>>0>=y>>>0)break b;if(N=A[v>>2],!(c=4+(252&c)|0)){r=e;break o}u((r<<2)+N|0,0,c),r=e;break o}for(y=(s=n>>>0>_>>>0&(0|t)>=(0|m)|(0|t)>(0|m))?n:_,G=s?t:m,s=0;;){if(c=0,(0|n)==(0|y)&(0|t)==(0|G))break A;if(c=b[n+N|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e|=c<<(s<<3|6),(0|W)==(0|(s=s+1|0)))break}}N=A[v>>2],A[N+(r<<2)>>2]=e}if(!((r=r+1|0)>>>0<(y=A[v+12>>2])>>>0))break}if(Lr(v+16|0,262144),Kr(v+28|0,y),y){for(c=A[v+28>>2],_=0,r=0;;){if(n=A[(t=(_<<2)+N|0)>>2],e=r,A[(s=c+(_<<3)|0)+4>>2]=r,A[s>>2]=n,(r=(t=A[t>>2])+r|0)>>>0>262144)break b;if(!(r>>>0<=e>>>0)){if(n=A[v+16>>2],s=0,m=7&t)for(;A[n+(e<<2)>>2]=_,e=e+1|0,(0|m)!=(0|(s=s+1|0)););if(!(t-1>>>0<=6))for(;A[(t=n+(e<<2)|0)+28>>2]=_,A[t+24>>2]=_,A[t+20>>2]=_,A[t+16>>2]=_,A[t+12>>2]=_,A[t+8>>2]=_,A[t+4>>2]=_,A[t>>2]=_,(0|(e=e+8|0))!=(0|r););}if((0|y)==(0|(_=_+1|0)))break}l=262144==(0|r)}}c=l}if(!(!c|(A[k+20>>2]?0:R))){_=0,F=n=F-16|0;A:if(_e(1,n+8|0,i)&&(c=(l=A[i+8>>2])-(e=A[i+16>>2])|0,t=A[n+12>>2],y=A[i+20>>2],!((0|t)==(0|(l=A[i+12>>2]-(y+(e>>>0>l>>>0)|0)|0))&(r=A[n+8>>2])>>>0>c>>>0|t>>>0>l>>>0||(t=t+y|0,t=(l=r+e|0)>>>0<e>>>0?t+1|0:t,A[i+16>>2]=l,A[i+20>>2]=t,(0|r)<=0)))){e=e+A[i>>2]|0,A[k+48>>2]=e;b:{o:{n:{k:{c:switch((b[0|(t=(i=r-1|0)+e|0)]>>>6|0)-1|0){case 0:break k;case 1:break n;case 2:break o;default:break c}A[k+52>>2]=i,r=63&b[0|t];break b}if(1==(0|r))break A;r=r-2|0,A[k+52>>2]=r,r=16383&(b[0|(r=r+e|0)]|b[r+1|0]<<8);break b}if(r>>>0<3)break A;A[k+52>>2]=r-3,r=(b[0|(e=(r=r+e|0)-2|0)]|b[e+1|0]<<8)<<8&4194048|b[r-3|0];break b}if(r>>>0<4)break A;r=r-4|0,A[k+52>>2]=r,r=1073741823&(b[0|(r=r+e|0)]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}A[k+56>>2]=r- -1048576,_=r>>>0<267386880}if(F=n+16|0,_)for(i=A[k+52>>2],r=A[k+56>>2],t=A[k+36>>2],n=A[k+24>>2],l=A[k+48>>2];;){A:if(r>>>0>1048575)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[k+52>>2]=i,e=b[i+l|0]|r<<8,A[k+56>>2]=e,r>>>0>=4096)break A;if(c=(0|a)<2,r=e,a=i,c)break}if(a=A[n+((r=262143&e)<<2)>>2],r=(d(A[(c=t+(a<<3)|0)>>2],e>>>18|0)+r|0)-A[c+4>>2]|0,A[k+56>>2]=r,A[U+(h<<2)>>2]=a,a=1,(0|R)==(0|(h=h+1|0)))break}}(r=A[k+36>>2])&&(A[k+40>>2]=r,fr(r)),(r=A[k+24>>2])&&(A[k+28>>2]=r,fr(r)),(r=A[k+8>>2])&&(A[k+12>>2]=r,fr(r)),F=k- -64|0;break e;case 12:R=r,U=a,a=0,F=k=F+-64|0,A[k+56>>2]=0,A[k+48>>2]=0,A[k+52>>2]=0,A[k+40>>2]=0,A[k+44>>2]=0,A[k+32>>2]=0,A[k+36>>2]=0,A[k+24>>2]=0,A[k+28>>2]=0,A[k+16>>2]=0,A[k+20>>2]=0,A[k+8>>2]=0,A[k+12>>2]=0,v=k+8|0;A:{b:if(o[i+38>>1]&&Re(1,v+12|0,i)&&(r=(t=A[v+12>>2])>>>6|0,e=(n=A[i+8>>2])-(c=A[i+16>>2])|0,!(r=(0|(n=A[i+12>>2]-(A[i+20>>2]+(n>>>0<c>>>0)|0)|0))<0?1:(0|n)<=0&r>>>0>e>>>0))){if(Lr(v,t),c=1,!(y=A[v+12>>2]))break A;for(n=A[i+16>>2],t=A[i+20>>2],_=A[i+8>>2],m=A[i+12>>2],r=0;;){if((0|t)>=(0|m)&n>>>0>=_>>>0|(0|t)>(0|m))break b;N=A[i>>2],c=b[N+n|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e=c>>>2|0;o:{n:{k:{c:switch(0|(W=3&c)){case 0:break n;case 3:break c;default:break k}if((e=r+e|0)>>>0>=y>>>0)break b;if(N=A[v>>2],!(c=4+(252&c)|0)){r=e;break o}u((r<<2)+N|0,0,c),r=e;break o}for(y=(s=n>>>0>_>>>0&(0|t)>=(0|m)|(0|t)>(0|m))?n:_,G=s?t:m,s=0;;){if(c=0,(0|n)==(0|y)&(0|t)==(0|G))break A;if(c=b[n+N|0],t=(n=n+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=t,e|=c<<(s<<3|6),(0|W)==(0|(s=s+1|0)))break}}N=A[v>>2],A[N+(r<<2)>>2]=e}if(!((r=r+1|0)>>>0<(y=A[v+12>>2])>>>0))break}if(Lr(v+16|0,524288),Kr(v+28|0,y),y){for(c=A[v+28>>2],_=0,r=0;;){if(n=A[(t=(_<<2)+N|0)>>2],e=r,A[(s=c+(_<<3)|0)+4>>2]=r,A[s>>2]=n,(r=(t=A[t>>2])+r|0)>>>0>524288)break b;if(!(r>>>0<=e>>>0)){if(n=A[v+16>>2],s=0,m=7&t)for(;A[n+(e<<2)>>2]=_,e=e+1|0,(0|m)!=(0|(s=s+1|0)););if(!(t-1>>>0<=6))for(;A[(t=n+(e<<2)|0)+28>>2]=_,A[t+24>>2]=_,A[t+20>>2]=_,A[t+16>>2]=_,A[t+12>>2]=_,A[t+8>>2]=_,A[t+4>>2]=_,A[t>>2]=_,(0|(e=e+8|0))!=(0|r););}if((0|y)==(0|(_=_+1|0)))break}l=524288==(0|r)}}c=l}if(!(!c|(A[k+20>>2]?0:R))){_=0,F=n=F-16|0;A:if(_e(1,n+8|0,i)&&(c=(l=A[i+8>>2])-(e=A[i+16>>2])|0,t=A[n+12>>2],y=A[i+20>>2],!((0|t)==(0|(l=A[i+12>>2]-(y+(e>>>0>l>>>0)|0)|0))&(r=A[n+8>>2])>>>0>c>>>0|t>>>0>l>>>0||(t=t+y|0,t=(l=r+e|0)>>>0<e>>>0?t+1|0:t,A[i+16>>2]=l,A[i+20>>2]=t,(0|r)<=0)))){e=e+A[i>>2]|0,A[k+48>>2]=e;b:{o:{n:{k:{c:switch((b[0|(t=(i=r-1|0)+e|0)]>>>6|0)-1|0){case 0:break k;case 1:break n;case 2:break o;default:break c}A[k+52>>2]=i,r=63&b[0|t];break b}if(1==(0|r))break A;r=r-2|0,A[k+52>>2]=r,r=16383&(b[0|(r=r+e|0)]|b[r+1|0]<<8);break b}if(r>>>0<3)break A;A[k+52>>2]=r-3,r=(b[0|(e=(r=r+e|0)-2|0)]|b[e+1|0]<<8)<<8&4194048|b[r-3|0];break b}if(r>>>0<4)break A;r=r-4|0,A[k+52>>2]=r,r=1073741823&(b[0|(r=r+e|0)]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}A[k+56>>2]=r+2097152,_=r>>>0<534773760}if(F=n+16|0,_)for(i=A[k+52>>2],r=A[k+56>>2],t=A[k+36>>2],n=A[k+24>>2],l=A[k+48>>2];;){A:if(r>>>0>2097151)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[k+52>>2]=i,e=b[i+l|0]|r<<8,A[k+56>>2]=e,r>>>0>=8192)break A;if(c=(0|a)<2,r=e,a=i,c)break}if(a=A[n+((r=524287&e)<<2)>>2],r=(d(A[(c=t+(a<<3)|0)>>2],e>>>19|0)+r|0)-A[c+4>>2]|0,A[k+56>>2]=r,A[U+(h<<2)>>2]=a,a=1,(0|R)==(0|(h=h+1|0)))break}}(r=A[k+36>>2])&&(A[k+40>>2]=r,fr(r)),(r=A[k+24>>2])&&(A[k+28>>2]=r,fr(r)),(r=A[k+8>>2])&&(A[k+12>>2]=r,fr(r)),F=k- -64|0;break e;case 13:case 14:case 15:case 16:break i;case 17:break t;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break f;default:break a}e=$(r,i,a)}a=e;break e}if(t=r,n=a,a=0,F=l=F+-64|0,A[l+56>>2]=0,A[l+48>>2]=0,A[l+52>>2]=0,A[l+40>>2]=0,A[l+44>>2]=0,A[l+32>>2]=0,A[l+36>>2]=0,A[l+24>>2]=0,A[l+28>>2]=0,A[l+16>>2]=0,A[l+20>>2]=0,A[l+8>>2]=0,A[l+12>>2]=0,!(!kr(e=l+8|0,i)|(A[l+20>>2]?0:r))&&Ur(e,i))for(i=A[l+52>>2],r=A[l+56>>2],k=A[l+36>>2],c=A[l+24>>2],R=A[l+48>>2];;){f:if(r>>>0>16383)e=r;else if(e=r,a=i,!((0|i)<=0))for(;;){if(i=a-1|0,A[l+52>>2]=i,e=b[i+R|0]|r<<8,A[l+56>>2]=e,r>>>0>=64)break f;if(U=(0|a)<2,r=e,a=i,U)break}if(a=A[c+((r=4095&e)<<2)>>2],r=(d(A[(U=k+(a<<3)|0)>>2],e>>>12|0)+r|0)-A[U+4>>2]|0,A[l+56>>2]=r,A[n+(_<<2)>>2]=a,a=1,(0|t)==(0|(_=_+1|0)))break}(r=A[l+36>>2])&&(A[l+40>>2]=r,fr(r)),(r=A[l+24>>2])&&(A[l+28>>2]=r,fr(r)),(r=A[l+8>>2])&&(A[l+12>>2]=r,fr(r)),F=l- -64|0;break e}a=$(r,i,a)}l=a}return l}function Y(r,e,i,a){var o,n=0,k=0,u=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0,h=0,R=0,W=0;if(F=o=F-80|0,n=A[i+36>>2],A[o+72>>2]=A[i+32>>2],A[o+76>>2]=n,n=A[i+28>>2],A[o+64>>2]=A[i+24>>2],A[o+68>>2]=n,n=A[i+20>>2],A[o+56>>2]=A[i+16>>2],A[o+60>>2]=n,n=A[i+12>>2],A[o+48>>2]=A[i+8>>2],A[o+52>>2]=n,n=A[i+4>>2],A[o+40>>2]=A[i>>2],A[o+44>>2]=n,K(r,o+40|0,o+28|0),!A[r>>2])if(f[r+15|0]<0&&fr(A[r+4>>2]),1==b[o+35|0]){u=o+8|0,F=p=F-16|0;r:{e:switch(b[o+36|0]){case 0:n=Le(ni(48)),A[n>>2]=9816,A[u+8>>2]=0,A[u+12>>2]=0,A[u>>2]=0,A[u+4>>2]=0,A[u+16>>2]=n;break r;case 1:n=Le(ni(52)),A[n+48>>2]=0,A[n>>2]=8132,A[u+8>>2]=0,A[u+12>>2]=0,A[u>>2]=0,A[u+4>>2]=0,A[u+16>>2]=n;break r;default:break e}n=ni(32),f[n+28|0]=0,k=b[1571]|b[1572]<<8|b[1573]<<16|b[1574]<<24,f[n+24|0]=k,f[n+25|0]=k>>>8,f[n+26|0]=k>>>16,f[n+27|0]=k>>>24,k=b[1567]|b[1568]<<8|b[1569]<<16|b[1570]<<24,s=b[1563]|b[1564]<<8|b[1565]<<16|b[1566]<<24,f[n+16|0]=s,f[n+17|0]=s>>>8,f[n+18|0]=s>>>16,f[n+19|0]=s>>>24,f[n+20|0]=k,f[n+21|0]=k>>>8,f[n+22|0]=k>>>16,f[n+23|0]=k>>>24,k=b[1559]|b[1560]<<8|b[1561]<<16|b[1562]<<24,s=b[1555]|b[1556]<<8|b[1557]<<16|b[1558]<<24,f[n+8|0]=s,f[n+9|0]=s>>>8,f[n+10|0]=s>>>16,f[n+11|0]=s>>>24,f[n+12|0]=k,f[n+13|0]=k>>>8,f[n+14|0]=k>>>16,f[n+15|0]=k>>>24,k=b[1551]|b[1552]<<8|b[1553]<<16|b[1554]<<24,s=b[1547]|b[1548]<<8|b[1549]<<16|b[1550]<<24,f[0|n]=s,f[n+1|0]=s>>>8,f[n+2|0]=s>>>16,f[n+3|0]=s>>>24,f[n+4|0]=k,f[n+5|0]=k>>>8,f[n+6|0]=k>>>16,f[n+7|0]=k>>>24,A[p>>2]=-1,wi(p+4|0,n,28),s=f[p+15|0],A[u>>2]=A[p>>2],k=u+4|0,(0|s)>=0?(A[k+8>>2]=A[p+12>>2],s=A[p+8>>2],A[k>>2]=A[p+4>>2],A[k+4>>2]=s,A[u+16>>2]=0):(wi(k,A[p+4>>2],A[p+8>>2]),k=f[p+15|0],A[u+16>>2]=0,(0|k)>=0||fr(A[p+4>>2])),fr(n)}F=p+16|0;r:if(n=A[o+8>>2]){if(A[r>>2]=n,r=r+4|0,f[o+23|0]>=0){A[r+8>>2]=A[o+20>>2],e=A[o+16>>2],A[r>>2]=A[o+12>>2],A[r+4>>2]=e;break r}wi(r,A[o+12>>2],A[o+16>>2])}else{n=A[o+24>>2],A[o+24>>2]=0,A[n+44>>2]=a,F=p=F-32|0,A[n+32>>2]=i,A[n+40>>2]=e,A[n+4>>2]=a,K(r,i,p+20|0);e:if(!A[r>>2])if(f[r+15|0]<0&&fr(A[r+4>>2]),e=b[p+27|0],(0|Uf[A[A[n>>2]+8>>2]](n))==(0|e))if(a=b[p+25|0],f[n+36|0]=a,i=b[p+26|0],f[n+37|0]=i,2==(0|a))if((0|i)==(0|(e?2:3))){if(t[A[n+32>>2]+38>>1]=512|i,!(t[p+30>>1]>=0)){F=N=F-16|0,i=ni(36),A[(e=i)+16>>2]=0,A[e+20>>2]=0,A[e+4>>2]=0,A[e+8>>2]=0,A[e+32>>2]=0,A[e+24>>2]=0,A[e+28>>2]=0,A[e>>2]=e+4,A[e+12>>2]=e+16,A[(s=N+12|0)>>2]=0,a=A[n+32>>2],F=u=F-16|0;i:{f:if(e){if(A[s>>2]=a,A[u+8>>2]=0,e=0,!Ne(1,u+8|0,a))break i;a:{if(h=A[u+8>>2])for(;;){if(!Ne(1,u+4|0,A[s>>2]))break f;if(a=e=ni(28),A[e+16>>2]=0,A[e+20>>2]=0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=e+4,A[e+12>>2]=e+16,A[e+24>>2]=A[u+4>>2],!J(s,e))break a;if(F=e=F-32|0,A[e+8>>2]=a,a){if(k=A[i+28>>2],A[e+12>>2]=k,l=A[i+32>>2],A[e+24>>2]=i+24,A[e+20>>2]=e+8,A[e+16>>2]=e+12,k>>>0<l>>>0)A[e+8>>2]=0,A[k>>2]=a,a=k+4|0;else{a=A[e+24>>2],k=A[a>>2];t:{A:{if((y=(v=(l=A[a+4>>2]-k|0)>>2)+1|0)>>>0<1073741824){if(m=(d=A[a+8>>2]-k|0)>>1,(d=d>>>0>=2147483644?1073741823:y>>>0<m>>>0?m:y)>>>0>=1073741824)break A;y=A[e+20>>2],d=ni(m=d<<2),W=A[y>>2],A[y>>2]=0,A[(y=l+d|0)>>2]=W,v=y-(v<<2)|0,l&&_(v,k,l),A[a+8>>2]=d+m,l=y+4|0,A[a+4>>2]=l,A[a>>2]=v,k&&fr(k),A[A[e+16>>2]>>2]=l;break t}uf(),c()}ji(),c()}a=A[e+12>>2]}A[i+28>>2]=a,a=A[e+8>>2],A[e+8>>2]=0,a&&(k=A[a+16>>2],A[e+16>>2]=a+12,Be(l=e+16|0,k),k=A[a+4>>2],A[e+16>>2]=a,$e(l,k),fr(a))}if(F=e+32|0,(0|(R=R+1|0))==(0|h))break}e=J(s,i);break i}a=A[e+16>>2],A[u+12>>2]=e+12,Be(k=u+12|0,a),a=A[e+4>>2],A[u+12>>2]=e,$e(k,a),fr(e)}e=0}if(F=u+16|0,e?(a=A[n+4>>2],e=A[a+4>>2],A[a+4>>2]=i,e&&fr(ke(e)),A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0):(e=ni(32),f[e+26|0]=0,a=b[1600]|b[1601]<<8,f[e+24|0]=a,f[e+25|0]=a>>>8,a=b[1596]|b[1597]<<8|b[1598]<<16|b[1599]<<24,u=b[1592]|b[1593]<<8|b[1594]<<16|b[1595]<<24,f[e+16|0]=u,f[e+17|0]=u>>>8,f[e+18|0]=u>>>16,f[e+19|0]=u>>>24,f[e+20|0]=a,f[e+21|0]=a>>>8,f[e+22|0]=a>>>16,f[e+23|0]=a>>>24,a=b[1588]|b[1589]<<8|b[1590]<<16|b[1591]<<24,u=b[1584]|b[1585]<<8|b[1586]<<16|b[1587]<<24,f[e+8|0]=u,f[e+9|0]=u>>>8,f[e+10|0]=u>>>16,f[e+11|0]=u>>>24,f[e+12|0]=a,f[e+13|0]=a>>>8,f[e+14|0]=a>>>16,f[e+15|0]=a>>>24,a=b[1580]|b[1581]<<8|b[1582]<<16|b[1583]<<24,u=b[1576]|b[1577]<<8|b[1578]<<16|b[1579]<<24,f[0|e]=u,f[e+1|0]=u>>>8,f[e+2|0]=u>>>16,f[e+3|0]=u>>>24,f[e+4|0]=a,f[e+5|0]=a>>>8,f[e+6|0]=a>>>16,f[e+7|0]=a>>>24,A[r>>2]=-1,wi(r+4|0,e,26),fr(e),fr(ke(i))),F=N+16|0,A[r>>2])break e;f[r+15|0]>=0||fr(A[r+4>>2])}if(0|Uf[A[A[n>>2]+12>>2]](n))if(0|Uf[A[A[n>>2]+20>>2]](n))if(0|Uf[A[A[n>>2]+24>>2]](n))A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0;else{if(e=Ce(p+8|0,1358),A[r>>2]=-1,i=r+4|0,f[e+11|0]>=0){A[i+8>>2]=A[e+8>>2],a=A[e+4>>2],A[i>>2]=A[e>>2],A[i+4>>2]=a;break e}if(wi(i,A[e>>2],A[e+4>>2]),f[e+11|0]>=0)break e;fr(A[e>>2])}else{if(e=Ce(p+8|0,1603),A[r>>2]=-1,i=r+4|0,f[e+11|0]>=0){A[i+8>>2]=A[e+8>>2],a=A[e+4>>2],A[i>>2]=A[e>>2],A[i+4>>2]=a;break e}if(wi(i,A[e>>2],A[e+4>>2]),f[e+11|0]>=0)break e;fr(A[e>>2])}else e=ni(40),f[e+33|0]=0,f[e+32|0]=b[1425],i=b[1421]|b[1422]<<8|b[1423]<<16|b[1424]<<24,a=b[1417]|b[1418]<<8|b[1419]<<16|b[1420]<<24,f[e+24|0]=a,f[e+25|0]=a>>>8,f[e+26|0]=a>>>16,f[e+27|0]=a>>>24,f[e+28|0]=i,f[e+29|0]=i>>>8,f[e+30|0]=i>>>16,f[e+31|0]=i>>>24,i=b[1413]|b[1414]<<8|b[1415]<<16|b[1416]<<24,a=b[1409]|b[1410]<<8|b[1411]<<16|b[1412]<<24,f[e+16|0]=a,f[e+17|0]=a>>>8,f[e+18|0]=a>>>16,f[e+19|0]=a>>>24,f[e+20|0]=i,f[e+21|0]=i>>>8,f[e+22|0]=i>>>16,f[e+23|0]=i>>>24,i=b[1405]|b[1406]<<8|b[1407]<<16|b[1408]<<24,a=b[1401]|b[1402]<<8|b[1403]<<16|b[1404]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1397]|b[1398]<<8|b[1399]<<16|b[1400]<<24,a=b[1393]|b[1394]<<8|b[1395]<<16|b[1396]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-1,wi(r+4|0,e,33),fr(e)}else e=ni(32),f[e+26|0]=0,i=b[1451]|b[1452]<<8,f[e+24|0]=i,f[e+25|0]=i>>>8,i=b[1447]|b[1448]<<8|b[1449]<<16|b[1450]<<24,a=b[1443]|b[1444]<<8|b[1445]<<16|b[1446]<<24,f[e+16|0]=a,f[e+17|0]=a>>>8,f[e+18|0]=a>>>16,f[e+19|0]=a>>>24,f[e+20|0]=i,f[e+21|0]=i>>>8,f[e+22|0]=i>>>16,f[e+23|0]=i>>>24,i=b[1439]|b[1440]<<8|b[1441]<<16|b[1442]<<24,a=b[1435]|b[1436]<<8|b[1437]<<16|b[1438]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1431]|b[1432]<<8|b[1433]<<16|b[1434]<<24,a=b[1427]|b[1428]<<8|b[1429]<<16|b[1430]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-5,wi(r+4|0,e,26),fr(e);else e=ni(32),f[e+26|0]=0,i=b[1478]|b[1479]<<8,f[e+24|0]=i,f[e+25|0]=i>>>8,i=b[1474]|b[1475]<<8|b[1476]<<16|b[1477]<<24,a=b[1470]|b[1471]<<8|b[1472]<<16|b[1473]<<24,f[e+16|0]=a,f[e+17|0]=a>>>8,f[e+18|0]=a>>>16,f[e+19|0]=a>>>24,f[e+20|0]=i,f[e+21|0]=i>>>8,f[e+22|0]=i>>>16,f[e+23|0]=i>>>24,i=b[1466]|b[1467]<<8|b[1468]<<16|b[1469]<<24,a=b[1462]|b[1463]<<8|b[1464]<<16|b[1465]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1458]|b[1459]<<8|b[1460]<<16|b[1461]<<24,a=b[1454]|b[1455]<<8|b[1456]<<16|b[1457]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-5,wi(r+4|0,e,26),fr(e);else e=ni(56),f[e+50|0]=0,i=b[1355]|b[1356]<<8,f[e+48|0]=i,f[e+49|0]=i>>>8,i=b[1351]|b[1352]<<8|b[1353]<<16|b[1354]<<24,a=b[1347]|b[1348]<<8|b[1349]<<16|b[1350]<<24,f[e+40|0]=a,f[e+41|0]=a>>>8,f[e+42|0]=a>>>16,f[e+43|0]=a>>>24,f[e+44|0]=i,f[e+45|0]=i>>>8,f[e+46|0]=i>>>16,f[e+47|0]=i>>>24,i=b[1343]|b[1344]<<8|b[1345]<<16|b[1346]<<24,a=b[1339]|b[1340]<<8|b[1341]<<16|b[1342]<<24,f[e+32|0]=a,f[e+33|0]=a>>>8,f[e+34|0]=a>>>16,f[e+35|0]=a>>>24,f[e+36|0]=i,f[e+37|0]=i>>>8,f[e+38|0]=i>>>16,f[e+39|0]=i>>>24,i=b[1335]|b[1336]<<8|b[1337]<<16|b[1338]<<24,a=b[1331]|b[1332]<<8|b[1333]<<16|b[1334]<<24,f[e+24|0]=a,f[e+25|0]=a>>>8,f[e+26|0]=a>>>16,f[e+27|0]=a>>>24,f[e+28|0]=i,f[e+29|0]=i>>>8,f[e+30|0]=i>>>16,f[e+31|0]=i>>>24,i=b[1327]|b[1328]<<8|b[1329]<<16|b[1330]<<24,a=b[1323]|b[1324]<<8|b[1325]<<16|b[1326]<<24,f[e+16|0]=a,f[e+17|0]=a>>>8,f[e+18|0]=a>>>16,f[e+19|0]=a>>>24,f[e+20|0]=i,f[e+21|0]=i>>>8,f[e+22|0]=i>>>16,f[e+23|0]=i>>>24,i=b[1319]|b[1320]<<8|b[1321]<<16|b[1322]<<24,a=b[1315]|b[1316]<<8|b[1317]<<16|b[1318]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1311]|b[1312]<<8|b[1313]<<16|b[1314]<<24,a=b[1307]|b[1308]<<8|b[1309]<<16|b[1310]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-1,wi(r+4|0,e,50),fr(e);F=p+32|0,A[r>>2]||(f[r+15|0]<0&&fr(A[r+4>>2]),A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0),Uf[A[A[n>>2]+4>>2]](n)}r=A[o+24>>2],A[o+24>>2]=0,r&&Uf[A[A[r>>2]+4>>2]](r),f[o+23|0]>=0||fr(A[o+12>>2])}else e=ni(24),f[e+20|0]=0,i=b[1497]|b[1498]<<8|b[1499]<<16|b[1500]<<24,f[e+16|0]=i,f[e+17|0]=i>>>8,f[e+18|0]=i>>>16,f[e+19|0]=i>>>24,i=b[1493]|b[1494]<<8|b[1495]<<16|b[1496]<<24,a=b[1489]|b[1490]<<8|b[1491]<<16|b[1492]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1485]|b[1486]<<8|b[1487]<<16|b[1488]<<24,a=b[1481]|b[1482]<<8|b[1483]<<16|b[1484]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-1,wi(r+4|0,e,20),fr(e);F=o+80|0}function D(r){var e,i=0,f=0,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0,l=0;F=e=F-16|0;r:{e:{i:{f:{a:{t:{A:{b:{o:{n:{k:{c:{if((r|=0)>>>0<=244){if(3&(i=(o=A[2868])>>>(r=(n=r>>>0<11?16:r+11&504)>>>3|0)|0)){r=(i=(t=r+(1&~i)|0)<<3)+11512|0,f=A[i+11520>>2],(0|r)!=(0|(a=A[f+8>>2]))?(A[a+12>>2]=r,A[r+8>>2]=a):(s=11472,l=Gi(t)&o,A[s>>2]=l),r=f+8|0,A[f+4>>2]=3|i,A[(i=i+f|0)+4>>2]=1|A[i+4>>2];break r}if((c=A[2870])>>>0>=n>>>0)break c;if(i){i=(r=(t=Bi((0-(f=2<<r)|f)&i<<r))<<3)+11512|0,f=A[r+11520>>2],(0|i)!=(0|(a=A[f+8>>2]))?(A[a+12>>2]=i,A[i+8>>2]=a):(o=Gi(t)&o,A[2868]=o),A[f+4>>2]=3|n,t=r-n|0,A[(k=f+n|0)+4>>2]=1|t,A[r+f>>2]=t,c&&(r=11512+(-8&c)|0,a=A[2873],(i=1<<(c>>>3))&o?i=A[r+8>>2]:(A[2868]=i|o,i=r),A[r+8>>2]=a,A[i+12>>2]=a,A[a+12>>2]=r,A[a+8>>2]=i),r=f+8|0,A[2873]=k,A[2870]=t;break r}if(!(_=A[2869]))break c;for(i=A[11776+(Bi(_)<<2)>>2],t=(-8&A[i+4>>2])-n|0,f=i;(r=A[i+16>>2])||(r=A[i+20>>2]);)t=(i=(a=(-8&A[r+4>>2])-n|0)>>>0<t>>>0)?a:t,f=i?r:f,i=r;if(u=A[f+24>>2],(0|f)!=(0|(r=A[f+12>>2]))){i=A[f+8>>2],A[i+12>>2]=r,A[r+8>>2]=i;break e}if(i=A[f+20>>2])a=f+20|0;else{if(!(i=A[f+16>>2]))break k;a=f+16|0}for(;k=a,a=(r=i)+20|0,(i=A[r+20>>2])||(a=r+16|0,i=A[r+16>>2]););A[k>>2]=0;break e}if(n=-1,!(r>>>0>4294967231)&&(n=-8&(i=r+11|0),k=A[2869])){c=31,t=0-n|0,r>>>0<=16777204&&(c=62+((n>>>38-(r=N(i>>>8|0))&1)-(r<<1)|0)|0);u:{_:{if(i=A[11776+(c<<2)>>2])for(r=0,f=n<<(31!=(0|c)?25-(c>>>1|0)|0:0);;){if(!((o=(-8&A[i+4>>2])-n|0)>>>0>=t>>>0||(a=i,t=o))){t=0,r=i;break _}if(o=A[i+20>>2],i=A[16+((f>>>29&4)+i|0)>>2],r=o?(0|o)==(0|i)?r:o:r,f<<=1,!i)break}else r=0;if(!(r|a)){if(a=0,!(r=(0-(r=2<<c)|r)&k))break c;r=A[11776+(Bi(r)<<2)>>2]}if(!r)break u}for(;t=(i=(f=(-8&A[r+4>>2])-n|0)>>>0<t>>>0)?f:t,a=i?r:a,r=(i=A[r+16>>2])||A[r+20>>2];);}if(!(!a|A[2870]-n>>>0<=t>>>0)){if(c=A[a+24>>2],(0|a)!=(0|(r=A[a+12>>2]))){i=A[a+8>>2],A[i+12>>2]=r,A[r+8>>2]=i;break i}if(i=A[a+20>>2])f=a+20|0;else{if(!(i=A[a+16>>2]))break n;f=a+16|0}for(;o=f,f=(r=i)+20|0,(i=A[r+20>>2])||(f=r+16|0,i=A[r+16>>2]););A[o>>2]=0;break i}}}if((a=A[2870])>>>0>=n>>>0){r=A[2873],(i=a-n|0)>>>0>=16?(A[(f=r+n|0)+4>>2]=1|i,A[r+a>>2]=i,A[r+4>>2]=3|n):(A[r+4>>2]=3|a,A[(i=r+a|0)+4>>2]=1|A[i+4>>2],i=0,f=0),A[2870]=i,A[2873]=f,r=r+8|0;break r}if((f=A[2871])>>>0>n>>>0){i=f-n|0,A[2871]=i,f=(r=A[2874])+n|0,A[2874]=f,A[f+4>>2]=1|i,A[r+4>>2]=3|n,r=r+8|0;break r}if(r=0,t=n+47|0,A[2986]?i=A[2988]:(A[2989]=-1,A[2990]=-1,A[2987]=4096,A[2988]=4096,A[2986]=e+12&-16^1431655768,A[2991]=0,A[2979]=0,i=4096),(i=(o=t+i|0)&(k=0-i|0))>>>0<=n>>>0)break r;if((c=A[2978])&&(a=(u=A[2976])+i|0)>>>0<=u>>>0|a>>>0>c>>>0)break r;if(4&b[11916])break A;c:{u:{if(a=A[2874])for(r=11920;;){if((c=A[r>>2])>>>0<=a>>>0&a>>>0<c+A[r+4>>2]>>>0)break u;if(!(r=A[r+8>>2]))break}if(-1==(0|(f=Se(0))))break b;if(o=i,(a=(r=A[2987])-1|0)&f&&(o=(i-f|0)+(f+a&0-r)|0),o>>>0<=n>>>0)break b;if((a=A[2978])&&(r=(k=A[2976])+o|0)>>>0<=k>>>0|r>>>0>a>>>0)break b;if((0|f)!=(0|(r=Se(o))))break c;break t}if((0|(f=Se(o=k&o-f)))==(A[r>>2]+A[r+4>>2]|0))break o;r=f}if(!(-1==(0|r)|n+48>>>0<=o>>>0)){if(-1==(0|Se(f=(f=A[2988])+(t-o|0)&0-f)))break b;o=f+o|0,f=r;break t}if(f=r,-1!=(0|r))break t;break b}r=0;break e}r=0;break i}if(-1!=(0|f))break t}A[2979]=4|A[2979]}if(-1==(0|(f=Se(i)))|-1==(0|(r=Se(0)))|r>>>0<=f>>>0)break a;if((o=r-f|0)>>>0<=n+40>>>0)break a}r=A[2976]+o|0,A[2976]=r,r>>>0>p[2977]&&(A[2977]=r);t:{A:{b:{if(t=A[2874]){for(r=11920;;){if(((i=A[r>>2])+(a=A[r+4>>2])|0)==(0|f))break b;if(!(r=A[r+8>>2]))break}break A}for((r=A[2872])>>>0<=f>>>0&&r||(A[2872]=f),r=0,A[2981]=o,A[2980]=f,A[2876]=-1,A[2877]=A[2986],A[2983]=0;a=(i=r<<3)+11512|0,A[i+11520>>2]=a,A[i+11524>>2]=a,32!=(0|(r=r+1|0)););a=(r=o-40|0)-(i=-8-f&7)|0,A[2871]=a,i=i+f|0,A[2874]=i,A[i+4>>2]=1|a,A[4+(r+f|0)>>2]=40,A[2875]=A[2990];break t}if(!(8&A[r+12>>2]|f>>>0<=t>>>0|i>>>0>t>>>0)){A[r+4>>2]=a+o,i=(r=-8-t&7)+t|0,A[2874]=i,r=(f=A[2871]+o|0)-r|0,A[2871]=r,A[i+4>>2]=1|r,A[4+(f+t|0)>>2]=40,A[2875]=A[2990];break t}}p[2872]>f>>>0&&(A[2872]=f),a=f+o|0,r=11920;A:{for(;;){if((0|(i=A[r>>2]))!=(0|a)){if(r=A[r+8>>2])continue;break A}break}if(!(8&b[r+12|0]))break f}for(r=11920;!((i=A[r>>2])>>>0<=t>>>0&&(a=i+A[r+4>>2]|0)>>>0>t>>>0);)r=A[r+8>>2];for(k=(r=o-40|0)-(i=-8-f&7)|0,A[2871]=k,i=i+f|0,A[2874]=i,A[i+4>>2]=1|k,A[4+(r+f|0)>>2]=40,A[2875]=A[2990],A[(i=(r=(a+(39-a&7)|0)-47|0)>>>0<t+16>>>0?t:r)+4>>2]=27,r=A[2983],A[i+16>>2]=A[2982],A[i+20>>2]=r,r=A[2981],A[i+8>>2]=A[2980],A[i+12>>2]=r,A[2982]=i+8,A[2981]=o,A[2980]=f,A[2983]=0,r=i+24|0;A[r+4>>2]=7,f=r+8|0,r=r+4|0,f>>>0<a>>>0;);if((0|i)!=(0|t)){A[i+4>>2]=-2&A[i+4>>2],f=i-t|0,A[t+4>>2]=1|f,A[i>>2]=f;A:if(f>>>0<=255)r=11512+(248&f)|0,(i=A[2868])&(f=1<<(f>>>3))?i=A[r+8>>2]:(A[2868]=i|f,i=r),A[r+8>>2]=t,A[i+12>>2]=t,a=8,f=12;else{r=31,f>>>0<=16777215&&(r=62^(f>>>38-(r=N(f>>>8|0))&1|r<<1)),A[t+28>>2]=r,A[t+16>>2]=0,A[t+20>>2]=0,i=11776+(r<<2)|0;b:{if((a=A[2869])&(o=1<<r)){for(r=f<<(31!=(0|r)?25-(r>>>1|0)|0:0),a=A[i>>2];;){if((0|f)==(-8&A[(i=a)+4>>2]))break b;if(a=r>>>29|0,r<<=1,!(a=A[(o=(4&a)+i|0)+16>>2]))break}A[o+16>>2]=t}else A[2869]=a|o,A[i>>2]=t;A[t+24>>2]=i,r=i=t,a=12,f=8;break A}r=A[i+8>>2],A[r+12>>2]=t,A[i+8>>2]=t,A[t+8>>2]=r,r=0,a=12,f=24}A[t+a>>2]=i,A[f+t>>2]=r}}if(!((r=A[2871])>>>0<=n>>>0)){i=r-n|0,A[2871]=i,f=(r=A[2874])+n|0,A[2874]=f,A[f+4>>2]=1|i,A[r+4>>2]=3|n,r=r+8|0;break r}}A[2867]=48,r=0;break r}A[r>>2]=f,A[r+4>>2]=A[r+4>>2]+o,A[(c=(-8-f&7)+f|0)+4>>2]=3|n,k=(o=i+(-8-i&7)|0)-(t=n+c|0)|0;f:if(A[2874]!=(0|o))if(A[2873]!=(0|o)){if(1==(3&(r=A[o+4>>2]))){u=-8&r,f=A[o+12>>2];a:if(r>>>0<=255){if((0|(i=A[o+8>>2]))==(0|f)){s=11472,l=A[2868]&Gi(r>>>3|0),A[s>>2]=l;break a}A[i+12>>2]=f,A[f+8>>2]=i}else{n=A[o+24>>2];t:if((0|f)==(0|o)){A:{if(r=A[o+20>>2])i=o+20|0;else{if(!(r=A[o+16>>2]))break A;i=o+16|0}for(;a=i,f=r,i=r+20|0,(r=A[r+20>>2])||(i=f+16|0,r=A[f+16>>2]););A[a>>2]=0;break t}f=0}else r=A[o+8>>2],A[r+12>>2]=f,A[f+8>>2]=r;if(n){r=A[o+28>>2];t:{if(A[(i=r<<2)+11776>>2]==(0|o)){if(A[i+11776>>2]=f,f)break t;s=11476,l=A[2869]&Gi(r),A[s>>2]=l;break a}if(A[n+16>>2]!=(0|o)?A[n+20>>2]=f:A[n+16>>2]=f,!f)break a}A[f+24>>2]=n,(r=A[o+16>>2])&&(A[f+16>>2]=r,A[r+24>>2]=f),(r=A[o+20>>2])&&(A[f+20>>2]=r,A[r+24>>2]=f)}}k=k+u|0,r=A[(o=o+u|0)+4>>2]}if(A[o+4>>2]=-2&r,A[t+4>>2]=1|k,A[t+k>>2]=k,k>>>0<=255)r=11512+(248&k)|0,(i=A[2868])&(f=1<<(k>>>3))?i=A[r+8>>2]:(A[2868]=i|f,i=r),A[r+8>>2]=t,A[i+12>>2]=t,A[t+12>>2]=r,A[t+8>>2]=i;else{f=31,k>>>0<=16777215&&(f=62^(k>>>38-(r=N(k>>>8|0))&1|r<<1)),A[t+28>>2]=f,A[t+16>>2]=0,A[t+20>>2]=0,r=11776+(f<<2)|0;a:{if((i=A[2869])&(a=1<<f)){for(f=k<<(31!=(0|f)?25-(f>>>1|0)|0:0),i=A[r>>2];;){if((-8&A[(r=i)+4>>2])==(0|k))break a;if(i=f>>>29|0,f<<=1,!(i=A[(a=(4&i)+r|0)+16>>2]))break}A[a+16>>2]=t}else A[2869]=i|a,A[r>>2]=t;A[t+24>>2]=r,A[t+12>>2]=t,A[t+8>>2]=t;break f}i=A[r+8>>2],A[i+12>>2]=t,A[r+8>>2]=t,A[t+24>>2]=0,A[t+12>>2]=r,A[t+8>>2]=i}}else A[2873]=t,r=A[2870]+k|0,A[2870]=r,A[t+4>>2]=1|r,A[r+t>>2]=r;else A[2874]=t,r=A[2871]+k|0,A[2871]=r,A[t+4>>2]=1|r;r=c+8|0;break r}i:if(c){i=A[a+28>>2];f:{if(A[(f=i<<2)+11776>>2]==(0|a)){if(A[f+11776>>2]=r,r)break f;k=Gi(i)&k,A[2869]=k;break i}if(A[c+16>>2]!=(0|a)?A[c+20>>2]=r:A[c+16>>2]=r,!r)break i}A[r+24>>2]=c,(i=A[a+16>>2])&&(A[r+16>>2]=i,A[i+24>>2]=r),(i=A[a+20>>2])&&(A[r+20>>2]=i,A[i+24>>2]=r)}i:if(t>>>0<=15)r=t+n|0,A[a+4>>2]=3|r,A[(r=r+a|0)+4>>2]=1|A[r+4>>2];else if(A[a+4>>2]=3|n,A[(o=a+n|0)+4>>2]=1|t,A[t+o>>2]=t,t>>>0<=255)r=11512+(248&t)|0,(i=A[2868])&(f=1<<(t>>>3))?i=A[r+8>>2]:(A[2868]=i|f,i=r),A[r+8>>2]=o,A[i+12>>2]=o,A[o+12>>2]=r,A[o+8>>2]=i;else{r=31,t>>>0<=16777215&&(r=62^(t>>>38-(r=N(t>>>8|0))&1|r<<1)),A[o+28>>2]=r,A[o+16>>2]=0,A[o+20>>2]=0,i=11776+(r<<2)|0;f:{if((f=1<<r)&k){for(r=t<<(31!=(0|r)?25-(r>>>1|0)|0:0),i=A[i>>2];;){if(f=i,(-8&A[i+4>>2])==(0|t))break f;if(k=r>>>29|0,r<<=1,!(i=A[(k=i+(4&k)|0)+16>>2]))break}A[k+16>>2]=o,A[o+24>>2]=f}else A[2869]=f|k,A[i>>2]=o,A[o+24>>2]=i;A[o+12>>2]=o,A[o+8>>2]=o;break i}r=A[f+8>>2],A[r+12>>2]=o,A[f+8>>2]=o,A[o+24>>2]=0,A[o+12>>2]=f,A[o+8>>2]=r}r=a+8|0;break r}e:if(u){i=A[f+28>>2];i:{if(A[(a=i<<2)+11776>>2]==(0|f)){if(A[a+11776>>2]=r,r)break i;s=11476,l=Gi(i)&_,A[s>>2]=l;break e}if(A[u+16>>2]!=(0|f)?A[u+20>>2]=r:A[u+16>>2]=r,!r)break e}A[r+24>>2]=u,(i=A[f+16>>2])&&(A[r+16>>2]=i,A[i+24>>2]=r),(i=A[f+20>>2])&&(A[r+20>>2]=i,A[i+24>>2]=r)}t>>>0<=15?(r=t+n|0,A[f+4>>2]=3|r,A[(r=r+f|0)+4>>2]=1|A[r+4>>2]):(A[f+4>>2]=3|n,A[(k=f+n|0)+4>>2]=1|t,A[t+k>>2]=t,c&&(r=11512+(-8&c)|0,a=A[2873],(i=1<<(c>>>3))&o?i=A[r+8>>2]:(A[2868]=i|o,i=r),A[r+8>>2]=a,A[i+12>>2]=a,A[a+12>>2]=r,A[a+8>>2]=i),A[2873]=k,A[2870]=t),r=f+8|0}return F=e+16|0,0|r}function J(r,e){var i,a=0,t=0,o=0,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,j=0,E=0,Y=0,D=0;F=i=F-32|0,U=ni(12),A[U+8>>2]=0,A[U+4>>2]=e,A[U>>2]=0,E=e=U+12|0;r:{e:{i:{for(;;){Y=A[e-4>>2];f:{a:{t:{A:{b:{o:{if(Z=A[(G=e-12|0)>>2]){if(o=0,(0|Y)>1e3)break i;if(A[i+24>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,e=A[r>>2],t=A[e+8>>2],(0|(v=A[e+12>>2]))<=(0|(a=A[e+20>>2]))&(n=A[e+16>>2])>>>0>=t>>>0|(0|a)>(0|v))break i;if(t=b[n+A[e>>2]|0],a=(n=n+1|0)?a:a+1|0,A[e+16>>2]=n,A[e+20>>2]=a,wr(a=i+16|0,t),t){if(e=A[r>>2],k=mi(a),p=A[e+8>>2],v=A[e+12>>2],n=A[e+20>>2],p>>>0<(m=t+(a=A[e+16>>2])|0)>>>0&(0|(n=m>>>0<t>>>0?n+1|0:n))>=(0|v)|(0|n)>(0|v))break b;t&&_(k,a+A[e>>2]|0,t),a=A[e+20>>2],a=(n=t)>>>0>(t=t+A[e+16>>2]|0)>>>0?a+1|0:a,A[e+16>>2]=t,A[e+20>>2]=a}v=ni(24),A[(e=v)+16>>2]=0,A[e+20>>2]=0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=e+4,A[e+12>>2]=e+16,a=i+16|0,F=n=F-32|0;n:{k:{c:{u:if(e=A[Z+16>>2]){for(s=Z+16|0,k=(p=(0|(t=f[a+11|0]))<0)?A[a>>2]:a,t=p?A[a+4>>2]:t;;){if(1==(0|((N=Ve(k,p=(h=(0|(m=f[e+27|0]))<0)?A[e+16>>2]:e+16|0,y=(h=(m=h?A[e+20>>2]:m)>>>0<t>>>0)?m:t))?(0|N)<0:t>>>0<m>>>0))){if(e=A[e>>2])continue;break u}if(1==(0|((p=Ve(p,k,y))?(0|p)<0:h))){if(e=A[e+4>>2])continue;break u}break}if((0|e)!=(0|s))break c}A[n+16>>2]=a,A[n+28>>2]=Z+12,e=a,k=A[n+28>>2];u:{_:if(a=A[k+4>>2]){for(m=(p=(0|(t=f[e+11|0]))<0)?A[e>>2]:e,p=p?A[e+4>>2]:t;;){if(e=a,1==(0|((N=Ve(m,h=(s=(0|(t=f[a+27|0]))<0)?A[a+16>>2]:a+16|0,y=(s=(t=s?A[a+20>>2]:t)>>>0<p>>>0)?t:p))?(0|N)<0:t>>>0>p>>>0))){if(t=a,a=A[a>>2])continue;break _}if(t=0,1!=(0|((a=Ve(h,m,y))?(0|a)<0:s))){a=e;break u}if(!(a=A[e+4>>2]))break}t=e+4|0}else e=t=k+4|0;a=ni(32),A[a>>2]=0,m=a+16|0,p=A[n+16>>2],f[p+11|0]>=0?(A[m+8>>2]=A[p+8>>2],h=A[p+4>>2],A[m>>2]=A[p>>2],A[m+4>>2]=h):wi(m,A[p>>2],A[p+4>>2]),A[a+8>>2]=e,A[a>>2]=0,A[a+4>>2]=0,A[a+28>>2]=0,A[t>>2]=a,(e=A[A[k>>2]>>2])&&(A[k>>2]=e),lr(A[k+4>>2],a),t=1,A[k+8>>2]=A[k+8>>2]+1}if(f[n+24|0]=t,A[n+20>>2]=a,a=A[n+20>>2],e=A[a+28>>2],A[a+28>>2]=v,!e){a=1;break n}a=A[e+16>>2],A[n+20>>2]=e+12,Be(t=n+20|0,a),a=A[e+4>>2],A[n+20>>2]=e,$e(t,a),a=1;break k}if(!v){a=0;break n}e=A[v+16>>2],A[n+20>>2]=v+12,Be(a=n+20|0,e),e=A[v+4>>2],A[n+20>>2]=v,$e(a,e),e=v,a=0}fr(e)}if(F=n+32|0,f[i+27|0]<0&&fr(A[i+16>>2]),a)break o;break i}if(!(v=A[e-8>>2]))break t}if(A[i+16>>2]=0,!Ne(1,i+16|0,A[r>>2]))break t;if(e=0,!(D=A[i+16>>2]))break A;for(;;){o=0,F=N=F-32|0,A[N+24>>2]=0,A[N+16>>2]=0,A[N+20>>2]=0,a=A[r>>2],n=A[a+8>>2];o:{n:{k:if(!((0|(k=A[a+12>>2]))<=(0|(p=A[a+20>>2]))&(t=A[a+16>>2])>>>0>=n>>>0|(0|k)<(0|p))){if(n=b[t+A[a>>2]|0],k=a,a=p,a=(t=t+1|0)?a:a+1|0,A[k+16>>2]=t,A[k+20>>2]=a,wr(a=N+16|0,n),n){if(t=A[r>>2],m=mi(a),h=A[t+8>>2],p=A[t+12>>2],a=A[t+20>>2],(s=(k=A[t+16>>2])+n|0)>>>0>h>>>0&(0|(a=s>>>0<n>>>0?a+1|0:a))>=(0|p)|(0|a)>(0|p))break k;n&&_(m,k+A[t>>2]|0,n),a=A[t+20>>2],a=(k=n)>>>0>(n=n+A[t+16>>2]|0)>>>0?a+1|0:a,A[t+16>>2]=n,A[t+20>>2]=a}if(A[N+12>>2]=0,Ne(1,N+12|0,A[r>>2])&&(t=A[N+12>>2])&&(s=A[r>>2],a=(p=A[s+8>>2])-(n=A[s+16>>2])|0,!(a=(0|(m=(V=A[s+12>>2])-((k=A[s+20>>2])+(n>>>0>p>>>0)|0)|0))<0?1:a>>>0<t>>>0&(0|m)<=0))){if((0|t)<0)break n;o=ni(t),A[N>>2]=o,a=t+o|0,A[N+8>>2]=a,u(o,0,t),A[N+4>>2]=a,a=k,m=a=(h=t+n|0)>>>0<t>>>0?a+1|0:a;c:{if((0|V)>=(0|a)&p>>>0>=h>>>0|(0|a)<(0|V)){_(o,n+A[s>>2]|0,t),A[s+16>>2]=h,A[s+20>>2]=a,R=a=N+16|0,F=y=F-48|0;u:if(n=A[v+4>>2]){for(W=v+4|0,o=A[a>>2],o=(t=(0|(a=f[a+11|0]))<0)?o:R,t=t?A[R+4>>2]:a,a=n;;){if(1==(0|((j=Ve(o,k=(l=(0|(s=f[a+27|0]))<0)?A[a+16>>2]:a+16|0,T=(l=(s=l?A[a+20>>2]:s)>>>0<t>>>0)?s:t))?(0|j)<0:t>>>0<s>>>0))){if(a=A[a>>2])continue;break u}if(1==(0|((k=Ve(k,o,T))?(0|k)<0:l))){if(a=A[a+4>>2])continue;break u}break}if((0|a)!=(0|W)){if(o=A[a+4>>2])for(;o=A[(t=o)>>2];);else for(t=a;o=t,t=A[t+8>>2],(0|o)!=A[t>>2];);A[v>>2]==(0|a)&&(A[v>>2]=t),A[v+8>>2]=A[v+8>>2]-1,k=a,t=a;_:{s:{if(o=A[a>>2]){if(!(a=A[a+4>>2]))break s;for(;t=a,a=A[a>>2];);}if(!(o=A[t+4>>2])){l=A[t+8>>2],o=0,s=1;break _}}l=A[t+8>>2],A[o+8>>2]=l,s=0}_:if((0|t)!=(0|(a=A[l>>2])))A[l+4>>2]=o;else{if(A[l>>2]=o,(0|t)==(0|n)){a=0,n=o;break _}a=A[l+4>>2]}W=b[t+12|0],(0|t)!=(0|k)&&(l=A[k+8>>2],A[t+8>>2]=l,(0|k)!=A[l>>2]?A[l+4>>2]=t:A[l>>2]=t,l=A[k>>2],A[t>>2]=l,A[l+8>>2]=t,l=A[k+4>>2],A[t+4>>2]=l,l&&(A[l+8>>2]=t),f[t+12|0]=b[k+12|0],n=(0|n)==(0|k)?t:n);_:if(!(!n|!(1&W))){if(s)for(;;){s=b[a+12|0];s:{if(t=A[a+8>>2],(0|(o=A[t>>2]))!=(0|a)){1&s||(f[a+12|0]=1,f[t+12|0]=0,o=A[t+4>>2],s=A[o>>2],A[t+4>>2]=s,s&&(A[s+8>>2]=t),s=A[t+8>>2],A[o+8>>2]=s,(0|t)!=A[s>>2]?A[s+4>>2]=o:A[s>>2]=o,A[o>>2]=t,A[t+8>>2]=o,t=a,n=(0|(a=A[a>>2]))==(0|n)?t:n,a=A[a+4>>2]);p:{l:{t=A[a>>2];y:{if(1==b[t+12|0]||!t){if(o=A[a+4>>2],1!=b[o+12|0]&&o)break y;if(f[a+12|0]=0,a=A[a+8>>2],b[a+12|0]&&(0|n)!=(0|a))break s;f[a+12|0]=1;break _}if(!(o=A[a+4>>2]))break l}if(1!=b[o+12|0]){t=a;break p}}f[t+12|0]=1,f[a+12|0]=0,o=A[t+4>>2],A[a>>2]=o,o&&(A[o+8>>2]=a),o=A[a+8>>2],A[t+8>>2]=o,A[o>>2]!=(0|a)?A[o+4>>2]=t:A[o>>2]=t,A[t+4>>2]=a,A[a+8>>2]=t,o=a}a=A[t+8>>2],f[t+12|0]=b[a+12|0],f[a+12|0]=1,f[o+12|0]=1,t=A[a+4>>2],o=A[t>>2],A[a+4>>2]=o,o&&(A[o+8>>2]=a),o=A[a+8>>2],A[t+8>>2]=o,(0|a)!=A[o>>2]?A[o+4>>2]=t:A[o>>2]=t,A[t>>2]=a,A[a+8>>2]=t;break _}1&s||(f[a+12|0]=1,f[t+12|0]=0,s=A[o+4>>2],A[t>>2]=s,s&&(A[s+8>>2]=t),s=A[t+8>>2],A[o+8>>2]=s,(0|t)!=A[s>>2]?A[s+4>>2]=o:A[s>>2]=o,A[o+4>>2]=t,A[t+8>>2]=o,t=a,n=(0|(a=A[a+4>>2]))==(0|n)?t:n,a=A[a>>2]);p:if(!(o=A[a>>2])|1==b[o+12|0]){if(t=A[a+4>>2],1==b[t+12|0]||!t){if(f[a+12|0]=0,a=A[a+8>>2],1==b[a+12|0]&(0|a)!=(0|n))break s;f[a+12|0]=1;break _}if(o){if(1!=b[o+12|0]){t=a;break p}t=A[a+4>>2]}f[t+12|0]=1,f[a+12|0]=0,o=A[t>>2],A[a+4>>2]=o,o&&(A[o+8>>2]=a),o=A[a+8>>2],A[t+8>>2]=o,A[o>>2]!=(0|a)?A[o+4>>2]=t:A[o>>2]=t,A[t>>2]=a,A[a+8>>2]=t,o=a}else t=a;a=A[t+8>>2],f[t+12|0]=b[a+12|0],f[a+12|0]=1,f[o+12|0]=1,t=A[a>>2],o=A[t+4>>2],A[a>>2]=o,o&&(A[o+8>>2]=a),o=A[a+8>>2],A[t+8>>2]=o,(0|a)!=A[o>>2]?A[o+4>>2]=t:A[o>>2]=t,A[t+4>>2]=a,A[a+8>>2]=t;break _}t=a,a=A[a+8>>2],a=A[((0|t)==A[a>>2]?4:0)+a>>2]}f[o+12|0]=1}(a=A[k+28>>2])&&(A[k+32>>2]=a,fr(a)),f[k+27|0]<0&&fr(A[k+16>>2]),fr(k)}}o=(a=A[N+4>>2])-(n=A[N>>2])|0;u:{_:{if((0|a)!=(0|n)){if((0|o)<0)break _;a=ni(o),o&&u(a,0,o),t=a+o|0}else a=0,t=0;if(o&&_(a,n,o),f[R+11|0]>=0?(A[y+16>>2]=A[R+8>>2],o=A[R+4>>2],A[y+8>>2]=A[R>>2],A[y+12>>2]=o):wi(y+8|0,A[R>>2],A[R+4>>2]),o=0,A[y+28>>2]=0,A[y+20>>2]=0,A[y+24>>2]=0,n=t-a|0,(0|a)!=(0|t)){if((0|n)<0)break _;o=ni(n),n&&u(o,0,n),t=o+n|0,A[y+28>>2]=t,A[y+24>>2]=t,A[y+20>>2]=o}n&&_(o,a,n),A[y+44>>2]=v,t=k=y+8|0;s:{p:{s=A[y+44>>2];l:{y:if(n=A[s+4>>2]){for(R=(l=(0|(o=f[t+11|0]))<0)?A[t>>2]:t,l=l?A[t+4>>2]:o;;){if(W=(n=(o=(0|(n=f[(t=n)+27|0]))<0)?A[t+20>>2]:n)>>>0<l>>>0,1==(0|((o=Ve(R,T=o?A[t+16>>2]:t+16|0,j=W?n:l))?(0|o)<0:n>>>0>l>>>0))){if(o=t,n=A[t>>2])continue;break y}if(o=0,1!=(0|((n=Ve(T,R,j))?(0|n)<0:W))){n=t;break l}if(!(n=A[t+4>>2]))break}o=t+4|0}else t=o=s+4|0;if(l=0,n=ni(40),A[n>>2]=0,A[n+24>>2]=A[k+8>>2],R=A[k+4>>2],A[n+16>>2]=A[k>>2],A[n+20>>2]=R,A[k>>2]=0,A[k+4>>2]=0,A[k+8>>2]=0,A[n+36>>2]=0,A[n+28>>2]=0,A[n+32>>2]=0,k=(W=A[k+16>>2])-(R=A[k+12>>2])|0,(0|R)!=(0|W)){if((0|k)<0)break p;l=ni(k),k&&u(l,0,k),W=k+l|0,A[n+36>>2]=W,A[n+32>>2]=W,A[n+28>>2]=l}k&&_(l,R,k),A[n+8>>2]=t,A[n>>2]=0,A[n+4>>2]=0,A[o>>2]=n,(t=A[A[s>>2]>>2])&&(A[s>>2]=t),lr(A[s+4>>2],n),o=1,A[s+8>>2]=A[s+8>>2]+1}f[y+40|0]=o,A[y+36>>2]=n;break s}uf(),c()}(t=A[y+20>>2])&&(A[y+24>>2]=t,fr(t)),f[y+19|0]<0&&fr(A[y+8>>2]),a&&fr(a),F=y+48|0;break u}uf(),c()}if(!(o=A[N>>2]))break c}A[N+4>>2]=o,fr(o)}o=(0|m)<=(0|V)&p>>>0>=h>>>0|(0|m)<(0|V)}}f[N+27|0]<0&&fr(A[N+16>>2]),F=N+32|0;break o}uf(),c()}if(!o)break t;if((0|D)==(0|(e=e+1|0)))break}break A}if(f[i+27|0]>=0)break i;fr(A[i+16>>2]);break i}if(A[i+12>>2]=0,Ne(1,i+12|0,A[r>>2])&&(a=A[i+12>>2],t=A[r>>2],e=(o=A[t+8>>2])-(n=A[t+16>>2])|0,!(e=(0|(t=A[t+12>>2]-(A[t+20>>2]+(o>>>0<n>>>0)|0)|0))<0?1:e>>>0<a>>>0&(0|t)<=0))){if(a)break a;e=G;break f}}o=0;break i}for(o=0,k=!!(0|Z)+Y|0,e=G;;){if(e>>>0<E>>>0)A[e+8>>2]=k,A[e+4>>2]=0,A[e>>2]=v;else{if((e=1+((0|(n=e-U|0))/12|0)|0)>>>0>=357913942)break e;if(G=(t=(E-U|0)/12|0)<<1,(e=t>>>0>=178956970?357913941:e>>>0<G>>>0?G:e)>>>0>=357913942)break r;p=ni(G=d(e,12)),A[(e=p+n|0)+8>>2]=k,A[e+4>>2]=0,A[e>>2]=v,t=d((0|n)/-12|0,12)+e|0,n&&_(t,U,n),fr(U),E=p+G|0,U=t}if(e=e+12|0,(0|a)==(0|(o=o+1|0)))break}}if((0|e)==(0|U))break}o=1}return fr(U),F=i+32|0,o}uf(),c()}ji(),c()}function w(r,e,i,a){var n=0,k=0,c=0,_=0,s=0,d=0;r:if(a){e:{i:{f:switch(A[r+28>>2]-1|0){case 0:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(f[0|e])/v(127),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+1|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=f[0|e],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+1|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 1:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(b[0|e])/v(255),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+1|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=b[0|e],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+1|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 2:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(t[e>>1])/v(32767),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+2|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=t[e>>1],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+2|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 3:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(o[e>>1])/v(65535),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+2|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=o[e>>1],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+2|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 4:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(A[e>>2])*v(4.656612873077393e-10),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+4|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=A[e>>2],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+4|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 5:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(p[e>>2])*v(2.3283064365386963e-10),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+4|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=p[e>>2],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+4|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 6:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(+p[e>>2]+4294967296*+A[e+4>>2])*v(10842021724855044e-35),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+8|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=+p[e>>2]+4294967296*+A[e+4>>2],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+8|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 7:s=c=255&i;a:if((k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],1&f[r+32|0]){if(e>>>0>=_>>>0)break r;for(n=0;;){if(l[(n<<2)+a>>2]=v(+p[e>>2]+4294967296*+p[e+4>>2])*v(5.421010862427522e-20),(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+8|0)>>>0))break}break r}if(e>>>0>=_>>>0)break r;for(c=255&i,n=0;;){if(l[(n<<2)+a>>2]=+p[e>>2]+4294967296*+p[e+4>>2],(n=n+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break a;if(!(_>>>0>(e=e+8|0)>>>0))break}break r}if(k>>>0<s>>>0)break i;break e;case 8:if(c=255&i,(k=b[r+24|0])>>>0>c>>>0?c:k)for(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],n=0;;){if(e>>>0>=_>>>0)break r;if(l[(n<<2)+a>>2]=l[e>>2],e=e+4|0,!((n=n+1|0)>>>0<((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0))break}if(k>>>0<c>>>0)break i;break e;case 9:if(c=255&i,(k=b[r+24|0])>>>0>c>>>0?c:k)for(n=A[r>>2],k=A[n>>2],_=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+_|0)+k|0,_=A[n+4>>2],n=0;;){if(e>>>0>=_>>>0)break r;if(l[(n<<2)+a>>2]=y[e>>3],e=e+8|0,!((n=n+1|0)>>>0<((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0))break}if(k>>>0<c>>>0)break i;break e;case 10:break f;default:break r}f:if(c=255&i,(k=b[r+24|0])>>>0>c>>>0?c:k){if(n=A[r>>2],k=_=A[n+4>>2],n=A[n>>2],s=A[r+48>>2],k>>>0<=(n=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+n|0)>>>0)break r;for(e=0;;){if(l[(e<<2)+a>>2]=b[0|n],(e=e+1|0)>>>0>=((k=b[r+24|0])>>>0>c>>>0?c:k)>>>0)break f;if(!(_>>>0>(n=n+1|0)>>>0))break}break r}if(k>>>0>=c>>>0)break e}(r=(i-k&255)<<2)&&u((k<<2)+a|0,0,r)}d=1}return d}function B(r,e){var i,f=0,a=0,t=0,b=0,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,v=0;F=i=F-48|0;r:{e:{i:if(A[r+92>>2]!=A[r+88>>2]){f=A[r+52>>2],A[i+28>>2]=f,b=A[r+56>>2],y=r+48|0,A[i+40>>2]=y,A[i+36>>2]=e,A[i+32>>2]=i+28,f>>>0<b>>>0?(A[f>>2]=A[e>>2],f=f+4|0):($r(i+32|0),f=A[i+28>>2]),A[r+52>>2]=f,A[r+84>>2]=0,b=-1,a=-1;f:if(-1!=(0|(f=A[e>>2]))){if(o=A[r+4>>2],-1!=(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))&&(b=A[A[o>>2]+(a<<2)>>2]),(f>>>0)%3|0)t=f-1|0;else if(a=-1,-1==(0|(t=f+2|0)))break f;a=A[A[o>>2]+(t<<2)>>2]}if(n=A[r+36>>2],(o=A[(t=n+(b>>>3&536870908)|0)>>2])&(k=1<<b)||(A[t>>2]=o|k,n=-1,-1!=(0|f)&&(n=((t=f+1|0)>>>0)%3|0?t:f-2|0),A[i+20>>2]=n,f=A[r+20>>2],t=(n>>>0)/3|0,o=A[(A[A[r+16>>2]+96>>2]+d(t,12)|0)+(n-d(t,3)<<2)>>2],A[i+24>>2]=o,f=A[f+4>>2],t=A[f+4>>2],A[i+28>>2]=t,n=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,t>>>0<n>>>0?(A[t>>2]=o,o=t+4|0):($r(i+32|0),o=A[i+28>>2]),A[f+4>>2]=o,f=A[r+12>>2],t=A[f+4>>2],A[i+28>>2]=t,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+20,A[i+32>>2]=i+28,t>>>0<o>>>0?(A[t>>2]=A[i+20>>2],o=t+4|0):($r(i+32|0),o=A[i+28>>2]),A[f+4>>2]=o,f=A[r+12>>2],t=A[f+24>>2],A[A[f+12>>2]+(b<<2)>>2]=t,A[f+24>>2]=t+1,n=A[r+36>>2],f=A[e>>2]),(t=A[(b=(a>>>3&536870908)+n|0)>>2])&(o=1<<a)||(A[b>>2]=t|o,b=-1,-1!=(0|f)&&(b=f-1|0,(f>>>0)%3|0||(b=f+2|0)),A[i+16>>2]=b,f=A[r+20>>2],t=(b>>>0)/3|0,t=A[(A[A[r+16>>2]+96>>2]+d(t,12)|0)+(b-d(t,3)<<2)>>2],A[i+24>>2]=t,f=A[f+4>>2],b=A[f+4>>2],A[i+28>>2]=b,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,b>>>0<o>>>0?(A[b>>2]=t,b=b+4|0):($r(i+32|0),b=A[i+28>>2]),A[f+4>>2]=b,f=A[r+12>>2],b=A[f+4>>2],A[i+28>>2]=b,t=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+16,A[i+32>>2]=i+28,t>>>0>b>>>0?(A[b>>2]=A[i+16>>2],b=b+4|0):($r(i+32|0),b=A[i+28>>2]),A[f+4>>2]=b,f=A[r+12>>2],b=A[f+24>>2],A[A[f+12>>2]+(a<<2)>>2]=b,A[f+24>>2]=b+1,f=A[e>>2]),b=-1,b=-1!=(0|f)?A[A[A[r+4>>2]>>2]+(f<<2)>>2]:b,a=A[r+36>>2]+(b>>>3&536870908)|0,(t=A[a>>2])&(o=1<<b)||(A[a>>2]=t|o,A[i+12>>2]=f,a=A[r+20>>2],t=(f>>>0)/3|0,t=A[(A[A[r+16>>2]+96>>2]+d(t,12)|0)+(f-d(t,3)<<2)>>2],A[i+24>>2]=t,f=A[a+4>>2],a=A[f+4>>2],A[i+28>>2]=a,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,a>>>0<o>>>0?(A[a>>2]=t,a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+4>>2],A[i+28>>2]=a,t=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+12,A[i+32>>2]=i+28,a>>>0<t>>>0?(A[a>>2]=A[i+12>>2],a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(b<<2)>>2]=a,A[f+24>>2]=a+1),!((0|(b=A[r+84>>2]))>2))for(;;){if(a=d(b,12)+y|0,(0|(f=A[a+4>>2]))==A[a>>2]){if(3!=(0|(b=b+1|0)))continue;break i}if(f=A[(t=f-4|0)>>2],A[a+4>>2]=t,A[r+84>>2]=b,A[e>>2]=f,-1==(0|f))break i;f:{a:if(b=A[r+24>>2],!(A[b+((a=(f>>>0)/3|0)>>>3&268435452)>>2]>>>a&1)){for(;;){A[(b=((a=(f>>>0)/3|0)>>>3&268435452)+b|0)>>2]=A[b>>2]|1<<a,b=-1;t:{A:{b:{o:{n:{k:{c:{if(b=-1!=(0|f)?A[A[A[r+4>>2]>>2]+(f<<2)>>2]:b,t=A[r+36>>2]+(b>>>3&536870908)|0,!((o=A[t>>2])&(n=1<<b))){if(A[t>>2]=o|n,a=A[(A[A[r+16>>2]+96>>2]+d(a,12)|0)+(f-d(a,3)<<2)>>2],k=A[A[r+20>>2]+4>>2],(_=A[k+4>>2])>>>0<(o=A[k+8>>2])>>>0)A[_>>2]=a,t=_+4|0;else{if((t=(s=(u=_-(n=A[k>>2])|0)>>2)+1|0)>>>0>=1073741824)break c;if(p=(o=o-n|0)>>1,(t=o>>>0>=2147483644?1073741823:t>>>0<p>>>0?p:t)>>>0>=1073741824)break e;if(o=u,p=ni(u=t<<2),A[(o=o+p|0)>>2]=a,t=o+4|0,o=s=o-(s<<2)|0,(0|_)!=(0|(a=n)))for(;A[o>>2]=A[a>>2],o=o+4|0,(0|_)!=(0|(a=a+4|0)););A[k+8>>2]=u+p,A[k+4>>2]=t,A[k>>2]=s,n&&fr(n)}if(A[k+4>>2]=t,n=A[r+12>>2],(k=A[n+4>>2])>>>0<(t=A[n+8>>2])>>>0)A[k>>2]=f,f=k+4|0;else{if((a=(u=(_=k-(o=A[n>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(s=(t=t-o|0)>>1,(a=t>>>0>=2147483644?1073741823:a>>>0<s>>>0?s:a)>>>0>=1073741824)break e;if(t=_,s=ni(_=a<<2),A[(a=t+s|0)>>2]=f,f=a+4|0,a=u=a-(u<<2)|0,(0|k)!=(0|(t=o)))for(;A[a>>2]=A[t>>2],a=a+4|0,(0|k)!=(0|(t=t+4|0)););A[n+8>>2]=_+s,A[n+4>>2]=f,A[n>>2]=u,o&&fr(o)}A[n+4>>2]=f,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(b<<2)>>2]=a,A[f+24>>2]=a+1,f=A[e>>2]}if(-1==(0|f))break a;o=A[r+4>>2],b=-1,-1!=(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))&&(b=A[A[o+12>>2]+(a<<2)>>2]);u:{if((f>>>0)%3|0)n=f-1|0;else if(n=f+2|0,f=-1,-1==(0|n))break u;f=A[A[o+12>>2]+(n<<2)>>2]}if(a=(f>>>0)/3|0,-1!=(0|b)){if(t=(b>>>0)/3|0,t=A[A[r+24>>2]+(t>>>3&268435452)>>2]&1<<t,-1==(0|f))break k;t=!!(0|t);break n}if(t=1,-1!=(0|f))break n;break a}uf(),c()}if(!t)break o;break a}if(!(A[A[r+24>>2]+(a>>>3&268435452)>>2]>>>a&1)){if(n=0,a=A[A[o>>2]+(f<<2)>>2],A[A[r+36>>2]+(a>>>3&536870908)>>2]>>>a&1||(o=A[r+88>>2]+(a<<2)|0,a=A[o>>2],A[o>>2]=a+1,n=(0|a)<=0?2:1),A[r+84>>2]>=(0|n)&&t)break A;if(k=d(n,12)+y|0,(_=A[k+4>>2])>>>0<(u=A[k+8>>2])>>>0)A[_>>2]=f,f=_+4|0;else{if((o=(p=(s=_-(a=A[k>>2])|0)>>2)+1|0)>>>0>=1073741824)break r;if(l=(u=u-a|0)>>1,(o=u>>>0>=2147483644?1073741823:o>>>0<l>>>0?l:o)>>>0>=1073741824)break e;if(v=ni(l=o<<2),A[(u=s+v|0)>>2]=f,f=u+4|0,o=a,u=s=u-(p<<2)|0,(0|a)!=(0|_))for(;A[u>>2]=A[o>>2],u=u+4|0,(0|_)!=(0|(o=o+4|0)););A[k+8>>2]=l+v,A[k+4>>2]=f,A[k>>2]=s,a&&fr(a)}A[k+4>>2]=f,A[r+84>>2]<=(0|n)||(A[r+84>>2]=n)}if(t)break a;if(f=-1,-1==(0|b))break b}f=A[A[A[r+4>>2]>>2]+(b<<2)>>2]}if(a=0,A[A[r+36>>2]+(f>>>3&536870908)>>2]>>>f&1||(a=A[r+88>>2]+(f<<2)|0,f=A[a>>2],A[a>>2]=f+1,a=(0|f)<=0?2:1),A[r+84>>2]<(0|a))break t;f=b}A[e>>2]=f,b=A[r+24>>2];continue}break}if(A[i+8>>2]=b,f=d(a,12)+y|0,t=A[f+4>>2],A[i+28>>2]=t,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+8,A[i+32>>2]=i+28,t>>>0<o>>>0?(A[t>>2]=b,b=t+4|0):($r(i+32|0),b=A[i+28>>2]),A[f+4>>2]=b,(0|(b=A[r+84>>2]))<=(0|a))break f;A[r+84>>2]=a,b=a;break f}b=A[r+84>>2]}if(!((0|b)<3))break}}return F=i+48|0,1}ji(),c()}uf(),c()}function I(r,e){e|=0;var i,a,t=0,n=0,k=0,u=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0;F=i=F-96|0,a=A[(r|=0)+4>>2],t=A[a+32>>2],s=A[t+8>>2];r:if(!((0|(k=y=A[t+12>>2]))<=(0|(n=A[t+20>>2]))&(u=A[t+16>>2])>>>0>=s>>>0|(0|n)>(0|k)||(m=A[t>>2],l=f[m+u|0],k=(p=u+1|0)?n:n+1|0,A[t+16>>2]=p,A[t+20>>2]=k,s>>>0<=p>>>0&(0|k)>=(0|y)|(0|k)>(0|y)))){if(N=b[p+m|0],k=(p=u+2|0)>>>0<2?n+1|0:n,A[t+16>>2]=p,A[t+20>>2]=k,(0|l)>=0){if(v=A[r+216>>2],l>>>0>=(A[r+220>>2]-v|0)/144>>>0)break r;if(v=v+d(l,144)|0,A[v>>2]>=0)break r;A[v>>2]=e}else{if(A[r+212>>2]>=0)break r;A[r+212>>2]=e}e:{i:{f:{a:{t:{A:{if((65535&((v=o[a+36>>1])<<8|v>>>8))>>>0>=258){if(s>>>0<=p>>>0&(0|k)>=(0|y)|(0|k)>(0|y))break r;if(s=b[p+m|0],n=(k=u+3|0)>>>0<3?n+1|0:n,A[t+16>>2]=k,A[t+20>>2]=n,s>>>0>1)break r;if(!N)break A;if(s)break r;if((0|l)>=0)break a;break r}if(N)break t;s=0}if((0|l)<0?k=r+184|0:(t=A[r+216>>2]+d(l,144)|0,f[t+100|0]=0,k=t+104|0),1!=(0|s))break f;if(F=t=F-112|0,s=A[A[r+4>>2]+44>>2],n=ni(120),A[n+12>>2]=0,A[n+16>>2]=0,A[n>>2]=8876,A[n+4>>2]=0,A[n+20>>2]=0,A[n+24>>2]=0,A[n+28>>2]=0,A[n+32>>2]=0,A[n+36>>2]=0,A[n+40>>2]=0,A[n+44>>2]=0,A[n+48>>2]=0,A[n+52>>2]=0,A[n+56>>2]=0,A[n+60>>2]=0,A[n+8>>2]=9088,A[n+64>>2]=0,A[n+68>>2]=0,A[n+72>>2]=0,A[n+76>>2]=0,A[n+80>>2]=0,A[n+84>>2]=0,A[n+88>>2]=0,A[n+116>>2]=0,A[n+112>>2]=k,A[n+108>>2]=s,A[n+104>>2]=0,A[n+96>>2]=0,A[n+100>>2]=0,u=A[r+8>>2],A[t+48>>2]=0,A[t+52>>2]=0,A[t+40>>2]=0,A[t+44>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0,A[t+16>>2]=0,A[t+20>>2]=0,A[t+56>>2]=0,A[t+60>>2]=0,A[t+8>>2]=9088,A[t+64>>2]=0,A[t+68>>2]=0,A[t+72>>2]=0,A[t+76>>2]=0,A[t+80>>2]=0,A[t+84>>2]=0,A[t+88>>2]=0,A[t+104>>2]=0,A[t+96>>2]=0,A[t+100>>2]=0,A[t+12>>2]=u,p=A[u>>2],l=A[u+4>>2],f[t+111|0]=0,te(t+32|0,y=(l-p>>2>>>0)/3|0,p=t+111|0),l=A[t+12>>2],y=A[l+24>>2],l=A[l+28>>2],f[t+111|0]=0,te(t+44|0,l-y>>2,p),A[t+28>>2]=n,A[t+24>>2]=s,A[t+20>>2]=k,A[t+16>>2]=u,u=t+8|0,A[(k=n+8|0)+20>>2]=A[u+20>>2],s=A[u+16>>2],A[k+12>>2]=A[u+12>>2],A[k+16>>2]=s,s=A[u+8>>2],A[k+4>>2]=A[u+4>>2],A[k+8>>2]=s,se(k+24|0,u+24|0),se(k+36|0,u+36|0),(0|k)!=(0|u)){Er(k+48|0,s=A[u+48>>2],p=A[u+52>>2],p-s>>2),Er(k+60|0,s=A[u+60>>2],p=A[u+64>>2],p-s>>2),Er(k+72|0,s=A[u+72>>2],p=A[u+76>>2],p-s>>2),A[k+84>>2]=A[u+84>>2];A:if((p=(y=A[u+92>>2])-(u=A[u+88>>2])>>2)>>>0<=(l=A[k+96>>2])-(s=A[k+88>>2])>>2>>>0){if(p>>>0>(l=A[k+92>>2]-s|0)>>2>>>0){l&&_(s,u,l),s=A[k+92>>2],(u=y-(p=u+l|0)|0)&&_(s,p,u),A[k+92>>2]=u+s;break A}(p=y-u|0)&&_(s,u,p),A[k+92>>2]=s+p}else s&&(A[k+92>>2]=s,fr(s),A[k+96>>2]=0,A[k+88>>2]=0,A[k+92>>2]=0,l=0),p>>>0>=1073741824||(s=l>>1,(s=l>>>0>=2147483644?1073741823:s>>>0>p>>>0?s:p)>>>0>=1073741824)?(uf(),c()):(s=ni(p=s<<2),A[k+92>>2]=s,A[k+88>>2]=s,A[k+96>>2]=s+p,(p=y-u|0)&&_(s,u,p),A[k+92>>2]=s+p)}else A[k+84>>2]=A[u+84>>2];A[t+8>>2]=9088,(k=A[t+96>>2])&&(A[t+100>>2]=k,fr(k)),(k=A[t+80>>2])&&(A[t+84>>2]=k,fr(k)),(k=A[t+68>>2])&&(A[t+72>>2]=k,fr(k)),(k=A[t+56>>2])&&(A[t+60>>2]=k,fr(k)),A[t+8>>2]=9328,(k=A[t+44>>2])&&fr(k),(k=A[t+32>>2])&&fr(k),F=t+112|0,t=n;break i}if((0|l)<0)break r}k=A[r+216>>2],n=A[a+44>>2],t=ni(80),A[t+12>>2]=0,A[t+16>>2]=0,A[t>>2]=9640,A[t+4>>2]=0,A[t+20>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+40>>2]=0,A[t+44>>2]=0,A[t+48>>2]=0,A[t+52>>2]=0,A[t+76>>2]=0,A[t+68>>2]=n,A[t+64>>2]=0,A[t+56>>2]=0,A[t+60>>2]=0,A[t+8>>2]=8580,u=(k=k+d(l,144)|0)+104|0,A[t+72>>2]=u,A[i+24>>2]=u,u=k+4|0,A[i+20>>2]=u,A[i+32>>2]=t,A[i+28>>2]=n,A[(n=i)+72>>2]=0,A[n+76>>2]=0,A[n+64>>2]=0,A[n+68>>2]=0,A[n+56>>2]=0,A[n+60>>2]=0,A[n+48>>2]=0,A[n+52>>2]=0,A[n+40>>2]=0,A[n+44>>2]=0,A[n+88>>2]=0,A[n+92>>2]=0,A[n+80>>2]=0,A[n+84>>2]=0,A[n+36>>2]=8580,k=A[n+24>>2],A[n>>2]=A[n+20>>2],A[n+4>>2]=k,k=A[n+32>>2],A[n+8>>2]=A[n+28>>2],A[n+12>>2]=k,ye(k=n+36|0,u,n),A[t+28>>2]=A[k+20>>2],n=A[k+16>>2],A[t+20>>2]=A[k+12>>2],A[t+24>>2]=n,n=A[k+8>>2],A[t+12>>2]=A[k+4>>2],A[t+16>>2]=n,se(t+32|0,k+24|0),se(t+44|0,k+36|0),(0|k)!=(t+8|0)&&Er(t+56|0,n=A[k+48>>2],u=A[k+52>>2],u-n>>2),Ai(k);break e}F=t=F+-64|0,s=A[A[r+4>>2]+44>>2],n=ni(80),A[n+12>>2]=0,A[n+16>>2]=0,A[n>>2]=9348,A[n+4>>2]=0,A[n+20>>2]=0,A[n+24>>2]=0,A[n+28>>2]=0,A[n+32>>2]=0,A[n+36>>2]=0,A[n+40>>2]=0,A[n+44>>2]=0,A[n+48>>2]=0,A[n+52>>2]=0,A[n+76>>2]=0,A[n+72>>2]=k,A[n+68>>2]=s,A[n+64>>2]=0,A[n+56>>2]=0,A[n+60>>2]=0,A[n+8>>2]=9512,u=A[r+8>>2],A[t+40>>2]=0,A[t+44>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0,A[t+16>>2]=0,A[t+20>>2]=0,A[t+8>>2]=0,A[t+12>>2]=0,A[t+56>>2]=0,A[t+48>>2]=0,A[t+52>>2]=0,A[t>>2]=9512,A[t+4>>2]=u,p=A[u>>2],l=A[u+4>>2],f[t+63|0]=0,te(t+24|0,y=(l-p>>2>>>0)/3|0,p=t+63|0),l=A[t+4>>2],y=A[l+24>>2],l=A[l+28>>2],f[t+63|0]=0,te(t+36|0,l-y>>2,p),A[t+16>>2]=s,A[t+12>>2]=k,A[t+8>>2]=u,A[t+20>>2]=n,k=A[t+16>>2],A[n+20>>2]=A[t+12>>2],A[n+24>>2]=k,k=A[t+8>>2],A[n+12>>2]=A[t+4>>2],A[n+16>>2]=k,A[n+28>>2]=n;f:{a:{if(k=A[t+28>>2]){if((0|k)<0)break a;u=ni((p=1+((s=k-1|0)>>>5|0)|0)<<2),A[n+40>>2]=p,A[n+36>>2]=0,A[n+32>>2]=u,(s=4+(s>>>3&536870908)|0)&&_(u,A[t+24>>2],s)}if(A[n+36>>2]=k,k=A[t+40>>2]){if((0|k)<0)break a;u=ni((p=1+((s=k-1|0)>>>5|0)|0)<<2),A[n+52>>2]=p,A[n+48>>2]=0,A[n+44>>2]=u,(s=4+(s>>>3&536870908)|0)&&_(u,A[t+36>>2],s)}A[n+48>>2]=k,Er(n+56|0,k=A[t+48>>2],u=A[t+52>>2],u-k>>2),A[t>>2]=9512,(k=A[t+48>>2])&&(A[t+52>>2]=k,fr(k)),A[t>>2]=9328,(k=A[t+36>>2])&&fr(k),(k=A[t+24>>2])&&fr(k),F=t- -64|0,t=n;break f}uf(),c()}}if(!t)break r}t=Me(ni(64),t),n=A[r+4>>2],r=t;e:{i:{if((0|e)>=0){if(t=A[n+8>>2],A[n+12>>2]-t>>2<=(0|e)&&(Mr(n+8|0,e+1|0),t=A[n+8>>2]),t=A[(n=(e<<2)+t|0)>>2],A[n>>2]=r,t)break i;break e}if(!r)break e}Uf[A[A[t>>2]+4>>2]](t)}h=(-1^e)>>>31|0}return F=i+96|0,0|h}function M(r,e,i,a){var c,_=0,s=0,p=0,d=0,m=0,N=0,h=0,W=v(0),U=0;F=c=F-16|0;r:if(a){e:switch(A[r+28>>2]-1|0){case 0:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],m=A[r+48>>2],d>>>0<=(e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+_|0)>>>0)break r;for(;;){if((0|(_=f[0|e]))<0)break r;if(t[(p<<1)+a>>1]=_,(p=p+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(e=e+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 1:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(t[(e<<1)+a>>1]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 2:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((0|(_=t[e>>1]))<0)break r;if(t[(p<<1)+a>>1]=_,e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 3:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(t[(p<<1)+a>>1]=o[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 4:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((_=A[e>>2])>>>0>65535)break r;if(t[(p<<1)+a>>1]=_,e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 5:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((_=A[e>>2])>>>0>65535)break r;if(t[(p<<1)+a>>1]=_,e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 6:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(!(m=A[e+4>>2])&(_=A[e>>2])>>>0>65535|m)break r;if(t[(p<<1)+a>>1]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 7:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(!(m=A[e+4>>2])&(_=A[e>>2])>>>0>65535|m)break r;if(t[(p<<1)+a>>1]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 8:A[c+12>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+12>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(!(!(d=2147483647&(e=A[i>>2]))|e-1>>>0<8388607|d-8388608>>>0<2130706432&(0|e)>=0)|(W=l[i>>2])>v(1))break i;if(t[(p<<1)+a>>1]=~~R(65535*+W+.5)>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(!(!(d=2147483647&(e=A[i>>2]))|e-1>>>0<8388607|d-8388608>>>0<2130706432&(0|e)>=0)|(W=l[i>>2])>=v(65535))break i;if(t[(p<<1)+a>>1]=~~W>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<1)&&u((e<<1)+a|0,0,r)}break r;case 9:A[c+8>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+8>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(k(+(h=y[i>>3])),e=0|n(1),m=(d=0|n(0))-1|0,!(!((U=2147483647&e)|d)|1048575==(0|(d=e-!d|0))&-1!=(0|m)|d>>>0<1048575|((0|e)>0|(0|e)>=0)&U+-1048576>>>0<2145386496)|h>1)break i;if(t[(p<<1)+a>>1]=~~R(65535*h+.5)>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(k(+(h=y[i>>3])),e=0|n(1),m=(d=0|n(0))-1|0,!(!((U=2147483647&e)|d)|1048575==(0|(d=e-!d|0))&-1!=(0|m)|d>>>0<1048575|((0|e)>0|(0|e)>=0)&U+-1048576>>>0<2145386496)|h>=65535)break i;if(t[(p<<1)+a>>1]=~~h>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<1)&&u((e<<1)+a|0,0,r)}break r;case 10:break e;default:break r}e:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(t[(e<<1)+a>>1]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break e;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}N=1,_>>>0>=s>>>0||(r=(i-_&255)<<1)&&u((_<<1)+a|0,0,r)}return F=c+16|0,N}function Q(r,e,i,a){var c,_=0,s=0,p=0,d=0,m=0,N=0,h=0,W=v(0),U=0;F=c=F-16|0;r:if(a){e:switch(A[r+28>>2]-1|0){case 0:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=f[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 1:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 2:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=t[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 3:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=o[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 4:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=A[e>>2],e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 5:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=A[e>>2],e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 6:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(_=A[e>>2],A[e+4>>2])break r;if(A[(p<<2)+a>>2]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 7:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(_=A[e>>2],A[e+4>>2])break r;if(A[(p<<2)+a>>2]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 8:A[c+12>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+12>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(!(!(d=2147483647&(e=A[i>>2]))|e-1>>>0<8388607|d-8388608>>>0<2130706432&(0|e)>=0)|(W=l[i>>2])>v(1))break i;if(A[(p<<2)+a>>2]=~~R(4294967295*+W+.5)>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(!(!(d=2147483647&(e=A[i>>2]))|e-1>>>0<8388607|d-8388608>>>0<2130706432&(0|e)>=0)|(W=l[i>>2])>=v(4294967296))break i;if(A[(p<<2)+a>>2]=~~W>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<2)&&u((e<<2)+a|0,0,r)}break r;case 9:A[c+8>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+8>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(k(+(h=y[i>>3])),e=0|n(1),m=(d=0|n(0))-1|0,!(!((U=2147483647&e)|d)|1048575==(0|(d=e-!d|0))&-1!=(0|m)|d>>>0<1048575|((0|e)>0|(0|e)>=0)&U+-1048576>>>0<2145386496)|h>1)break i;if(A[(p<<2)+a>>2]=~~R(4294967295*h+.5)>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(k(+(h=y[i>>3])),e=0|n(1),m=(d=0|n(0))-1|0,!(!((U=2147483647&e)|d)|1048575==(0|(d=e-!d|0))&-1!=(0|m)|d>>>0<1048575|((0|e)>0|(0|e)>=0)&U+-1048576>>>0<2145386496)|h>=4294967295)break i;if(A[(p<<2)+a>>2]=~~h>>>0,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<2)&&u((e<<2)+a|0,0,r)}break r;case 10:break e;default:break r}e:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break e;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}N=1,_>>>0>=s>>>0||(r=(i-_&255)<<2)&&u((_<<2)+a|0,0,r)}return F=c+16|0,N}function g(r,e,i,a){var c,_=0,s=0,p=0,d=0,m=0,N=0,h=0,W=v(0),U=0;F=c=F-16|0;r:if(a){e:switch(A[r+28>>2]-1|0){case 0:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(t[(e<<1)+a>>1]=f[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 1:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(t[(e<<1)+a>>1]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 2:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(t[(p<<1)+a>>1]=o[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 3:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((0|(_=t[e>>1]))<0)break r;if(t[(p<<1)+a>>1]=_,e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 4:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((_=A[e>>2])+32768>>>0>65535)break r;if(t[(p<<1)+a>>1]=_,e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 5:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((_=A[e>>2])>>>0>32767)break r;if(t[(p<<1)+a>>1]=_,e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 6:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,m=A[_+4>>2];;){if(e>>>0>=m>>>0)break r;if(d=A[e+4>>2],!(d=(U=(_=A[e>>2])+32768|0)>>>0<32768?d+1|0:d)&U>>>0>65535|d)break r;if(t[(p<<1)+a>>1]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 7:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(!(m=A[e+4>>2])&(_=A[e>>2])>>>0>32767|m)break r;if(t[(p<<1)+a>>1]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<1))break r;u((_<<1)+a|0,0,r);break r;case 8:A[c+12>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+12>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(e=A[i>>2],(W=l[i>>2])>=v(32767)|W<v(-32768)|e<<1>>>0>=4278190080|W>v(1))break i;if(W<v(0))break i;if(t[(p<<1)+a>>1]=~~R(32767*+W+.5),(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(e=A[i>>2],(W=l[i>>2])>=v(32767)|W<v(-32768)|e<<1>>>0>=4278190080)break i;if(t[(p<<1)+a>>1]=~~W,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<1)&&u((e<<1)+a|0,0,r)}break r;case 9:A[c+8>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+8>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if((h=y[i>>3])>=32767|h<-32768)break i;if(k(+h),-2097152==(0|(e=(e=0|n(1))<<1|(d=0|n(0))>>>31))|e>>>0>4292870144|h>1|h<0)break i;if(t[(p<<1)+a>>1]=~~R(32767*h+.5),(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if((h=y[i>>3])>=32767|h<-32768)break i;if(k(+h),-2097152==(0|(e=(e=0|n(1))<<1|(d=0|n(0))>>>31))|e>>>0>4292870144)break i;if(t[(p<<1)+a>>1]=~~h,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<1)&&u((e<<1)+a|0,0,r)}break r;case 10:break e;default:break r}e:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(t[(e<<1)+a>>1]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break e;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}N=1,_>>>0>=s>>>0||(r=(i-_&255)<<1)&&u((_<<1)+a|0,0,r)}return F=c+16|0,N}function O(r,e,i,a){var c,_=0,s=0,p=0,d=0,m=0,N=0,h=0,W=v(0);F=c=F-16|0;r:if(a){e:switch(A[r+28>>2]-1|0){case 0:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=f[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 1:i:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break i;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 2:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=t[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 3:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=o[e>>1],e=e+2|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 4:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(A[(p<<2)+a>>2]=A[e>>2],e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 5:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if((0|(_=A[e>>2]))<0)break r;if(A[(p<<2)+a>>2]=_,e=e+4|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 6:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,m=A[_+4>>2];;){if(e>>>0>=m>>>0)break r;if(d=A[e+4>>2],(_=A[e>>2])- -2147483648>>>0<2147483648?d+1|0:d)break r;if(A[(p<<2)+a>>2]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 7:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_)for(_=A[r>>2],d=A[_>>2],m=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+m|0)+d|0,d=A[_+4>>2];;){if(e>>>0>=d>>>0)break r;if(!(m=A[e+4>>2])&(_=A[e>>2])>>>0>2147483647|m)break r;if(A[(p<<2)+a>>2]=_,e=e+8|0,!((p=p+1|0)>>>0<((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0))break}if(N=1,_>>>0>=s>>>0)break r;if(!(r=(i-_&255)<<2))break r;u((_<<2)+a|0,0,r);break r;case 8:A[c+12>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+12>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if(e=A[i>>2],(W=l[i>>2])>=v(2147483648)|W<v(-2147483648)|e<<1>>>0>=4278190080|W>v(1))break i;if(W<v(0))break i;if(A[(p<<2)+a>>2]=~~R(2147483647*+W+.5),(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if(e=A[i>>2],(W=l[i>>2])>=v(2147483648)|W<v(-2147483648)|e<<1>>>0>=4278190080)break i;if(A[(p<<2)+a>>2]=~~W,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+4|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<2)&&u((e<<2)+a|0,0,r)}break r;case 9:A[c+8>>2]=A[e>>2];i:{f:if(_=255&i,(e=b[r+24|0])>>>0>_>>>0?_:e){if(e=A[r>>2],i=(i=A[e>>2])+(s=(s=A[r+48>>2])+(d=ze(A[r+40>>2],A[r+44>>2],A[c+8>>2],0))|0)|0,s=A[e+4>>2],1&f[r+32|0]){if(i>>>0>=s>>>0)break i;for(;;){if((h=y[i>>3])>=2147483647|h<-2147483648)break i;if(k(+h),-2097152==(0|(e=(e=0|n(1))<<1|(d=0|n(0))>>>31))|e>>>0>4292870144|h>1|h<0)break i;if(A[(p<<2)+a>>2]=~~R(2147483647*h+.5),(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}if(i>>>0>=s>>>0)break i;for(;;){if((h=y[i>>3])>=2147483647|h<-2147483648)break i;if(k(+h),-2097152==(0|(e=(e=0|n(1))<<1|(d=0|n(0))>>>31))|e>>>0>4292870144)break i;if(A[(p<<2)+a>>2]=~~h,(p=p+1|0)>>>0>=((e=b[r+24|0])>>>0>_>>>0?_:e)>>>0)break f;if(!(s>>>0>(i=i+8|0)>>>0))break}break i}N=1,e>>>0>=_>>>0||(r=(_-e&255)<<2)&&u((e<<2)+a|0,0,r)}break r;case 10:break e;default:break r}e:if(s=255&i,(_=b[r+24|0])>>>0>s>>>0?s:_){if(_=A[r>>2],d=A[_+4>>2],_=A[_>>2],p=A[r+48>>2],d>>>0<=(p=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+p|0)+_|0)>>>0)break r;for(e=0;;){if(A[(e<<2)+a>>2]=b[0|p],(e=e+1|0)>>>0>=((_=b[r+24|0])>>>0>s>>>0?s:_)>>>0)break e;if(!(d>>>0>(p=p+1|0)>>>0))break}break r}N=1,_>>>0>=s>>>0||(r=(i-_&255)<<2)&&u((_<<2)+a|0,0,r)}return F=c+16|0,N}function X(r,e,i,a){var c=0,_=0,s=0,p=0,d=0,N=0,U=v(0),G=0;r:if(a)e:{i:{f:switch(A[r+28>>2]-1|0){case 0:a:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c){if(c=A[r>>2],p=A[c+4>>2],c=A[c>>2],s=A[r+48>>2],p>>>0<=(s=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+c|0)>>>0)break r;for(e=0;;){if(c=(e<<3)+a|0,d=f[0|s],A[c>>2]=d,A[c+4>>2]=d>>31,(e=e+1|0)>>>0>=((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0)break a;if(!(p>>>0>(s=s+1|0)>>>0))break}break r}if(c>>>0<_>>>0)break i;break e;case 1:a:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c){if(c=A[r>>2],p=A[c+4>>2],c=A[c>>2],s=A[r+48>>2],p>>>0<=(s=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+c|0)>>>0)break r;for(e=0;;){if(A[(c=(e<<3)+a|0)>>2]=b[0|s],A[c+4>>2]=0,(e=e+1|0)>>>0>=((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0)break a;if(!(p>>>0>(s=s+1|0)>>>0))break}break r}if(c>>>0<_>>>0)break i;break e;case 2:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(c=(s<<3)+a|0,d=t[e>>1],A[c>>2]=d,A[c+4>>2]=d>>31,e=e+2|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 3:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(A[(c=(s<<3)+a|0)>>2]=o[e>>1],A[c+4>>2]=0,e=e+2|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 4:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(c=(s<<3)+a|0,d=A[e>>2],A[c>>2]=d,A[c+4>>2]=d>>31,e=e+4|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 5:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(A[(c=(s<<3)+a|0)>>2]=A[e>>2],A[c+4>>2]=0,e=e+4|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 6:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(d=A[e+4>>2],A[(c=(s<<3)+a|0)>>2]=A[e>>2],A[c+4>>2]=d,e=e+8|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 7:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c)for(c=A[r>>2],p=A[c>>2],d=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+p|0,p=A[c+4>>2];;){if(e>>>0>=p>>>0)break r;if(c=A[e>>2],(0|(d=A[e+4>>2]))<0)break r;if(A[(G=(s<<3)+a|0)>>2]=c,A[G+4>>2]=d,e=e+8|0,!((s=s+1|0)>>>0<((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0))break}if(c>>>0<_>>>0)break i;break e;case 8:a:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c){if(1&f[r+32|0])break r;if(c=A[r>>2],p=A[c+4>>2],c=A[c>>2],d=A[r+48>>2],p>>>0<=(e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+c|0)>>>0)break r;for(;;){if(c=A[e>>2],(U=l[e>>2])>=v(0x8000000000000000)|U<v(-0x8000000000000000)|c<<1>>>0>4278190079)break r;if(A[(c=(s<<3)+a|0)>>2]=~~U>>>0,d=v(m(U))>=v(1)?~~(U>v(0)?v(h(v(R(v(U*v(2.3283064365386963e-10)))),v(4294967296))):v(W(v(v(U-v(~~U>>>0>>>0))*v(2.3283064365386963e-10)))))>>>0:0,A[c+4>>2]=d,(s=s+1|0)>>>0>=((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0)break a;if(!(p>>>0>(e=e+4|0)>>>0))break}break r}if(c>>>0<_>>>0)break i;break e;case 9:a:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c){if(1&f[r+32|0])break r;if(c=A[r>>2],p=A[c+4>>2],c=A[c>>2],d=A[r+48>>2],p>>>0<=(e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+d|0)+c|0)>>>0)break r;for(;;){if((N=y[e>>3])>=0x8000000000000000|N<-0x8000000000000000)break r;if(k(+N),((c=0|n(1))<<1|(d=0|n(0))>>>31)>>>0>4292870143)break r;if(A[(c=(s<<3)+a|0)>>2]=~~N>>>0,d=m(N)>=1?~~(N>0?h(R(2.3283064365386963e-10*N),4294967295):W(2.3283064365386963e-10*(N-+(~~N>>>0>>>0))))>>>0:0,A[c+4>>2]=d,(s=s+1|0)>>>0>=((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0)break a;if(!(p>>>0>(e=e+8|0)>>>0))break}break r}if(c>>>0<_>>>0)break i;break e;case 10:break f;default:break r}f:if(_=255&i,(c=b[r+24|0])>>>0>_>>>0?_:c){if(c=A[r>>2],p=A[c+4>>2],c=A[c>>2],s=A[r+48>>2],p>>>0<=(s=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+c|0)>>>0)break r;for(e=0;;){if(A[(c=(e<<3)+a|0)>>2]=b[0|s],A[c+4>>2]=0,(e=e+1|0)>>>0>=((c=b[r+24|0])>>>0>_>>>0?_:c)>>>0)break f;if(!(p>>>0>(s=s+1|0)>>>0))break}break r}if(c>>>0>=_>>>0)break e}(r=(i-c&255)<<3)&&u((c<<3)+a|0,0,r)}}function C(r){var e,i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0;F=e=F-16|0,A[e+12>>2]=r;r:if(r>>>0<=211)r=A[xe(10256,10448,e+12|0)>>2];else{for(r>>>0>=4294967292&&(Rf(),c()),i=r,r=d(t=(r>>>0)/210|0,210),A[e+8>>2]=i-r,i=xe(10448,10640,e+8|0),r=r+A[i>>2]|0,b=i-10448>>2;;){a=5,i=o;e:{i:{for(;;){if(o=i,47==(0|a)){for(a=211;;){if((i=(r>>>0)/(a>>>0)|0)>>>0<a>>>0)break r;if((0|d(i,a))==(0|r))break i;if((i=a+10|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+12|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+16|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+18|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+22|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+28|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+30|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+36|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+40|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+42|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+46|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+52|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+58|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+60|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+66|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+70|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+72|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+78|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+82|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+88|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+96|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+100|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+102|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+106|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+108|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+112|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+120|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+126|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+130|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+136|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+138|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+142|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+148|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+150|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+156|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+162|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+166|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+168|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+172|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+178|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+180|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+186|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+190|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+192|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+196|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+198|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if((0|d(i,f))==(0|r))break i;if((i=a+208|0)>>>0>(f=(r>>>0)/(i>>>0)|0)>>>0)break r;if(a=a+210|0,(0|d(i,f))==(0|r))break}break i}if(n=(i=A[10256+(a<<2)>>2])>>>0<=(f=(r>>>0)/(i>>>0)|0)>>>0,k=d(i,f),(f=i>>>0>f>>>0)||(i=n?o:r,a=a+1|0,(0|r)==(0|k)))break}if(f|(0|r)!=(0|k))break e}t=(r=48==(0|(i=b+1|0)))+t|0,r=A[10448+((b=r?0:i)<<2)>>2]+d(t,210)|0;continue}break}r=n?o:r}return F=e+16|0,r}function z(r,e){var i,f=0,a=0,t=0,b=0,o=0,n=0,k=0,c=0,u=0,_=0;F=i=F-48|0;r:if(-1!=(0|(a=A[e>>2]))){if(f=1,t=(a>>>0)/3|0,!(A[A[r+24>>2]+(t>>>3&268435452)>>2]>>>t&1))if(f=A[r+48>>2],A[r+52>>2]=f,A[i+28>>2]=f,t=A[r+56>>2],c=r+48|0,A[i+40>>2]=c,A[i+36>>2]=e,A[i+32>>2]=i+28,f>>>0<t>>>0?(A[f>>2]=a,f=f+4|0):($r(i+32|0),f=A[i+28>>2]),A[r+52>>2]=f,t=-1,f=A[r+4>>2],-1!=(0|(o=A[e>>2]))?(a=A[f+28>>2],b=A[a+((((f=o+1|0)>>>0)%3|0?f:o-2)<<2)>>2],t=(o>>>0)%3|0?o-1|0:o+2|0):(a=A[f+28>>2],b=A[a+4294967292>>2]),-1!=(0|b))if(-1!=(0|(t=A[(t<<2)+a>>2])))if(f=A[r+36>>2],(n=A[(a=f+(b>>>3&536870908)|0)>>2])&(k=1<<b)||(A[a>>2]=n|k,a=-1,-1!=(0|o)&&(a=((f=o+1|0)>>>0)%3|0?f:o-2|0),A[i+20>>2]=a,f=A[r+20>>2],o=(a>>>0)/3|0,o=A[(A[A[r+16>>2]+96>>2]+d(o,12)|0)+(a-d(o,3)<<2)>>2],A[i+24>>2]=o,f=A[f+4>>2],a=A[f+4>>2],A[i+28>>2]=a,n=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,a>>>0<n>>>0?(A[a>>2]=o,a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+4>>2],A[i+28>>2]=a,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+20,A[i+32>>2]=i+28,a>>>0<o>>>0?(A[a>>2]=A[i+20>>2],a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(b<<2)>>2]=a,A[f+24>>2]=a+1,f=A[r+36>>2]),(a=A[(f=(t>>>3&536870908)+f|0)>>2])&(b=1<<t)||(A[f>>2]=a|b,f=-1,-1!=(0|(a=A[e>>2]))&&(f=a-1|0,(a>>>0)%3|0||(f=a+2|0)),A[i+16>>2]=f,a=A[r+20>>2],b=(f>>>0)/3|0,b=A[(A[A[r+16>>2]+96>>2]+d(b,12)|0)+(f-d(b,3)<<2)>>2],A[i+24>>2]=b,f=A[a+4>>2],a=A[f+4>>2],A[i+28>>2]=a,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,a>>>0<o>>>0?(A[a>>2]=b,a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+4>>2],A[i+28>>2]=a,b=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+16,A[i+32>>2]=i+28,a>>>0<b>>>0?(A[a>>2]=A[i+16>>2],a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(t<<2)>>2]=a,A[f+24>>2]=a+1),(0|(b=A[r+52>>2]))!=(0|(t=A[r+48>>2])))for(;;){f=A[(b=b-4|0)>>2],A[e>>2]=f;e:{i:{if(-1!=(0|f)&&(a=(f=(f>>>0)/3|0)>>>3&268435452,o=A[r+24>>2],!(A[a+o>>2]>>>f&1))){if(A[(a=a+o|0)>>2]=A[a>>2]|1<<f,t=A[r+4>>2],f=A[e>>2],-1!=(0|(b=A[A[t+28>>2]+(f<<2)>>2])))break i;f=0;break r}A[r+52>>2]=b;break e}for(;;){if(o=A[r+36>>2]+(b>>>3&536870908)|0,(n=A[o>>2])&(k=1<<b)||(-1!=(0|(b=A[(u=b<<2)+A[t+40>>2]>>2]))?(a=1,-1==(0|(b=((_=b+1|0)>>>0)%3|0?_:b-2|0))|A[A[t>>2]+(b>>>3&536870908)>>2]>>>b&1||-1!=(0|(t=A[A[A[t+64>>2]+12>>2]+(b<<2)>>2]))&&(a=-1==(0|(((a=t+1|0)>>>0)%3|0?a:t-2)))):a=1,A[o>>2]=n|k,A[i+12>>2]=f,t=A[r+20>>2],b=(f>>>0)/3|0,b=A[(A[A[r+16>>2]+96>>2]+d(b,12)|0)+(f-d(b,3)<<2)>>2],A[i+24>>2]=b,f=A[t+4>>2],t=A[f+4>>2],A[i+28>>2]=t,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,t>>>0<o>>>0?(A[t>>2]=b,t=t+4|0):($r(i+32|0),t=A[i+28>>2]),A[f+4>>2]=t,f=A[r+12>>2],t=A[f+4>>2],A[i+28>>2]=t,b=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+12,A[i+32>>2]=i+28,b>>>0>t>>>0?(A[t>>2]=A[i+12>>2],t=t+4|0):($r(i+32|0),t=A[i+28>>2]),A[f+4>>2]=t,f=A[r+12>>2],t=A[f+24>>2],A[A[f+12>>2]+u>>2]=t,A[f+24>>2]=t+1,f=A[e>>2],t=A[r+4>>2],a)){i:{f:{a:{if(-1!=(0|f)){b=-1,-1==(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))|A[A[t>>2]+(a>>>3&536870908)>>2]>>>a&1||(b=A[A[A[t+64>>2]+12>>2]+(a<<2)>>2]),A[i+24>>2]=b;t:{if((f>>>0)%3|0)f=f-1|0;else if(a=-1,-1==(0|(f=f+2|0)))break t;a=-1,A[A[t>>2]+(f>>>3&536870908)>>2]>>>f&1||(a=A[A[A[t+64>>2]+12>>2]+(f<<2)>>2])}if(f=(a>>>0)/3|0,t=(b>>>0)/3|0,-1!=(0|b)&&(o=A[r+24>>2],!(A[o+(t>>>3&268435452)>>2]>>>t&1)))break a;if(-1!=(0|a)&&(b=a,!(A[A[r+24>>2]+(f>>>3&268435452)>>2]>>>f&1)))break i}A[r+52>>2]=A[r+52>>2]-4;break f}if(-1==(0|a)){f=t;break i}if(o=A[o+(f>>>3&268435452)>>2]>>>f|0,f=t,1&o)break i;f=A[r+52>>2],A[f-4>>2]=a,A[i+28>>2]=f,a=A[r+56>>2],A[i+40>>2]=c,A[i+36>>2]=i+24,A[i+32>>2]=i+28,f>>>0<a>>>0?(A[f>>2]=A[i+24>>2],A[r+52>>2]=f+4):($r(i+32|0),A[r+52>>2]=A[i+28>>2])}b=A[r+52>>2],t=A[r+48>>2];break e}A[e>>2]=b}else b=-1,-1!=(0|f)&&(-1==(0|(f=((a=f+1|0)>>>0)%3|0?a:f-2|0))|A[A[t>>2]+(f>>>3&536870908)>>2]>>>f&1||(b=A[A[A[t+64>>2]+12>>2]+(f<<2)>>2])),A[e>>2]=b,f=(b>>>0)/3|0;if(a=A[r+24>>2]+(f>>>3&268435452)|0,A[a>>2]=A[a>>2]|1<<f,t=A[r+4>>2],f=A[e>>2],-1==(0|(b=A[A[t+28>>2]+(f<<2)>>2])))break}f=0;break r}if(f=1,(0|b)==(0|t))break}else f=1;else f=0;else f=0}else f=1;return F=i+48|0,f}function H(r,e){var i,f=0,a=0,t=0,b=0,o=0,n=0,k=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=i=F-48|0,f=A[r+8>>2],t=A[f>>2],f=A[f+4>>2],o=A[A[r+4>>2]+44>>2],A[i+40>>2]=0,A[i+32>>2]=0,A[i+36>>2]=0;r:{e:{i:{if((f=(f-t>>2>>>0)/3|0)>>>0>(a=(0|(b=(n=A[o+100>>2])-(t=A[o+96>>2])|0))/12|0)>>>0){if((_=(A[o+104>>2]-t|0)/12|0)>>>0>=f>>>0){for(f=d(f-a|0,12)+n|0;A[n>>2]=A[i+32>>2],A[n+4>>2]=A[i+36>>2],A[n+8>>2]=A[i+40>>2],(0|f)!=(0|(n=n+12|0)););A[o+100>>2]=f;break r}if(f>>>0>=357913942)break i;if(y=_<<1,(_=_>>>0>=178956970?357913941:f>>>0<y>>>0?y:f)>>>0>=357913942)break e;for(y=(f=d(f-a|0,12))+(a=(v=ni(d(_,12)))+b|0)|0,p=A[i+40>>2],m=A[i+36>>2],N=A[i+32>>2],f=a;A[f+8>>2]=p,A[f+4>>2]=m,A[f>>2]=N,(0|y)!=(0|(f=f+12|0)););if(a=a+d((0|b)/-12|0,12)|0,(0|t)!=(0|n))for(f=t,b=a;A[b>>2]=A[f>>2],A[b+4>>2]=A[f+4>>2],A[b+8>>2]=A[f+8>>2],b=b+12|0,(0|n)!=(0|(f=f+12|0)););if(A[o+104>>2]=v+d(_,12),A[o+100>>2]=y,A[o+96>>2]=a,!t)break r;fr(t);break r}if(f>>>0>=a>>>0)break r;A[o+100>>2]=t+d(f,12);break r}uf(),c()}ji(),c()}if(A[r+216>>2]!=A[r+220>>2]){A[i+24>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0;r:{e:{i:{if(e=A[r+8>>2],(0|(f=A[e+4>>2]))!=(0|(t=A[e>>2]))){if((0|(f=f-t|0))<0)break i;s=ni(f),f&&u(s,0,f)}if(f=A[e+24>>2],(A[e+28>>2]-f|0)<4)break e;for(;;){f:if(-1!=(0|(t=A[(l<<2)+f>>2]))){a:if(!(A[A[r+120>>2]+(l>>>3&536870908)>>2]>>>l&1)&&(0|(f=A[r+220>>2]))!=(0|(n=A[r+216>>2])))for(_=(f=(f-n|0)/144|0)>>>0<=1?1:f,b=0,y=!!(0|(f=(t>>>0)%3|0))|-1!=(0|(a=t+2|0)),v=(f?t-1:a)<<2;;){if(p=t<<2,o=n+d(b,144)|0,f=A[p+A[A[o+68>>2]>>2]>>2],A[A[o+16>>2]+(f>>>3&536870908)>>2]>>>f&1&&(f=-1,y&&(f=-1,-1!=(0|(a=A[v+A[e+12>>2]>>2]))&&(f=a-1|0,(a>>>0)%3|0||(f=a+2|0))),(0|t)!=(0|f)))for(a=p,p=A[o+32>>2],m=A[a+p>>2];;){if(a=0,-1==(0|f))break r;if((0|m)!=A[p+(f<<2)>>2]){t=f;break a}t:{if((f>>>0)%3|0)a=f-1|0;else if(o=-1,-1==(0|(a=f+2|0)))break t;o=-1,-1!=(0|(f=A[A[e+12>>2]+(a<<2)>>2]))&&(o=f-1|0,(f>>>0)%3|0||(o=f+2|0))}if((0|t)==(0|(f=o)))break}if((0|_)==(0|(b=b+1|0)))break}if(A[(t<<2)+s>>2]=k-A[i+16>>2]>>2,A[i+12>>2]=t,A[i+28>>2]=k,e=A[i+24>>2],A[i+40>>2]=i+16,A[i+36>>2]=i+12,A[i+32>>2]=i+28,e>>>0>k>>>0?(A[k>>2]=t,k=k+4|0):(oe(i+32|0),k=A[i+28>>2]),A[i+20>>2]=k,e=A[r+8>>2],(t>>>0)%3|0)f=t-1|0;else if(-1==(0|(f=t+2|0)))break f;if(-1!=(0|(f=A[A[e+12>>2]+(f<<2)>>2]))&&-1!=(0|(f=f+((f>>>0)%3|0?-1:2)|0))&&(0|f)!=(0|(a=t)))for(;;){b=f;a:{t:if((0|(f=A[r+220>>2]))!=(0|(o=A[r+216>>2]))){for(n=(f=(f-o|0)/144|0)>>>0<=1?1:f,f=0;;){if(_=A[32+(o+d(f,144)|0)>>2],A[_+(y=b<<2)>>2]==A[_+(a<<2)>>2]){if((0|n)!=(0|(f=f+1|0)))continue;break t}break}A[s+y>>2]=k-A[i+16>>2]>>2,A[i+12>>2]=b,A[i+28>>2]=k,e=A[i+24>>2],A[i+40>>2]=i+16,A[i+36>>2]=i+12,A[i+32>>2]=i+28,e>>>0>k>>>0?(A[k>>2]=b,k=k+4|0):(oe(i+32|0),k=A[i+28>>2]),A[i+20>>2]=k,e=A[r+8>>2];break a}A[(b<<2)+s>>2]=A[(a<<2)+s>>2]}if((b>>>0)%3|0)f=b-1|0;else if(-1==(0|(f=b+2|0)))break f;if(-1==(0|(f=A[A[e+12>>2]+(f<<2)>>2])))break f;if(-1==(0|(f=f+((f>>>0)%3|0?-1:2)|0)))break f;if(a=b,(0|f)==(0|t))break}}if(l=l+1|0,f=A[e+24>>2],!((0|l)<A[e+28>>2]-f>>2))break}break e}uf(),c()}b=A[r+4>>2],r=A[b+44>>2];e:if((0|(e=A[r+100>>2]))!=(0|(r=A[r+96>>2]))){if(f=0,(e=(e-r|0)/12|0)>>>0>=2){for(o=1&e,n=-2&e,t=0;a=d(f,12),l=A[(e=a+s|0)>>2],_=A[e+4>>2],A[(a=r+a|0)+8>>2]=A[e+8>>2],A[a>>2]=l,A[a+4>>2]=_,a=d(1|f,12),l=A[(e=a+s|0)>>2],_=A[e+4>>2],A[(a=r+a|0)+8>>2]=A[e+8>>2],A[a>>2]=l,A[a+4>>2]=_,f=f+2|0,(0|n)!=(0|(t=t+2|0)););if(!o)break e}f=d(f,12),t=A[(e=f+s|0)>>2],a=A[e+4>>2],A[(r=r+f|0)+8>>2]=A[e+8>>2],A[r>>2]=t,A[r+4>>2]=a}A[A[b+4>>2]+80>>2]=k-A[i+16>>2]>>2,a=1}f=a,s&&fr(s),(r=A[i+16>>2])&&(A[i+20>>2]=r,fr(r))}else{if(n=A[r+4>>2],f=A[n+44>>2],(0|(t=A[f+100>>2]))!=(0|(k=A[f+96>>2])))for(l=(f=(t-k|0)/12|0)>>>0<=1?1:f,_=A[A[r+8>>2]>>2],f=0;;){b=_+((a=d(f,3))<<2)|0,o=k+d(f,12)|0;r:{if(1431655765!=(0|f))if(t=-1,b=A[b>>2],-1!=(0|(s=a+1|0))){if(t=A[A[A[r+8>>2]>>2]+(s<<2)>>2],p=-1,-1==(0|(a=a+2|0)))break r}else a=0;else t=A[b+4>>2],b=-1,a=1;p=A[A[A[r+8>>2]>>2]+(a<<2)>>2]}if(A[o+8>>2]=p,A[o+4>>2]=t,A[o>>2]=b,(0|l)==(0|(f=f+1|0)))break}A[A[n+4>>2]+80>>2]=e,f=1}return F=i+48|0,f}function P(r,e){var i,f=0,a=0,t=0,b=0,o=0,n=0,k=0,c=0,u=0,_=0;F=i=F-48|0;r:if(-1!=(0|(a=A[e>>2]))){if(f=1,t=(a>>>0)/3|0,!(A[A[r+24>>2]+(t>>>3&268435452)>>2]>>>t&1))if(f=A[r+48>>2],A[r+52>>2]=f,A[i+28>>2]=f,t=A[r+56>>2],c=r+48|0,A[i+40>>2]=c,A[i+36>>2]=e,A[i+32>>2]=i+28,f>>>0<t>>>0?(A[f>>2]=a,f=f+4|0):($r(i+32|0),f=A[i+28>>2]),A[r+52>>2]=f,b=-1,-1!=(0|(f=A[e>>2]))){if(t=A[r+4>>2],-1!=(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))&&(b=A[A[t>>2]+(a<<2)>>2]),(f>>>0)%3|0)f=f-1|0;else if(-1==(0|(f=f+2|0))){f=0;break r}if(-1!=(0|b))if(-1!=(0|(t=A[A[t>>2]+(f<<2)>>2])))if(f=A[r+36>>2],(n=A[(o=f+(b>>>3&536870908)|0)>>2])&(k=1<<b)||(A[o>>2]=n|k,A[i+20>>2]=a,f=A[r+20>>2],o=(a>>>0)/3|0,o=A[(A[A[r+16>>2]+96>>2]+d(o,12)|0)+(a-d(o,3)<<2)>>2],A[i+24>>2]=o,f=A[f+4>>2],a=A[f+4>>2],A[i+28>>2]=a,n=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,a>>>0<n>>>0?(A[a>>2]=o,a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+4>>2],A[i+28>>2]=a,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+20,A[i+32>>2]=i+28,a>>>0<o>>>0?(A[a>>2]=A[i+20>>2],a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(b<<2)>>2]=a,A[f+24>>2]=a+1,f=A[r+36>>2]),(a=A[(f=(t>>>3&536870908)+f|0)>>2])&(b=1<<t)||(A[f>>2]=a|b,f=-1,-1!=(0|(a=A[e>>2]))&&(f=a-1|0,(a>>>0)%3|0||(f=a+2|0)),A[i+16>>2]=f,a=A[r+20>>2],b=(f>>>0)/3|0,b=A[(A[A[r+16>>2]+96>>2]+d(b,12)|0)+(f-d(b,3)<<2)>>2],A[i+24>>2]=b,f=A[a+4>>2],a=A[f+4>>2],A[i+28>>2]=a,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,a>>>0<o>>>0?(A[a>>2]=b,a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+4>>2],A[i+28>>2]=a,b=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+16,A[i+32>>2]=i+28,a>>>0<b>>>0?(A[a>>2]=A[i+16>>2],a=a+4|0):($r(i+32|0),a=A[i+28>>2]),A[f+4>>2]=a,f=A[r+12>>2],a=A[f+24>>2],A[A[f+12>>2]+(t<<2)>>2]=a,A[f+24>>2]=a+1),(0|(b=A[r+52>>2]))!=(0|(a=A[r+48>>2])))for(;;){f=A[(b=b-4|0)>>2],A[e>>2]=f;e:{i:{if(-1!=(0|f)&&(t=(f=(f>>>0)/3|0)>>>3&268435452,o=A[r+24>>2],!(A[t+o>>2]>>>f&1))){if(A[(a=t+o|0)>>2]=A[a>>2]|1<<f,-1!=(0|(f=A[e>>2])))break i;f=0;break r}A[r+52>>2]=b;break e}for(;;){if(t=A[r+4>>2],-1==(0|(a=A[A[t>>2]+(f<<2)>>2]))){f=0;break r}i:{f:{a:{t:{o=A[r+36>>2]+(a>>>3&536870908)|0;A:{if(!((n=A[o>>2])&(k=1<<a))){if(-1!=(0|(b=A[(u=a<<2)+A[t+24>>2]>>2]))?(a=1,-1!=(0|(b=((_=b+1|0)>>>0)%3|0?_:b-2|0))&&-1!=(0|(t=A[A[t+12>>2]+(b<<2)>>2]))&&(a=-1==(0|(((a=t+1|0)>>>0)%3|0?a:t-2)))):a=1,A[o>>2]=n|k,A[i+12>>2]=f,t=A[r+20>>2],b=(f>>>0)/3|0,b=A[(A[A[r+16>>2]+96>>2]+d(b,12)|0)+(f-d(b,3)<<2)>>2],A[i+24>>2]=b,f=A[t+4>>2],t=A[f+4>>2],A[i+28>>2]=t,o=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+24,A[i+32>>2]=i+28,t>>>0<o>>>0?(A[t>>2]=b,t=t+4|0):($r(i+32|0),t=A[i+28>>2]),A[f+4>>2]=t,f=A[r+12>>2],t=A[f+4>>2],A[i+28>>2]=t,b=A[f+8>>2],A[i+40>>2]=f,A[i+36>>2]=i+12,A[i+32>>2]=i+28,t>>>0<b>>>0?(A[t>>2]=A[i+12>>2],t=t+4|0):($r(i+32|0),t=A[i+28>>2]),A[f+4>>2]=t,f=A[r+12>>2],t=A[f+24>>2],A[A[f+12>>2]+u>>2]=t,A[f+24>>2]=t+1,f=A[e>>2],t=A[r+4>>2],!a){a=-1,-1!=(0|f)&&(a=-1,-1!=(0|(f=((b=f+1|0)>>>0)%3|0?b:f-2|0))&&(a=A[A[t+12>>2]+(f<<2)>>2])),A[e>>2]=a,f=(a>>>0)/3|0;break i}if(-1==(0|f))break A}b=-1,-1!=(0|(a=((a=f+1|0)>>>0)%3|0?a:f-2|0))&&(b=A[A[t+12>>2]+(a<<2)>>2]),A[i+24>>2]=b;b:{if((f>>>0)%3|0)f=f-1|0;else if(a=-1,-1==(0|(f=f+2|0)))break b;a=A[A[t+12>>2]+(f<<2)>>2]}if(f=(a>>>0)/3|0,t=(b>>>0)/3|0,-1!=(0|b)&&(o=A[r+24>>2],!(A[o+(t>>>3&268435452)>>2]>>>t&1)))break t;if(-1!=(0|a)&&(b=a,!(A[A[r+24>>2]+(f>>>3&268435452)>>2]>>>f&1)))break f}A[r+52>>2]=A[r+52>>2]-4;break a}if(-1==(0|a)){f=t;break f}if(o=A[o+(f>>>3&268435452)>>2]>>>f|0,f=t,1&o)break f;f=A[r+52>>2],A[f-4>>2]=a,A[i+28>>2]=f,a=A[r+56>>2],A[i+40>>2]=c,A[i+36>>2]=i+24,A[i+32>>2]=i+28,f>>>0<a>>>0?(A[f>>2]=A[i+24>>2],A[r+52>>2]=f+4):($r(i+32|0),A[r+52>>2]=A[i+28>>2])}b=A[r+52>>2],a=A[r+48>>2];break e}A[e>>2]=b}if(a=A[r+24>>2]+(f>>>3&268435452)|0,A[a>>2]=A[a>>2]|1<<f,-1==(0|(f=A[e>>2])))break}f=0;break r}if(f=1,(0|a)==(0|b))break}else f=1;else f=0;else f=0}else f=0}else f=1;return F=i+48|0,f}function S(r,e,i,a){var t=0,c=0,_=0,s=0,d=0,m=v(0),N=0,h=0,W=0;r:if(a){e:{i:{f:switch(A[r+28>>2]-1|0){case 0:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)return 0;if((0|(t=f[0|e]))<0)break r;if(f[a+_|0]=t,e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 1:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(f[a+_|0]=b[0|e],e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 2:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=o[e>>1])>>>0>255)break r;if(f[a+_|0]=t,e=e+2|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 3:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=o[e>>1])>>>0>255)break r;if(f[a+_|0]=t,e=e+2|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 4:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=A[e>>2])>>>0>255)break r;if(f[a+_|0]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 5:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=A[e>>2])>>>0>255)break r;if(f[a+_|0]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 6:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(!(s=A[e+4>>2])&(t=A[e>>2])>>>0>255|s)break r;if(f[a+_|0]=t,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 7:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(!(s=A[e+4>>2])&(t=A[e>>2])>>>0>255|s)break r;if(f[a+_|0]=t,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 8:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(!(!(s=2147483647&(t=A[e>>2]))|t-1>>>0<8388607|s-8388608>>>0<2130706432&(0|t)>=0)|(m=l[e>>2])>=v(255))break r;if(s=a+_|0,b[r+32|0]){if(m>v(1))break r;t=~~R(255*+m+.5)>>>0}else t=~~m>>>0;if(f[0|s]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 9:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(k(+(d=y[e>>3])),t=0|n(1),h=(s=0|n(0))-1|0,!(!((N=2147483647&t)|s)|1048575==(0|(s=t-!s|0))&-1!=(0|h)|s>>>0<1048575|((0|t)>0|(0|t)>=0)&N+-1048576>>>0<2145386496)|d>=255)break r;if(t=a+_|0,1==b[r+32|0]){if(d>1)break r;d=R(255*d+.5)}if(f[0|t]=~~d>>>0,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 10:break f;default:break r}if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(f[a+_|0]=b[0|e],e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0>=c>>>0)break e}(r=i-t&255)&&u(a+t|0,0,r)}W=1}return W}function x(r,e,i,a){var t=0,c=0,_=0,s=0,d=0,m=v(0),N=0,h=0;r:if(a){e:{i:{f:switch(A[r+28>>2]-1|0){case 0:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(f[a+_|0]=b[0|e],e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 1:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)return 0;if((0|(t=f[0|e]))<0)break r;if(f[a+_|0]=t,e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 2:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(((t=o[e>>1])+128&65535)>>>0>255)break r;if(f[a+_|0]=t,e=e+2|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 3:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=o[e>>1])>>>0>127)break r;if(f[a+_|0]=t,e=e+2|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 4:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=A[e>>2])+128>>>0>255)break r;if(f[a+_|0]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 5:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((t=A[e>>2])>>>0>127)break r;if(f[a+_|0]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 6:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(s=A[e+4>>2],!(s=(N=(t=A[e>>2])+128|0)>>>0<128?s+1|0:s)&N>>>0>255|s)break r;if(f[a+_|0]=t,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 7:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(!(s=A[e+4>>2])&(t=A[e>>2])>>>0>127|s)break r;if(f[a+_|0]=t,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 8:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(t=A[e>>2],(m=l[e>>2])>=v(127)|m<v(-128)|t<<1>>>0>=4278190080)break r;if(s=a+_|0,b[r+32|0]){if(m<v(0)|m>v(1))break r;t=~~R(127*+m+.5)}else t=~~m;if(f[0|s]=t,e=e+4|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 9:if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if((d=y[e>>3])>=127|d<-128)break r;if(k(+d),-2097152==(0|(t=(t=0|n(1))<<1|(s=0|n(0))>>>31))|t>>>0>4292870144)break r;if(t=a+_|0,1==b[r+32|0]){if(d<0|d>1)break r;d=R(127*d+.5)}if(f[0|t]=~~d,e=e+8|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0<c>>>0)break i;break e;case 10:break f;default:break r}if(c=255&i,(t=b[r+24|0])>>>0>c>>>0?c:t)for(t=A[A[r>>2]>>2],s=A[r+48>>2],e=(e=(e=ze(A[r+40>>2],A[r+44>>2],A[e>>2],0))+s|0)+t|0;;){if(p[A[r>>2]+4>>2]<=e>>>0)break r;if(f[a+_|0]=b[0|e],e=e+1|0,!((_=_+1|0)>>>0<((t=b[r+24|0])>>>0>c>>>0?c:t)>>>0))break}if(t>>>0>=c>>>0)break e}(r=i-t&255)&&u(a+t|0,0,r)}h=1}return h}function L(r,e,i){e|=0,i|=0;var a,t=0,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0;F=a=F-96|0,t=A[(r|=0)+16>>2],n=A[e>>2],f[a+88|0]=1,A[a+84>>2]=n,A[a+80>>2]=n,A[a+76>>2]=t,u=A[r+20>>2],o=A[u>>2];r:if(!((t=A[A[t+28>>2]+(n<<2)>>2])>>>0>=A[u+4>>2]-o>>2>>>0)){if(o=A[A[r+8>>2]+(A[o+(t<<2)>>2]<<2)>>2],t=A[r+4>>2],b[t+84|0]||(o=A[A[t+68>>2]+(o<<2)>>2]),A[a+64>>2]=0,A[a+68>>2]=0,A[a+56>>2]=0,A[a+60>>2]=0,A[a+48>>2]=0,A[a+52>>2]=0,A[a+24>>2]=o,X(t,a+24|0,f[t+24|0],a+48|0),-1!=(0|n))for(;;){e:if(A[r+28>>2])o=((t=n+1|0)>>>0)%3|0?t:n-2|0,t=n-1|0,(n>>>0)%3|0||(t=n+2|0);else{if(o=-1,t=-1,-1==(0|(n=A[e>>2])))break e;if(o=((t=n+1|0)>>>0)%3|0?t:n-2|0,t=n-1|0,(n>>>0)%3|0)break e;t=n+2|0}if(u=A[r+20>>2],n=A[u>>2],(o=A[A[A[r+16>>2]+28>>2]+(o<<2)>>2])>>>0>=A[u+4>>2]-n>>2>>>0)break r;if(o=A[A[r+8>>2]+(A[n+(o<<2)>>2]<<2)>>2],n=A[r+4>>2],b[n+84|0]||(o=A[A[n+68>>2]+(o<<2)>>2]),A[a+40>>2]=0,A[a+44>>2]=0,A[a+32>>2]=0,A[a+36>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,A[a>>2]=o,X(n,a,f[n+24|0],a+24|0),n=A[r+20>>2],o=A[n>>2],(t=A[A[A[r+16>>2]+28>>2]+(t<<2)>>2])>>>0>=A[n+4>>2]-o>>2>>>0)break r;o=A[A[r+8>>2]+(A[o+(t<<2)>>2]<<2)>>2],t=A[r+4>>2],b[t+84|0]||(o=A[A[t+68>>2]+(o<<2)>>2]),A[a+16>>2]=0,A[a+20>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0,A[a>>2]=0,A[a+4>>2]=0,A[a+92>>2]=o,X(t,a+92|0,f[t+24|0],a),n=(k=A[a>>2])-(t=A[a+48>>2])|0,N=A[a+52>>2],h=A[a+4>>2]-(N+(t>>>0>k>>>0)|0)|0,u=(_=A[a+32>>2])-(o=A[a+56>>2])|0,R=A[a+60>>2],W=d-(k=ze(n,h,u,U=A[a+36>>2]-(R+(o>>>0>_>>>0)|0)|0))|0,l=l-(j+(k>>>0>d>>>0)|0)|0,t=ze(k=(_=A[a+8>>2])-o|0,R=A[a+12>>2]-((o>>>0>_>>>0)+R|0)|0,o=(s=A[a+24>>2])-t|0,N=A[a+28>>2]-((t>>>0>s>>>0)+N|0)|0),l=j+l|0,l=t>>>0>(d=t+W|0)>>>0?l+1|0:l,G=p,p=h,_=(s=A[a+40>>2])-(t=A[a+64>>2])|0,h=A[a+68>>2],p=ze(n,p,_,W=A[a+44>>2]-(h+(t>>>0>s>>>0)|0)|0),y=j+y|0,y=(n=G+p|0)>>>0<p>>>0?y+1|0:y,p=n-(o=ze(s=(p=A[a+16>>2])-t|0,t=A[a+20>>2]-((t>>>0>p>>>0)+h|0)|0,o,N))|0,y=y-(j+(o>>>0>n>>>0)|0)|0,n=v-(o=ze(k,R,_,W))|0,m=m-(j+(o>>>0>v>>>0)|0)|0,o=ze(s,t,u,U),t=j+m|0,m=o>>>0>(v=o+n|0)>>>0?t+1|0:t,t=A[a+84>>2],n=A[a+76>>2];e:if(1!=b[a+88|0]){k=-1;i:if(-1!=(0|t)){if((t>>>0)%3|0)o=t-1|0;else if(k=-1,-1==(0|(o=t+2|0)))break i;k=-1,A[A[n>>2]+(o>>>3&536870908)>>2]>>>o&1||(k=-1,-1!=(0|(t=A[A[A[n+64>>2]+12>>2]+(o<<2)>>2]))&&(k=t-1|0,(t>>>0)%3|0||(k=t+2|0)))}A[a+84>>2]=k}else{i:{if(-1==(0|t)||-1==(0|(t=((o=t+1|0)>>>0)%3|0?o:t-2|0))|A[A[n>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=A[A[A[n+64>>2]+12>>2]+(t<<2)>>2])))A[a+84>>2]=-1;else if(t=((o=t+1|0)>>>0)%3|0?o:t-2|0,A[a+84>>2]=t,-1!=(0|t))break i;t=-1;f:if(-1!=(0|(o=A[a+80>>2]))){if((o>>>0)%3|0)o=o-1|0;else if(t=-1,-1==(0|(o=o+2|0)))break f;t=-1,A[A[n>>2]+(o>>>3&536870908)>>2]>>>o&1||(t=-1,-1!=(0|(o=A[A[A[n+64>>2]+12>>2]+(o<<2)>>2]))&&(t=o-1|0,(o>>>0)%3|0||(t=o+2|0)))}f[a+88|0]=0,A[a+84>>2]=t;break e}if((0|t)!=A[a+80>>2])break e;A[a+84>>2]=-1}if(-1==(0|(n=A[a+84>>2])))break}n=(t=(k=e=m>>31)^v)-k|0,t=(k^m)-((k>>>0>t>>>0)+k|0)|0,e=-1,o=2147483647,u=(s=(k=u=y>>31)^p)-k|0,_=k=(k^y)-((k>>>0>s>>>0)+k|0)|0,s=-1^u,k^=2147483647;e:{i:{if(!A[r+28>>2]){if((0|t)==(0|k)&n>>>0>s>>>0|t>>>0>k>>>0)break e;if(t=t+_|0,t=(r=n+u|0)>>>0<u>>>0?t+1|0:t,e=r,n=((o=r=l>>31)^l)-((o>>>0>(u=o^d)>>>0)+o|0)|0,o=(r=u-o|0)+e|0,(e=(r=(0|(n^=2147483647))==(0|t)&(-1^r)>>>0<e>>>0|t>>>0>n>>>0)?-1:o)>>>0>536870912&(0|(o=r=r?-1:o>>31))>=0|(0|o)>0)break i;break e}if(!((0|t)==(0|k)&n>>>0>s>>>0|t>>>0>k>>>0)&&(t=t+_|0,t=(r=n+u|0)>>>0<u>>>0?t+1|0:t,!((0|(k=2147483647^(u=((k=n=l>>31)^l)-((k>>>0>(_=n^d)>>>0)+k|0)|0)))==(0|t)&(-1^(n=_-n|0))>>>0<r>>>0|t>>>0>k>>>0)&&(o=t+u|0,!(o=(e=r+n|0)>>>0<n>>>0?o+1|0:o)&e>>>0<536870913)))break e}d=Oe(d,l,r=(536870911&(r=o))<<3|e>>>29,o=o>>>29|0),p=Oe(p,y,r,o),v=Oe(v,m,r,o)}return A[i+8>>2]=d,A[i+4>>2]=p,A[i>>2]=v,void(F=a+96|0)}Ti(),c()}function K(r,e,i){var a,n=0,k=0,u=0,s=0,l=0;F=a=F-48|0,u=o[5029]|o[5030]<<16,n=o[5027]|o[5028]<<16,t[a+38>>1]=n,t[a+40>>1]=n>>>16,t[a+42>>1]=u,t[a+44>>1]=u>>>16,n=A[2513],A[a+32>>2]=A[2512],A[a+36>>2]=n,n=A[2511],A[a+24>>2]=A[2510],A[a+28>>2]=n,n=A[2509],A[a+16>>2]=A[2508],A[a+20>>2]=n,k=A[e+8>>2],l=A[e+12>>2],s=A[e+20>>2];r:{e:if(k>>>0<(u=(n=A[e+16>>2])+5|0)>>>0&(0|(s=u>>>0<5?s+1|0:s))>=(0|l)|(0|s)>(0|l)){if((n=Ee(a+16|0))>>>0>=2147483639)break r;if(n>>>0<=10?(f[a+15|0]=n,i=a+4|0):(i=ni((e=2147483640&n)+8|0),A[a+12>>2]=e-2147483640,A[a+8>>2]=n,A[a+4>>2]=i),n&&_(i,a+16|0,n),f[i+n|0]=0,A[r>>2]=-2,e=r+4|0,f[a+15|0]>=0){A[e+8>>2]=A[a+12>>2],r=A[a+8>>2],A[e>>2]=A[a+4>>2],A[e+4>>2]=r;break e}wi(e,r=A[a+4>>2],A[a+8>>2]),fr(r)}else if(n=n+A[e>>2]|0,f[i+4|0]=b[n+4|0],n=b[0|n]|b[n+1|0]<<8|b[n+2|0]<<16|b[n+3|0]<<24,f[0|i]=n,f[i+1|0]=n>>>8,f[i+2|0]=n>>>16,f[i+3|0]=n>>>24,n=A[e+20>>2],n=(u=A[e+16>>2]+5|0)>>>0<5?n+1|0:n,A[e+16>>2]=u,A[e+20>>2]=n,1128354372^(b[0|i]|b[i+1|0]<<8|b[i+2|0]<<16|b[i+3|0]<<24)|79^b[i+4|0])n=ni(24),f[n+17|0]=0,f[n+16|0]=b[1545],i=b[1541]|b[1542]<<8|b[1543]<<16|b[1544]<<24,e=b[1537]|b[1538]<<8|b[1539]<<16|b[1540]<<24,f[n+8|0]=e,f[n+9|0]=e>>>8,f[n+10|0]=e>>>16,f[n+11|0]=e>>>24,f[n+12|0]=i,f[n+13|0]=i>>>8,f[n+14|0]=i>>>16,f[n+15|0]=i>>>24,i=b[1533]|b[1534]<<8|b[1535]<<16|b[1536]<<24,e=b[1529]|b[1530]<<8|b[1531]<<16|b[1532]<<24,f[0|n]=e,f[n+1|0]=e>>>8,f[n+2|0]=e>>>16,f[n+3|0]=e>>>24,f[n+4|0]=i,f[n+5|0]=i>>>8,f[n+6|0]=i>>>16,f[n+7|0]=i>>>24,A[r>>2]=-1,wi(r+4|0,n,17),fr(n);else if((0|(k=A[e+12>>2]))<=(0|n)&p[e+8>>2]<=u>>>0|(0|n)>(0|k)){if((n=Ee(a+16|0))>>>0>=2147483639)break r;if(n>>>0<=10?(f[a+15|0]=n,i=a+4|0):(i=ni((e=2147483640&n)+8|0),A[a+12>>2]=e-2147483640,A[a+8>>2]=n,A[a+4>>2]=i),n&&_(i,a+16|0,n),f[i+n|0]=0,A[r>>2]=-2,e=r+4|0,f[a+15|0]>=0){A[e+8>>2]=A[a+12>>2],r=A[a+8>>2],A[e>>2]=A[a+4>>2],A[e+4>>2]=r;break e}wi(e,r=A[a+4>>2],A[a+8>>2]),fr(r)}else if(f[i+5|0]=b[u+A[e>>2]|0],k=A[e+20>>2],k=(n=A[e+16>>2]+1|0)?k:k+1|0,A[e+16>>2]=n,A[e+20>>2]=k,(0|(u=A[e+12>>2]))<=(0|k)&p[e+8>>2]<=n>>>0|(0|k)>(0|u)){if((n=Ee(a+16|0))>>>0>=2147483639)break r;if(n>>>0<=10?(f[a+15|0]=n,i=a+4|0):(i=ni((e=2147483640&n)+8|0),A[a+12>>2]=e-2147483640,A[a+8>>2]=n,A[a+4>>2]=i),n&&_(i,a+16|0,n),f[i+n|0]=0,A[r>>2]=-2,e=r+4|0,f[a+15|0]>=0){A[e+8>>2]=A[a+12>>2],r=A[a+8>>2],A[e>>2]=A[a+4>>2],A[e+4>>2]=r;break e}wi(e,r=A[a+4>>2],A[a+8>>2]),fr(r)}else if(f[i+6|0]=b[n+A[e>>2]|0],s=A[e+20>>2],s=(n=A[e+16>>2]+1|0)?s:s+1|0,A[e+16>>2]=n,A[e+20>>2]=s,(0|(u=A[e+12>>2]))<=(0|s)&p[e+8>>2]<=n>>>0|(0|u)<(0|s)){if((n=Ee(a+16|0))>>>0>=2147483639)break r;if(n>>>0<=10?(f[a+15|0]=n,i=a+4|0):(i=ni((e=2147483640&n)+8|0),A[a+12>>2]=e-2147483640,A[a+8>>2]=n,A[a+4>>2]=i),n&&_(i,a+16|0,n),f[i+n|0]=0,A[r>>2]=-2,e=r+4|0,f[a+15|0]>=0){A[e+8>>2]=A[a+12>>2],r=A[a+8>>2],A[e>>2]=A[a+4>>2],A[e+4>>2]=r;break e}wi(e,r=A[a+4>>2],A[a+8>>2]),fr(r)}else if(f[i+7|0]=b[n+A[e>>2]|0],k=A[e+20>>2],k=(n=A[e+16>>2]+1|0)?k:k+1|0,A[e+16>>2]=n,A[e+20>>2]=k,(0|(u=A[e+12>>2]))<=(0|k)&p[e+8>>2]<=n>>>0|(0|k)>(0|u)){if(i=Ce(a+4|0,a+16|0),A[r>>2]=-2,e=r+4|0,f[i+11|0]>=0){A[e+8>>2]=A[i+8>>2],r=A[i+4>>2],A[e>>2]=A[i>>2],A[e+4>>2]=r;break e}if(wi(e,A[i>>2],A[i+4>>2]),f[i+11|0]>=0)break e;fr(A[i>>2])}else if(f[i+8|0]=b[n+A[e>>2]|0],n=A[e+20>>2],l=(u=(k=A[e+16>>2])+1|0)?n:n+1|0,A[e+16>>2]=u,A[e+20>>2]=l,(k=k+3|0)>>>0>(l=A[e+8>>2])>>>0&(0|(n=k>>>0<3?n+1|0:n))>=(0|(s=A[e+12>>2]))|(0|n)>(0|s)){if(i=Ce(a+4|0,a+16|0),A[r>>2]=-2,e=r+4|0,f[i+11|0]>=0){A[e+8>>2]=A[i+8>>2],r=A[i+4>>2],A[e>>2]=A[i>>2],A[e+4>>2]=r;break e}if(wi(e,A[i>>2],A[i+4>>2]),f[i+11|0]>=0)break e;fr(A[i>>2])}else n=i,i=A[e>>2]+u|0,t[n+10>>1]=b[0|i]|b[i+1|0]<<8,k=A[e+20>>2],k=(i=A[e+16>>2]+2|0)>>>0<2?k+1|0:k,A[e+16>>2]=i,A[e+20>>2]=k,A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0;return void(F=a+48|0)}_f(),c()}function q(r,e,i){var f,a,t=0,b=0,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=a=F-16|0,f=d(e,12)+r|0,A[f+12>>2]=A[f+8>>2],y=-1==(0|(p=A[i>>2]))?-1:(p>>>0)/3|0,t=1;r:{e:{for(;;){i:{if(l=t,!t){t=-1,-1!=(0|p)&&(t=p-1|0,(p>>>0)%3|0||(t=p+2|0)),A[a+8>>2]=t;f:{a:{t:{if(t=-1,-1!=(0|(o=A[a+8>>2]))&&(b=A[A[A[r+4>>2]+12>>2]+(o<<2)>>2],k=A[r>>2],u=-1,_=-1,(0|(n=((t=o+1|0)>>>0)%3|0?t:o-2|0))>=0&&(t=(n>>>0)/3|0,_=A[(A[k+96>>2]+d(t,12)|0)+(n-d(t,3)<<2)>>2]),-1!=(0|b)&&((0|(n=b+((b>>>0)%3|0?-1:2)|0))<0||(t=(n>>>0)/3|0,u=A[(A[k+96>>2]+d(t,12)|0)+(n-d(t,3)<<2)>>2])),t=-1,(0|u)==(0|_))){if(u=-1,(0|(n=o+((o>>>0)%3|0?-1:2)|0))>=0){if(t=(n>>>0)/3|0,o=A[(A[k+96>>2]+d(t,12)|0)+(n-d(t,3)<<2)>>2],-1==(0|b))break a;break t}if(o=-1,-1!=(0|b))break t;t=b}A[a+12>>2]=t;break f}(0|(n=((t=b+1|0)>>>0)%3|0?t:b-2|0))<0||(t=(n>>>0)/3|0,u=A[(A[k+96>>2]+d(t,12)|0)+(n-d(t,3)<<2)>>2])}A[a+12>>2]=(0|o)!=(0|u)?-1:b}if(-1==A[a+12>>2]|-1==(0|p))break i;if(n=((t=p+1|0)>>>0)%3|0?t:p-2|0,A[i>>2]=n,-1==(0|n))break i;if(b=A[r+4>>2],-1==(0|(t=((t=n+1|0)>>>0)%3|0?t:n-2|0)))break i;if(-1==(0|(b=A[A[b+12>>2]+(t<<2)>>2])))break i;if(t=((t=b+1|0)>>>0)%3|0?t:b-2|0,A[i>>2]=t,-1==(0|t))break i;y=(t>>>0)/3|0}if(t=A[r+56>>2]+(y>>>3&536870908)|0,!((_=A[t>>2])&(b=1<<y))){u=A[f+12>>2],o=0;f:{for(;;){if(n=o,A[t>>2]=b|_,(t=A[f+16>>2])>>>0>u>>>0)A[u>>2]=y,u=u+4|0;else{if((k=(_=(s=u-(b=A[f+8>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(t=(o=t-b|0)>>1,(t=o>>>0>=2147483644?1073741823:t>>>0>k>>>0?t:k)>>>0>=1073741824)break r;if(k=ni(v=t<<2),A[(s=s+k|0)>>2]=y,_=o=s-(_<<2)|0,(0|u)!=(0|(t=b)))for(;A[_>>2]=A[t>>2],_=_+4|0,(0|u)!=(0|(t=t+4|0)););A[f+16>>2]=k+v,u=s+4|0,A[f+12>>2]=u,A[f+8>>2]=o,b&&fr(b)}A[f+12>>2]=u;a:if(n){if(b=A[i>>2],!(1&n)){t=-1,-1!=(0|b)&&(t=((t=b+1|0)>>>0)%3|0?t:b-2|0),A[i>>2]=t;break a}p=l?p:b,t=-1,-1!=(0|b)&&(t=b-1|0,(b>>>0)%3|0||(t=b+2|0)),A[i>>2]=t}else t=A[i>>2];a:if(-1!=(0|t)&&(s=A[A[A[r+4>>2]+12>>2]+(t<<2)>>2],_=A[r>>2],o=-1,v=-1,(0|(k=((b=t+1|0)>>>0)%3|0?b:t-2|0))>=0&&(b=(k>>>0)/3|0,v=A[(A[_+96>>2]+d(b,12)|0)+(k-d(b,3)<<2)>>2]),-1!=(0|s)&&((0|(k=s+((s>>>0)%3|0?-1:2)|0))<0||(b=(k>>>0)/3|0,o=A[(A[_+96>>2]+d(b,12)|0)+(k-d(b,3)<<2)>>2])),(0|o)==(0|v))){if((0|(b=((t>>>0)%3|0?-1:2)+t|0))>=0){if(-1==(0|s))break a;t=(b>>>0)/3|0,o=A[(A[_+96>>2]+d(t,12)|0)+(b-d(t,3)<<2)>>2]}else if(o=-1,-1==(0|s))break a;if((0|(b=((t=s+1|0)>>>0)%3|0?t:s-2|0))<0?t=-1:(t=(b>>>0)/3|0,t=A[(A[_+96>>2]+d(t,12)|0)+(b-d(t,3)<<2)>>2]),(0|t)==(0|o)){if(o=n+1|0,A[i>>2]=s,y=(s>>>0)/3|0,t=A[r+56>>2]+(y>>>3&268435452)|0,!((_=A[t>>2])&(b=1<<y)))continue;break f}}break}A[i>>2]=-1}if(!(1&(n|l))){b=A[f+12>>2]-4|0,l=A[b>>2],t=A[r+56>>2]+(l>>>3&536870908)|0,i=A[t>>2],m=t,N=Gi(l)&i,A[m>>2]=N,A[f+12>>2]=b;break i}}if(t=0,l)continue}break}A[44+((e<<2)+r|0)>>2]=p;i:if((0|(e=A[f+12>>2]))!=(0|(k=A[f+8>>2]))){if(o=A[r+56>>2],t=0,(r=e-k>>2)>>>0>=2){for(n=1&r,b=-2&r,u=0;i=A[(l=k+(t<<2)|0)>>2],r=A[(e=o+(i>>>3&536870908)|0)>>2],m=e,N=Gi(i)&r,A[m>>2]=N,i=A[l+4>>2],r=A[(e=o+(i>>>3&536870908)|0)>>2],m=e,N=Gi(i)&r,A[m>>2]=N,t=t+2|0,(0|b)!=(0|(u=u+2|0)););if(!n)break i}i=A[k+(t<<2)>>2],r=A[(e=o+(i>>>3&536870908)|0)>>2],m=e,N=Gi(i)&r,A[m>>2]=N}return void(F=a+16|0)}uf(),c()}ji(),c()}function $(r,e,i){var f,a,t=0,n=0,k=0,c=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0;F=f=F+-64|0,A[f+56>>2]=0,A[f+48>>2]=0,A[f+52>>2]=0,A[f+40>>2]=0,A[f+44>>2]=0,A[f+32>>2]=0,A[f+36>>2]=0,A[f+24>>2]=0,A[f+28>>2]=0,A[f+16>>2]=0,A[f+20>>2]=0,A[f+8>>2]=0,A[f+12>>2]=0,a=f+8|0,_=e;r:{e:if(o[e+38>>1]&&Re(1,a+12|0,e)&&(n=(t=A[a+12>>2])>>>6|0,c=(k=A[e+8>>2])-(s=A[e+16>>2])|0,!(e=(0|(e=A[e+12>>2]-(A[e+20>>2]+(k>>>0<s>>>0)|0)|0))<0?1:(0|e)<=0&n>>>0>c>>>0))){if(Lr(a,t),k=1,!(l=A[a+12>>2]))break r;for(t=A[_+16>>2],c=A[_+20>>2],s=A[_+8>>2],v=A[_+12>>2],e=0;;){if((0|c)>=(0|v)&t>>>0>=s>>>0|(0|c)>(0|v))break e;m=A[_>>2],k=b[m+t|0],c=(t=t+1|0)?c:c+1|0,A[_+16>>2]=t,A[_+20>>2]=c,n=k>>>2|0;i:{f:{a:{t:switch(0|(R=3&k)){case 0:break f;case 3:break t;default:break a}if((n=e+n|0)>>>0>=l>>>0)break e;if(m=A[a>>2],!(k=4+(252&k)|0)){e=n;break i}u((e<<2)+m|0,0,k),e=n;break i}for(l=(p=t>>>0>s>>>0&(0|c)>=(0|v)|(0|c)>(0|v))?t:s,W=p?c:v,p=0;;){if(k=0,(0|t)==(0|l)&(0|c)==(0|W))break r;if(k=b[t+m|0],c=(t=t+1|0)?c:c+1|0,A[_+16>>2]=t,A[_+20>>2]=c,n|=k<<(p<<3|6),(0|R)==(0|(p=p+1|0)))break}}m=A[a>>2],A[m+(e<<2)>>2]=n}if(!((e=e+1|0)>>>0<(l=A[a+12>>2])>>>0))break}if(Lr(a+16|0,1048576),Kr(a+28|0,l),l){for(s=A[a+28>>2],c=0,e=0;;){if(k=A[(t=(c<<2)+m|0)>>2],n=e,A[(p=(c<<3)+s|0)+4>>2]=e,A[p>>2]=k,(e=(t=A[t>>2])+e|0)>>>0>1048576)break e;if(!(e>>>0<=n>>>0)){if(k=A[a+16>>2],p=0,v=7&t)for(;A[k+(n<<2)>>2]=c,n=n+1|0,(0|v)!=(0|(p=p+1|0)););if(!(t-1>>>0<=6))for(;A[(t=k+(n<<2)|0)+28>>2]=c,A[t+24>>2]=c,A[t+20>>2]=c,A[t+16>>2]=c,A[t+12>>2]=c,A[t+8>>2]=c,A[t+4>>2]=c,A[t>>2]=c,(0|(n=n+8|0))!=(0|e););}if((0|l)==(0|(c=c+1|0)))break}N=1048576==(0|e)}}k=N}if(!(!k|(A[f+20>>2]?0:r))){c=0,F=t=F-16|0;r:if(_e(1,t+8|0,_)&&(l=(s=A[_+8>>2])-(n=A[_+16>>2])|0,k=A[t+12>>2],N=A[_+20>>2],!((0|k)==(0|(s=A[_+12>>2]-(N+(n>>>0>s>>>0)|0)|0))&(e=A[t+8>>2])>>>0>l>>>0|k>>>0>s>>>0||(k=k+N|0,k=(s=e+n|0)>>>0<n>>>0?k+1|0:k,A[_+16>>2]=s,A[_+20>>2]=k,(0|e)<=0)))){n=n+A[_>>2]|0,A[f+48>>2]=n;e:{i:{f:{a:{t:switch((b[0|(k=(_=e-1|0)+n|0)]>>>6|0)-1|0){case 1:break f;case 2:break i;case 0:break a;default:break t}A[f+52>>2]=_,e=63&b[0|k];break e}if(1==(0|e))break r;e=e-2|0,A[f+52>>2]=e,e=16383&(b[0|(e=e+n|0)]|b[e+1|0]<<8);break e}if(e>>>0<3)break r;A[f+52>>2]=e-3,e=(b[0|(n=(e=e+n|0)-2|0)]|b[n+1|0]<<8)<<8&4194048|b[e-3|0];break e}if(e>>>0<4)break r;e=e-4|0,A[f+52>>2]=e,e=1073741823&(b[0|(e=e+n|0)]|b[e+1|0]<<8|b[e+2|0]<<16|b[e+3|0]<<24)}A[f+56>>2]=e+4194304,c=e>>>0<1069547520}if(F=t+16|0,c)if(r)for(_=A[f+52>>2],e=A[f+56>>2],c=A[f+36>>2],t=A[f+24>>2],k=A[f+48>>2];;){r:if(e>>>0>4194303)n=e;else if(n=e,y=_,!((0|_)<=0))for(;;){if(_=y-1|0,A[f+52>>2]=_,n=b[k+_|0]|e<<8,A[f+56>>2]=n,e>>>0>=16384)break r;if(s=(0|y)<2,e=n,y=_,s)break}if(y=A[t+((e=1048575&n)<<2)>>2],e=(d(A[(s=c+(y<<3)|0)>>2],n>>>20|0)+e|0)-A[s+4>>2]|0,A[f+56>>2]=e,A[(h<<2)+i>>2]=y,y=1,(0|(h=h+1|0))==(0|r))break}else y=1}return(r=A[f+36>>2])&&(A[f+40>>2]=r,fr(r)),(r=A[f+24>>2])&&(A[f+28>>2]=r,fr(r)),(r=A[f+8>>2])&&(A[f+12>>2]=r,fr(r)),F=f- -64|0,y}function rr(r,e){var i,a=0,t=0,o=0,n=0,k=0;F=i=F-16|0;r:{e:{i:if((t=(0|(n=(a=A[r+4>>2])-(o=A[r>>2])|0))/144|0)>>>0<e>>>0){if((o=(A[r+8>>2]-o|0)/144|0)>>>0>=e>>>0){for(e=d(e-t|0,144)+a|0;ee(a),(0|e)!=(0|(a=a+144|0)););A[r+4>>2]=e;break i}if(e>>>0>=29826162)break e;if(a=o<<1,(a=o>>>0>=14913080?29826161:e>>>0<a>>>0?a:e)>>>0>=29826162)break r;for(a=ni(o=d(a,144)),A[i>>2]=a,A[i+12>>2]=a+o,a=a+n|0,A[i+4>>2]=a,e=d(e-t|0,144)+a|0;ee(a),(0|e)!=(0|(a=a+144|0)););if(A[i+8>>2]=e,t=r,n=A[r+4>>2],r=A[r>>2],o=A[i+4>>2]+d((n-r|0)/-144|0,144)|0,(0|r)!=(0|n)){for(a=r,e=o;A[e>>2]=A[a>>2],A[e+4>>2]=A[a+4>>2],A[e+8>>2]=A[a+8>>2],A[e+12>>2]=A[a+12>>2],A[a+12>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,A[e+16>>2]=A[a+16>>2],A[e+20>>2]=A[a+20>>2],A[e+24>>2]=A[a+24>>2],A[a+24>>2]=0,A[a+16>>2]=0,A[a+20>>2]=0,k=b[a+28|0],A[e+40>>2]=0,A[e+32>>2]=0,A[e+36>>2]=0,f[e+28|0]=k,A[e+32>>2]=A[a+32>>2],A[e+36>>2]=A[a+36>>2],A[e+40>>2]=A[a+40>>2],A[a+40>>2]=0,A[a+32>>2]=0,A[a+36>>2]=0,A[e+52>>2]=0,A[e+44>>2]=0,A[e+48>>2]=0,A[e+44>>2]=A[a+44>>2],A[e+48>>2]=A[a+48>>2],A[e+52>>2]=A[a+52>>2],A[a+52>>2]=0,A[a+44>>2]=0,A[a+48>>2]=0,A[e+64>>2]=0,A[e+56>>2]=0,A[e+60>>2]=0,A[e+56>>2]=A[a+56>>2],A[e+60>>2]=A[a+60>>2],A[e+64>>2]=A[a+64>>2],A[a+64>>2]=0,A[a+56>>2]=0,A[a+60>>2]=0,A[e+68>>2]=A[a+68>>2],k=A[a+72>>2],A[e+84>>2]=0,A[e+76>>2]=0,A[e+80>>2]=0,A[e+72>>2]=k,A[e+76>>2]=A[a+76>>2],A[e+80>>2]=A[a+80>>2],A[e+84>>2]=A[a+84>>2],A[a+84>>2]=0,A[a+76>>2]=0,A[a+80>>2]=0,A[e+96>>2]=0,A[e+88>>2]=0,A[e+92>>2]=0,A[e+88>>2]=A[a+88>>2],A[e+92>>2]=A[a+92>>2],A[e+96>>2]=A[a+96>>2],A[a+96>>2]=0,A[a+88>>2]=0,A[a+92>>2]=0,k=b[a+100|0],A[e+112>>2]=0,A[e+104>>2]=0,A[e+108>>2]=0,f[e+100|0]=k,A[e+104>>2]=A[a+104>>2],A[e+108>>2]=A[a+108>>2],A[e+112>>2]=A[a+112>>2],A[a+112>>2]=0,A[a+104>>2]=0,A[a+108>>2]=0,A[e+124>>2]=0,A[e+116>>2]=0,A[e+120>>2]=0,A[e+116>>2]=A[a+116>>2],A[e+120>>2]=A[a+120>>2],A[e+124>>2]=A[a+124>>2],A[a+124>>2]=0,A[a+116>>2]=0,A[a+120>>2]=0,k=A[a+128>>2],A[e+140>>2]=0,A[e+132>>2]=0,A[e+136>>2]=0,A[e+128>>2]=k,A[e+132>>2]=A[a+132>>2],A[e+136>>2]=A[a+136>>2],A[e+140>>2]=A[a+140>>2],A[a+140>>2]=0,A[a+132>>2]=0,A[a+136>>2]=0,e=e+144|0,(0|n)!=(0|(a=a+144|0)););for(;(e=A[r+132>>2])&&(A[r+136>>2]=e,fr(e)),(e=A[r+116>>2])&&(A[r+120>>2]=e,fr(e)),(e=A[r+104>>2])&&(A[r+108>>2]=e,fr(e)),je(r+4|0),(0|n)!=(0|(r=r+144|0)););r=A[t>>2]}if(e=A[t+8>>2],a=A[i+8>>2],A[t+8>>2]=A[i+12>>2],A[t+4>>2]=a,A[t>>2]=o,A[i+12>>2]=e,A[i+8>>2]=r,A[i+4>>2]=r,A[i>>2]=r,(0|(a=A[i+8>>2]))!=(0|(t=A[i+4>>2])))for(;(r=A[a-12>>2])&&(A[a-8>>2]=r,fr(r)),(r=A[a-28>>2])&&(A[a-24>>2]=r,fr(r)),(r=A[a-40>>2])&&(A[a-36>>2]=r,fr(r)),je(a-140|0),(0|t)!=(0|(a=e=a-144|0)););else e=a;if(A[i+8>>2]=e,!(r=A[i>>2]))break i;fr(r)}else if(!(e>>>0>=t>>>0)){if((0|(e=o+d(e,144)|0))!=(0|a))for(;(t=A[a-12>>2])&&(A[a-8>>2]=t,fr(t)),(t=A[a-28>>2])&&(A[a-24>>2]=t,fr(t)),(t=A[a-40>>2])&&(A[a-36>>2]=t,fr(t)),je(a-140|0),(0|e)!=(0|(a=a-144|0)););A[r+4>>2]=e}return void(F=i+16|0)}uf(),c()}ji(),c()}function er(r,e,i){e|=0,i|=0;var a,t=0,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0;F=a=F-96|0,t=A[(r|=0)+16>>2],o=A[e>>2],f[a+88|0]=1,A[a+84>>2]=o,A[a+80>>2]=o,A[a+76>>2]=t;r:if(-1!=(0|o)&&(u=A[r+20>>2],n=A[u>>2],!((t=A[A[t>>2]+(o<<2)>>2])>>>0>=A[u+4>>2]-n>>2>>>0))){for(t=A[A[r+8>>2]+(A[n+(t<<2)>>2]<<2)>>2],n=A[r+4>>2],b[n+84|0]||(t=A[A[n+68>>2]+(t<<2)>>2]),A[a+64>>2]=0,A[a+68>>2]=0,A[a+56>>2]=0,A[a+60>>2]=0,A[a+48>>2]=0,A[a+52>>2]=0,A[a+24>>2]=t,X(n,a+24|0,f[n+24|0],a+48|0);;){e:if(A[r+28>>2])n=((t=o+1|0)>>>0)%3|0?t:o-2|0,t=o-1|0,(o>>>0)%3|0||(t=o+2|0);else{if(-1==(0|(o=A[e>>2])))break r;if(n=((t=o+1|0)>>>0)%3|0?t:o-2|0,t=o-1|0,(o>>>0)%3|0)break e;t=o+2|0}if(-1==(0|n))break r;if(u=A[r+20>>2],o=A[u>>2],(n=A[A[A[r+16>>2]>>2]+(n<<2)>>2])>>>0>=A[u+4>>2]-o>>2>>>0)break r;if(n=A[A[r+8>>2]+(A[o+(n<<2)>>2]<<2)>>2],o=A[r+4>>2],b[o+84|0]||(n=A[A[o+68>>2]+(n<<2)>>2]),A[a+40>>2]=0,A[a+44>>2]=0,A[a+32>>2]=0,A[a+36>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,A[a>>2]=n,X(o,a,f[o+24|0],a+24|0),-1==(0|t))break r;if(o=A[r+20>>2],n=A[o>>2],(t=A[A[A[r+16>>2]>>2]+(t<<2)>>2])>>>0>=A[o+4>>2]-n>>2>>>0)break r;if(n=A[A[r+8>>2]+(A[n+(t<<2)>>2]<<2)>>2],t=A[r+4>>2],b[t+84|0]||(n=A[A[t+68>>2]+(n<<2)>>2]),A[a+16>>2]=0,A[a+20>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0,A[a>>2]=0,A[a+4>>2]=0,A[a+92>>2]=n,X(t,a+92|0,f[t+24|0],a),o=(k=A[a>>2])-(t=A[a+48>>2])|0,m=A[a+52>>2],N=A[a+4>>2]-(m+(t>>>0>k>>>0)|0)|0,u=(_=A[a+32>>2])-(n=A[a+56>>2])|0,h=A[a+60>>2],R=d-(k=ze(o,N,u,W=A[a+36>>2]-(h+(n>>>0>_>>>0)|0)|0))|0,l=l-(j+(k>>>0>d>>>0)|0)|0,t=ze(k=(_=A[a+8>>2])-n|0,h=A[a+12>>2]-((n>>>0>_>>>0)+h|0)|0,n=(s=A[a+24>>2])-t|0,m=A[a+28>>2]-((t>>>0>s>>>0)+m|0)|0),l=j+l|0,l=t>>>0>(d=t+R|0)>>>0?l+1|0:l,G=p,p=N,_=(s=A[a+40>>2])-(t=A[a+64>>2])|0,N=A[a+68>>2],p=ze(o,p,_,R=A[a+44>>2]-(N+(t>>>0>s>>>0)|0)|0),y=j+y|0,y=(o=G+p|0)>>>0<p>>>0?y+1|0:y,p=o-(n=ze(s=(p=A[a+16>>2])-t|0,t=A[a+20>>2]-((t>>>0>p>>>0)+N|0)|0,n,m))|0,y=y-(j+(n>>>0>o>>>0)|0)|0,o=v-(n=ze(k,h,_,R))|0,n=U-(j+(n>>>0>v>>>0)|0)|0,k=o,o=ze(s,t,u,W),t=j+n|0,U=t=o>>>0>(v=k+o|0)>>>0?t+1|0:t,Fr(a+76|0),-1==(0|(o=A[a+84>>2])))break}o=(n=(k=e=t>>31)^v)-k|0,t=(t^k)-((k>>>0>n>>>0)+k|0)|0,e=-1,n=2147483647,u=(s=(k=y>>31)^p)-k|0,_=k=(k^y)-((k>>>0>s>>>0)+k|0)|0,s=-1^u,k^=2147483647;e:{i:{if(!A[r+28>>2]){if((0|t)==(0|k)&o>>>0>s>>>0|t>>>0>k>>>0)break e;if(t=t+_|0,t=(r=o+u|0)>>>0<u>>>0?t+1|0:t,e=r,r=(u=(o=n=r=l>>31)^d)-o|0,o=(o^l)-((o>>>0>u>>>0)+o|0)|0,n=r+e|0,(e=(r=(0|(o^=2147483647))==(0|t)&(-1^r)>>>0<e>>>0|t>>>0>o>>>0)?-1:n)>>>0>536870912&(0|(n=r=r?-1:n>>31))>=0|(0|n)>0)break i;break e}if(!((0|t)==(0|k)&o>>>0>s>>>0|t>>>0>k>>>0)&&(t=t+_|0,t=(r=o+u|0)>>>0<u>>>0?t+1|0:t,!((0|(k=2147483647^(u=((k=o=l>>31)^l)-((k>>>0>(_=o^d)>>>0)+k|0)|0)))==(0|t)&(-1^(o=_-o|0))>>>0<r>>>0|t>>>0>k>>>0)&&(n=t+u|0,!(n=(e=r+o|0)>>>0<o>>>0?n+1|0:n)&e>>>0<536870913)))break e}d=Oe(d,l,r=(536870911&(r=n))<<3|e>>>29,n=n>>>29|0),p=Oe(p,y,r,n),v=Oe(v,U,r,n)}return A[i+8>>2]=d,A[i+4>>2]=p,A[i>>2]=v,void(F=a+96|0)}Ti(),c()}function ir(r,e){r|=0;var i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0,c=0,u=0;r:if(!((0|(e|=0))<0||(f=A[r+12>>2])-(i=A[r+8>>2])>>2>>>0<=e>>>0)){if(i=A[(a=i+(e<<2)|0)>>2],t=A[i+60>>2],c=A[i+56>>2],(0|f)!=(0|(i=a+4|0))){for(;n=A[i>>2],A[i>>2]=0,o=A[a>>2],A[a>>2]=n,o&&ge(o),a=a+4|0,(0|f)!=(0|(i=i+4|0)););f=A[r+12>>2]}if((0|f)!=(0|a))for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&ge(i),(0|f)!=(0|a););A[r+12>>2]=a;e:if(!(!(n=A[r+4>>2])|(0|t)<0)&&(0|(f=A[n+24>>2]))!=(0|(i=A[n+28>>2])))for(;;){if((0|t)==A[A[f>>2]+24>>2]){if(F=a=F-16|0,(0|(b=f+4|0))!=(0|(t=A[n+28>>2]))){for(i=f;k=A[b>>2],A[b>>2]=0,o=A[i>>2],A[i>>2]=k,o&&(k=A[o+16>>2],A[a+12>>2]=o+12,Be(u=a+12|0,k),k=A[o+4>>2],A[a+12>>2]=o,$e(u,k),fr(o)),i=i+4|0,(0|t)!=(0|(b=b+4|0)););t=A[n+28>>2]}else i=f;if((0|(i=(i-f|0)+f|0))!=(0|t))for(;f=A[(t=t-4|0)>>2],A[t>>2]=0,f&&(o=A[f+16>>2],A[a+12>>2]=f+12,Be(b=a+12|0,o),o=A[f+4>>2],A[a+12>>2]=f,$e(b,o),fr(f)),(0|i)!=(0|t););A[n+28>>2]=i,F=a+16|0;break e}if((0|i)==(0|(f=f+4|0)))break}if(!((0|c)>4)){i=d(c,12)+r|0,f=A[i+20>>2];e:{if(a=(t=A[i+24>>2])-f>>2)for(;;){if(A[f>>2]==(0|e))break e;if(f=f+4|0,!(a=a-1|0))break}f=0}(0|(f=f||t))!=(0|(a=A[i+24>>2]))&&((o=a-(t=f+4|0)|0)&&_(f,t,o),A[i+24>>2]=a-4)}e:if((0|(i=A[r+24>>2]))!=(0|(a=A[r+20>>2]))){if(f=0,(i=i-a>>2)>>>0>=2){for(o=1&i,n=-2&i,i=0;(0|(b=A[(t=a+(f<<2)|0)>>2]))>(0|e)&&(A[t>>2]=b-1),(0|(b=A[t+4>>2]))>(0|e)&&(A[t+4>>2]=b-1),f=f+2|0,(0|n)!=(0|(i=i+2|0)););if(!o)break e}(0|(i=A[(f=a+(f<<2)|0)>>2]))<=(0|e)||(A[f>>2]=i-1)}e:if((0|(i=A[r+36>>2]))!=(0|(a=A[r+32>>2]))){if(f=0,(i=i-a>>2)>>>0>=2){for(o=1&i,n=-2&i,i=0;(0|(b=A[(t=a+(f<<2)|0)>>2]))>(0|e)&&(A[t>>2]=b-1),(0|(b=A[t+4>>2]))>(0|e)&&(A[t+4>>2]=b-1),f=f+2|0,(0|n)!=(0|(i=i+2|0)););if(!o)break e}(0|(i=A[(f=a+(f<<2)|0)>>2]))<=(0|e)||(A[f>>2]=i-1)}e:if((0|(i=A[r+48>>2]))!=(0|(a=A[r+44>>2]))){if(f=0,(i=i-a>>2)>>>0>=2){for(o=1&i,n=-2&i,i=0;(0|(b=A[(t=a+(f<<2)|0)>>2]))>(0|e)&&(A[t>>2]=b-1),(0|(b=A[t+4>>2]))>(0|e)&&(A[t+4>>2]=b-1),f=f+2|0,(0|n)!=(0|(i=i+2|0)););if(!o)break e}(0|(i=A[(f=a+(f<<2)|0)>>2]))<=(0|e)||(A[f>>2]=i-1)}e:if((0|(i=A[r+60>>2]))!=(0|(a=A[r+56>>2]))){if(f=0,(i=i-a>>2)>>>0>=2){for(o=1&i,n=-2&i,i=0;(0|(b=A[(t=a+(f<<2)|0)>>2]))>(0|e)&&(A[t>>2]=b-1),(0|(b=A[t+4>>2]))>(0|e)&&(A[t+4>>2]=b-1),f=f+2|0,(0|n)!=(0|(i=i+2|0)););if(!o)break e}(0|(i=A[(f=a+(f<<2)|0)>>2]))<=(0|e)||(A[f>>2]=i-1)}if((0|(i=A[r+72>>2]))!=(0|(r=A[r+68>>2]))){if(f=0,(i=i-r>>2)>>>0>=2){for(t=1&i,o=-2&i,i=0;(0|(n=A[(a=r+(f<<2)|0)>>2]))>(0|e)&&(A[a>>2]=n-1),(0|(n=A[a+4>>2]))>(0|e)&&(A[a+4>>2]=n-1),f=f+2|0,(0|o)!=(0|(i=i+2|0)););if(!t)break r}(0|(i=e))>=(0|(e=A[(r=r+(f<<2)|0)>>2]))||(A[r>>2]=e-1)}}}function fr(r){var e=0,i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0,c=0;r:if(r|=0){t=(f=r-8|0)+(r=-8&(e=A[r-4>>2]))|0;e:if(!(1&e)){if(!(2&e))break r;if((f=f-(e=A[f>>2])|0)>>>0<p[2872])break r;r=r+e|0;i:{f:{a:{if(A[2873]!=(0|f)){if(i=A[f+12>>2],e>>>0<=255){if((0|(a=A[f+8>>2]))!=(0|i))break a;k=11472,c=A[2868]&Gi(e>>>3|0),A[k>>2]=c;break e}if(o=A[f+24>>2],(0|i)!=(0|f)){e=A[f+8>>2],A[e+12>>2]=i,A[i+8>>2]=e;break i}if(a=A[f+20>>2])e=f+20|0;else{if(!(a=A[f+16>>2]))break f;e=f+16|0}for(;b=e,e=(i=a)+20|0,(a=A[i+20>>2])||(e=i+16|0,a=A[i+16>>2]););A[b>>2]=0;break i}if(3&~(e=A[t+4>>2]))break e;return A[2870]=r,A[t+4>>2]=-2&e,A[f+4>>2]=1|r,void(A[t>>2]=r)}A[a+12>>2]=i,A[i+8>>2]=a;break e}i=0}if(o){e=A[f+28>>2];i:{if(A[(a=e<<2)+11776>>2]==(0|f)){if(A[a+11776>>2]=i,i)break i;k=11476,c=A[2869]&Gi(e),A[k>>2]=c;break e}if(A[o+16>>2]!=(0|f)?A[o+20>>2]=i:A[o+16>>2]=i,!i)break e}A[i+24>>2]=o,(e=A[f+16>>2])&&(A[i+16>>2]=e,A[e+24>>2]=i),(e=A[f+20>>2])&&(A[i+20>>2]=e,A[e+24>>2]=i)}}if(!(f>>>0>=t>>>0)&&1&(e=A[t+4>>2])){e:{i:{f:{a:{if(!(2&e)){if(A[2874]==(0|t)){if(A[2874]=f,r=A[2871]+r|0,A[2871]=r,A[f+4>>2]=1|r,A[2873]!=(0|f))break r;return A[2870]=0,void(A[2873]=0)}if((0|(n=A[2873]))==(0|t))return A[2873]=f,r=A[2870]+r|0,A[2870]=r,A[f+4>>2]=1|r,void(A[r+f>>2]=r);if(r=(-8&e)+r|0,i=A[t+12>>2],e>>>0<=255){if((0|(a=A[t+8>>2]))==(0|i)){k=11472,c=A[2868]&Gi(e>>>3|0),A[k>>2]=c;break i}A[a+12>>2]=i,A[i+8>>2]=a;break i}if(o=A[t+24>>2],(0|i)!=(0|t)){e=A[t+8>>2],A[e+12>>2]=i,A[i+8>>2]=e;break f}if(a=A[t+20>>2])e=t+20|0;else{if(!(a=A[t+16>>2]))break a;e=t+16|0}for(;b=e,e=(i=a)+20|0,(a=A[i+20>>2])||(e=i+16|0,a=A[i+16>>2]););A[b>>2]=0;break f}A[t+4>>2]=-2&e,A[f+4>>2]=1|r,A[r+f>>2]=r;break e}i=0}if(o){e=A[t+28>>2];f:{if(A[(a=e<<2)+11776>>2]==(0|t)){if(A[a+11776>>2]=i,i)break f;k=11476,c=A[2869]&Gi(e),A[k>>2]=c;break i}if(A[o+16>>2]!=(0|t)?A[o+20>>2]=i:A[o+16>>2]=i,!i)break i}A[i+24>>2]=o,(e=A[t+16>>2])&&(A[i+16>>2]=e,A[e+24>>2]=i),(e=A[t+20>>2])&&(A[i+20>>2]=e,A[e+24>>2]=i)}}if(A[f+4>>2]=1|r,A[r+f>>2]=r,(0|f)==(0|n))return void(A[2870]=r)}if(r>>>0<=255)return e=11512+(248&r)|0,(a=A[2868])&(r=1<<(r>>>3))?r=A[e+8>>2]:(A[2868]=r|a,r=e),A[e+8>>2]=f,A[r+12>>2]=f,A[f+12>>2]=e,void(A[f+8>>2]=r);i=31,r>>>0<=16777215&&(i=62^(r>>>38-(e=N(r>>>8|0))&1|e<<1)),A[f+28>>2]=i,A[f+16>>2]=0,A[f+20>>2]=0,e=11776+(i<<2)|0;e:{i:{if((a=A[2869])&(b=1<<i)){for(i=r<<(31!=(0|i)?25-(i>>>1|0)|0:0),e=A[e>>2];;){if(a=e,(-8&A[e+4>>2])==(0|r))break i;if(e=i>>>29|0,i<<=1,!(e=A[(b=(4&e)+a|0)+16>>2]))break}A[b+16>>2]=f,e=a,i=24}else A[2869]=a|b,A[e>>2]=f,i=24;a=f,b=f,r=8;break e}e=A[a+8>>2],A[e+12>>2]=f,A[a+8>>2]=f,i=8,b=0,r=24}A[i+f>>2]=e,A[f+12>>2]=a,A[r+f>>2]=b,r=A[2876]-1|0,A[2876]=r||-1}}}function ar(r){var e,i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0;F=e=F-32|0,A[r+56>>2]=A[r+52>>2],A[r+44>>2]=A[r+40>>2],f=A[r+64>>2];r:if((0|(i=A[f+24>>2]))!=A[f+28>>2])for(n=r+40|0,k=r+52|0;;){e:if(-1!=(0|(a=A[(o<<2)+i>>2]))){A[e+8>>2]=b,f=A[r+56>>2],A[e+12>>2]=f,i=A[r+60>>2],A[e+24>>2]=k,A[e+20>>2]=e+8,A[e+16>>2]=e+12,i>>>0>f>>>0?(A[f>>2]=b,f=f+4|0):($r(e+16|0),f=A[e+12>>2]),A[r+56>>2]=f,A[e+4>>2]=a,A[e>>2]=0;i:{if(A[A[r+12>>2]+(o>>>3&536870908)>>2]>>>o&1&&(i=-1,-1==(0|(f=((f=a+1|0)>>>0)%3|0?f:a-2|0))|A[A[r>>2]+(f>>>3&536870908)>>2]>>>f&1||-1!=(0|(f=A[A[A[r+64>>2]+12>>2]+(f<<2)>>2]))&&(i=((i=f+1|0)>>>0)%3|0?i:f-2|0),A[e>>2]=i,-1!=(0|i))){for(;f=i,A[e+4>>2]=i,i=-1,-1==(0|(t=((t=f+1|0)>>>0)%3|0?t:f-2|0))|A[A[r>>2]+(t>>>3&536870908)>>2]>>>t&1||-1!=(0|(t=A[A[A[r+64>>2]+12>>2]+(t<<2)>>2]))&&(i=((i=t+1|0)>>>0)%3|0?i:t-2|0),A[e>>2]=i,(0|i)!=(0|a);)if(-1==(0|i))break i;a=0;break r}f=a}if(A[A[r+28>>2]+(f<<2)>>2]=A[e+8>>2],i=A[r+44>>2],A[e+12>>2]=i,a=A[r+48>>2],A[e+24>>2]=n,A[e+20>>2]=e+4,A[e+16>>2]=e+12,b=b+1|0,i>>>0<a>>>0?(A[i>>2]=f,f=i+4|0):($r(e+16|0),f=A[e+12>>2]),A[r+44>>2]=f,f=A[r+64>>2],-1!=(0|(a=A[e+4>>2]))){if((a>>>0)%3|0)i=a-1|0;else if(-1==(0|(i=a+2|0)))break e;if(-1!=(0|(i=A[A[f+12>>2]+(i<<2)>>2]))&&(i=i+((i>>>0)%3|0?-1:2)|0,A[e>>2]=i,!(-1==(0|i)|(0|i)==(0|a))))for(;;){if(a=((a=i+1|0)>>>0)%3|0?a:i-2|0,A[A[r>>2]+(a>>>3&536870908)>>2]>>>a&1){if(A[e+8>>2]=b,f=A[r+56>>2],A[e+12>>2]=f,i=A[r+60>>2],A[e+24>>2]=k,A[e+20>>2]=e+8,A[e+16>>2]=e+12,i>>>0>f>>>0?(A[f>>2]=b,f=f+4|0):($r(e+16|0),f=A[e+12>>2]),A[r+56>>2]=f,f=A[r+44>>2],A[e+12>>2]=f,i=A[r+48>>2],A[e+24>>2]=n,A[e+20>>2]=e,A[e+16>>2]=e+12,b=b+1|0,i>>>0>f>>>0?(A[f>>2]=A[e>>2],f=f+4|0):($r(e+16|0),f=A[e+12>>2]),A[r+44>>2]=f,f=A[r+64>>2],i=A[e>>2],A[A[r+28>>2]+(i<<2)>>2]=A[e+8>>2],-1==(0|i))break e}else A[A[r+28>>2]+(i<<2)>>2]=A[e+8>>2];if((i>>>0)%3|0)i=i-1|0;else if(-1==(0|(i=i+2|0)))break e;if(-1==(0|(i=A[A[f+12>>2]+(i<<2)>>2])))break e;if(i=i+((i>>>0)%3|0?-1:2)|0,A[e>>2]=i,-1==(0|i))break e;if(A[e+4>>2]==(0|i))break}}}if(a=1,o=o+1|0,i=A[f+24>>2],!(o>>>0<A[f+28>>2]-i>>2>>>0))break}else a=1;return F=e+32|0,a}function tr(r,e,i,a){var t,b=0,o=0,n=0,k=0,_=0,s=0,y=v(0),d=v(0);k=A[i>>2],t=A[e>>2];r:{e:if((e=A[t+4>>2])&&(i=A[t>>2],b=e-1&k,(o=Ui(e))>>>0<=1||e>>>0>(b=k)>>>0||(b=(b>>>0)%(e>>>0)|0),(i=A[i+(b<<2)>>2])&&(i=A[i>>2])))if(o>>>0<=1)for(o=e-1|0;;){if((0|(n=A[i+4>>2]))==(0|k)){if(A[i+8>>2]==(0|k)){e=0;break r}}else if((o&n)!=(0|b))break e;if(!(i=A[i>>2]))break}else for(;;){if((0|(o=A[i+4>>2]))==(0|k)){if(A[i+8>>2]==(0|k)){e=0;break r}}else if(e>>>0<=o>>>0&&(o=(o>>>0)%(e>>>0)|0),(0|b)!=(0|o))break e;if(!(i=A[i>>2]))break}if(i=ni(16),A[i+4>>2]=k,A[i>>2]=0,a=A[A[a>>2]>>2],A[i+12>>2]=0,A[i+8>>2]=a,y=v(A[t+12>>2]+1>>>0),d=l[t+16>>2],y>v(d*v(e>>>0))){b=2,1!=(0|(a=(a=!!(e-1&e)|e>>>0<3|e<<1)>>>0>(o=~~v(W(v(y/d)))>>>0)>>>0?a:o))&&(a&a-1?(b=C(a),e=A[t+4>>2]):b=a);e:{if(e>>>0>=b>>>0){if(e>>>0<=b>>>0)break e;if(a=~~v(W(v(v(p[t+12>>2])/l[t+16>>2])))>>>0,e>>>0<=(b=(a=e>>>0<3||Ui(e)>>>0>1?C(a):a>>>0<2?a:1<<32-N(a-1|0))>>>0<b>>>0?b:a)>>>0)break e}n=b;i:{f:{a:{if(b){if(b>>>0>=1073741824)break a;e=ni(b<<2)}else e=0;if(a=A[t>>2],A[t>>2]=e,a&&fr(a),A[t+4>>2]=n,!n)break i;if(s=A[t>>2],(e=n<<2)&&u(s,0,e),!(e=A[t+8>>2]))break i;if(a=t+8|0,o=A[e+4>>2],!((b=n-1|0)&n))break f;for(A[((o=o>>>0>=n>>>0?(o>>>0)%(n>>>0)|0:o)<<2)+s>>2]=a;;){if(!(b=A[e>>2]))break i;n>>>0<=(a=A[b+4>>2])>>>0&&(a=(a>>>0)%(n>>>0)|0),(0|a)!=(0|o)?A[(_=(a<<2)+s|0)>>2]?(A[e>>2]=A[b>>2],A[b>>2]=A[A[_>>2]>>2],A[A[_>>2]>>2]=b):(A[_>>2]=e,e=b,o=a):e=b}}ji(),c()}if(A[((o&=b)<<2)+s>>2]=a,a=A[e>>2])for(_=n-1|0;(0|(b=_&A[a+4>>2]))!=(0|o)?A[(n=(b<<2)+s|0)>>2]?(A[e>>2]=A[a>>2],A[a>>2]=A[A[n>>2]>>2],A[A[n>>2]>>2]=a):(A[n>>2]=e,e=a,o=b):e=a,a=A[e>>2];);}}b=(e=A[t+4>>2])&(a=e-1|0)?e>>>0>k>>>0?k:(k>>>0)%(e>>>0)|0:a&k}a=b<<2,b=A[t>>2];e:if(a=A[(k=a+b|0)>>2])A[i>>2]=A[a>>2],A[a>>2]=i;else{if(A[i>>2]=A[t+8>>2],A[t+8>>2]=i,A[k>>2]=t+8,!(a=A[i>>2]))break e;a=A[a+4>>2],(k=e-1|0)&e?e>>>0>a>>>0||(a=(a>>>0)%(e>>>0)|0):a&=k,A[b+(a<<2)>>2]=i}A[t+12>>2]=A[t+12>>2]+1,e=1}f[r+4|0]=e,A[r>>2]=i}function Ar(r,e,i){e|=0,i|=0;var a,t=0,o=0,n=0,k=0,c=0,u=0,s=0,p=0,l=0,y=0,v=0;r:if(!((0|(a=0|Uf[A[A[(r|=0)>>2]+44>>2]](r)))<=0)&&(s=A[e+4>>2]-A[e>>2]>>2,F=n=F+-64|0,o=Ke(n),t=d(b[10104],a),ui(o,A[A[r+8>>2]+56>>2],255&a,5,0,t,t>>31),o=zr(ni(96),o),f[o+84|0]=1,A[o+72>>2]=A[o+68>>2],Hr(o,s),A[o+60>>2]=A[A[r+8>>2]+60>>2],t=A[r+16>>2],A[r+16>>2]=o,t&&ge(t),F=n- -64|0,u=A[r+16>>2],A[u+80>>2]&&(p=A[A[u>>2]>>2])&&!((0|(n=y=A[i+12>>2]))<=(0|(t=A[i+20>>2]))&(k=A[i+8>>2])>>>0<=(c=A[i+16>>2])>>>0|(0|t)>(0|n)))){l=d(s,a),s=p+A[u+48>>2]|0,u=A[i>>2],p=b[u+c|0],o=(n=c+1|0)?t:t+1|0,A[i+16>>2]=n,A[i+20>>2]=o;e:{i:{if(p){if(!E(l,a,i,s))break r}else{if((0|o)>=(0|y)&n>>>0>=k>>>0|(0|o)>(0|y))break r;if(n=b[n+u|0],t=(o=c+2|0)>>>0<2?t+1|0:t,A[i+16>>2]=o,A[i+20>>2]=t,t=A[A[r+16>>2]+64>>2],t=A[t+4>>2]-A[t>>2]|0,(0|n)!=b[10104]){if(t>>>0<d(n,l)>>>0)break r;if(k=(t=A[i+8>>2])-(o=A[i+16>>2])|0,y=t>>>0<o>>>0,t=A[i+20>>2],c=A[i+12>>2]-(y+t|0)|0,(y=ze(n,0,l,0)>>>0>k>>>0)&(0|(k=j))>=(0|c)|(0|k)>(0|c))break r;if(k=1,!l)break e;for(u=0;;){if((k=o+n|0)>>>0>(c=A[i+8>>2])>>>0&(0|(t=k>>>0<n>>>0?t+1|0:t))>=(0|(p=A[i+12>>2]))|(0|t)>(0|p))return 0;if(n&&_(s+(u<<2)|0,A[i>>2]+o|0,n),t=A[i+20>>2],t=(o=n+A[i+16>>2]|0)>>>0<n>>>0?t+1|0:t,A[i+16>>2]=o,A[i+20>>2]=t,(0|l)==(0|(u=u+1|0)))break}break i}if((n=l<<2)>>>0>t>>>0)break r;if(k=A[i+8>>2],c=A[i+12>>2],p=A[i+20>>2],(0|c)<=(0|(p=(o=(t=A[i+16>>2])+n|0)>>>0<n>>>0?p+1|0:p))&o>>>0>k>>>0|(0|c)<(0|p))break r;n&&_(s,t+A[i>>2]|0,n),o=A[i+20>>2],o=(t=n+A[i+16>>2]|0)>>>0<n>>>0?o+1|0:o,A[i+16>>2]=t,A[i+20>>2]=o}if(!l){k=1;break e}}if(!((t=A[r+20>>2])&&0|Uf[A[A[t>>2]+32>>2]](t))){c=0;i:if(!((0|l)<=0)){if(1!=(0|l)){for(n=1&l,o=2147483646&l,u=0;t=A[(k=c<<2)+s>>2],A[k+s>>2]=0-(1&t)^t>>>1,k=A[(t=4|k)+s>>2],A[t+s>>2]=0-(1&k)^k>>>1,c=c+2|0,(0|o)!=(0|(u=u+2|0)););if(!n)break i}o=A[(t=c<<2)+s>>2],A[t+s>>2]=0-(1&o)^o>>>1}}k=0}if(t=A[r+20>>2]){if(Uf[A[A[t>>2]+44>>2]](t,l),t=A[r+20>>2],!(0|Uf[A[A[t>>2]+40>>2]](t,i)))break r;if(!(k||(r=A[r+20>>2],0|Uf[A[A[r>>2]+48>>2]](r,s,s,l,a,A[e>>2]))))break r}v=1}return 0|v}function br(r,e,i,a,t){var o=0,n=0,k=0,u=0,s=0,p=0,l=0;r:if(!((0|t)<=0))if(((k=A[r+8>>2])-(u=A[r+4>>2])|0)>=(0|t)){if((0|(k=u-e|0))<(0|t)){if((0|(o=i+k|0))!=(0|a))for(n=u;f[0|n]=b[0|o],n=n+1|0,(0|(o=o+1|0))!=(0|a););else n=u;if(A[r+4>>2]=n,(0|k)<=0)break r;if(s=n-(e+t|0)|0,u>>>0<=(a=n-t|0)>>>0)o=n;else{if(l=(p=t+u|0)-n&7)for(t=0,o=n;f[0|o]=b[0|a],o=o+1|0,a=a+1|0,(0|l)!=(0|(t=t+1|0)););else o=n;if(!(n-p>>>0>4294967288))for(;f[0|o]=b[0|a],f[o+1|0]=b[a+1|0],f[o+2|0]=b[a+2|0],f[o+3|0]=b[a+3|0],f[o+4|0]=b[a+4|0],f[o+5|0]=b[a+5|0],f[o+6|0]=b[a+6|0],f[o+7|0]=b[a+7|0],o=o+8|0,(0|u)!=(0|(a=a+8|0)););}if(A[r+4>>2]=o,s&&_(n-s|0,e,s),r=7&k)for(a=0,o=e;f[0|o]=b[0|i],i=i+1|0,o=o+1|0,(0|r)!=(0|(a=a+1|0)););else o=e;if(e-u>>>0>4294967288)break r;for(r=e+k|0;f[0|o]=b[0|i],f[o+1|0]=b[i+1|0],f[o+2|0]=b[i+2|0],f[o+3|0]=b[i+3|0],f[o+4|0]=b[i+4|0],f[o+5|0]=b[i+5|0],f[o+6|0]=b[i+6|0],f[o+7|0]=b[i+7|0],i=i+8|0,(0|r)!=(0|(o=o+8|0)););break r}if(k=u-(s=e+t|0)|0,!((a=(o=u)-t|0)>>>0>=o>>>0)){if(p=7&t)for(;f[0|o]=b[0|a],o=o+1|0,a=a+1|0,(0|p)!=(0|(n=n+1|0)););if(!(t>>>0<8))for(;f[0|o]=b[0|a],f[o+1|0]=b[a+1|0],f[o+2|0]=b[a+2|0],f[o+3|0]=b[a+3|0],f[o+4|0]=b[a+4|0],f[o+5|0]=b[a+5|0],f[o+6|0]=b[a+6|0],f[o+7|0]=b[a+7|0],o=o+8|0,(0|u)!=(0|(a=a+8|0)););}if(A[r+4>>2]=o,k&&_(u-k|0,e,k),r=7&t)for(a=0,o=e;f[0|o]=b[0|i],i=i+1|0,o=o+1|0,(0|r)!=(0|(a=a+1|0)););else o=e;if(t>>>0<8)break r;for(;f[0|o]=b[0|i],f[o+1|0]=b[i+1|0],f[o+2|0]=b[i+2|0],f[o+3|0]=b[i+3|0],f[o+4|0]=b[i+4|0],f[o+5|0]=b[i+5|0],f[o+6|0]=b[i+6|0],f[o+7|0]=b[i+7|0],i=i+8|0,(0|s)!=(0|(o=o+8|0)););}else{if((0|(a=(u-(o=A[r>>2])|0)+t|0))>=0)return s=(k=k-o|0)<<1,s=(n=e-o|0)+(a=(k=k>>>0>=1073741823?2147483647:a>>>0<s>>>0?s:a)?ni(k):0)|0,t&&_(s,i,t),i=t+s|0,(t=u-e|0)&&_(i,e,t),A[r+4>>2]=e,n&&_(a,o,n),A[r+8>>2]=a+k,A[r+4>>2]=i+t,A[r>>2]=a,void(o&&fr(o));uf(),c()}}function or(r,e){var i,a=0,t=0,n=0,k=0,u=0,s=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0;F=i=F-48|0,y=-1;r:if(me(1,i+24|0,e)){if(m=A[i+24>>2]){if(t=A[r+8>>2],(A[t+4>>2]-A[t>>2]>>2>>>0)/3>>>0<m>>>0)break r;for(h=r+36|0,t=0;;){if(!me(1,a=i+8|0,e))break r;if(n=A[i+8>>2]+n|0,A[i+16>>2]=n,!me(1,a,e))break r;if((a=A[i+8>>2])>>>0>n>>>0)break r;if(A[i+12>>2]=n-a,a=A[r+40>>2],A[i+28>>2]=a,u=A[r+44>>2],A[i+40>>2]=h,A[i+36>>2]=i+12,A[i+32>>2]=i+28,a>>>0<u>>>0)A[a+8>>2]=A[i+20>>2],u=A[i+16>>2],A[a>>2]=A[i+12>>2],A[a+4>>2]=u,a=a+12|0;else{a=A[i+40>>2],u=A[a>>2];e:{i:{if((k=1+((0|(s=A[a+4>>2]-u|0))/12|0)|0)>>>0<357913942){if(v=(l=(A[a+8>>2]-u|0)/12|0)<<1,(k=l>>>0>=178956970?357913941:k>>>0<v>>>0?v:k)>>>0>=357913942)break i;l=A[i+36>>2],N=ni(v=d(k,12)),A[(k=N+s|0)+8>>2]=A[l+8>>2],R=A[l+4>>2],A[k>>2]=A[l>>2],A[k+4>>2]=R,l=k+d((0|s)/-12|0,12)|0,s&&_(l,u,s),A[a+8>>2]=v+N,s=k+12|0,A[a+4>>2]=s,A[a>>2]=l,u&&fr(u),A[A[i+32>>2]>>2]=s;break e}uf(),c()}ji(),c()}a=A[i+28>>2]}if(A[r+40>>2]=a,(0|m)==(0|(t=t+1|0)))break}for(u=0,ri(e,0,0);;){t=b[e+36|0];e:{i:{if((65535&((n=o[A[r+4>>2]+36>>1])<<8|n>>>8))>>>0<=513){if(!(1&t))break e;if(n=0,(t=(y=(a=A[e+32>>2])>>>3|0)+(s=A[e+24>>2])|0)>>>0>=(k=A[e+28>>2])>>>0?t=a:(n=b[0|t],t=a+1|0,A[e+32>>2]=t,y=t>>>3|0,n=n>>>(7&a)|0),k>>>0>s+y>>>0)break i;break e}if(!(1&t))break e;if(n=0,t=A[e+32>>2],(a=A[e+24>>2]+(t>>>3|0)|0)>>>0>=p[e+28>>2])break e;n=b[0|a]>>>(7&t)|0}A[e+32>>2]=t+1}if(t=A[r+36>>2]+d(u,12)|0,f[t+8|0]=254&b[t+8|0]|1&n,(0|m)==(0|(u=u+1|0)))break}f[e+36|0]=0,a=A[e+20>>2],r=0,t=(n=((n=A[e+32>>2]+7|0)>>>0<7?1:r)<<29|n>>>3)+A[e+16>>2]|0,A[e+16>>2]=t,A[e+20>>2]=t>>>0<n>>>0?a+1|0:a}y=A[e+16>>2]}return F=i+48|0,y}function nr(r,e){var i,f,a,t=0,b=0,o=0,n=0,k=0,u=0,s=0,p=0,l=0;F=f=F-16|0,i=A[e>>2],A[f+4>>2]=i,e=-1,-1!=(0|i)?(e=i+1|0,A[f+8>>2]=(e>>>0)%3|0?e:i-2|0,e=(i>>>0)%3|0?i-1|0:i+2|0):A[f+8>>2]=-1,A[f+12>>2]=e,a=(i>>>0)/3|0;r:{e:{for(;;){i:if(-1!=(0|(p=A[(f+4|0)+(l<<2)>>2]))&&-1!=(0|(e=A[A[A[r+8>>2]+12>>2]+(p<<2)>>2]))){if(!(-1==(0|i)|(e>>>0)/3>>>0<a>>>0)&&(e=0,A[r+220>>2]!=A[r+216>>2]))for(;;){if(t=Ie(A[r+368>>2]+(e<<4)|0),b=A[r+216>>2],t){if(o=d(e,144)+b|0,(b=A[o+136>>2])>>>0<(t=A[o+140>>2])>>>0)A[b>>2]=p,t=b+4|0;else{if((n=(u=(s=b-(k=A[o+132>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(t=(b=t-k|0)>>1,(t=b>>>0>=2147483644?1073741823:t>>>0>n>>>0?t:n)>>>0>=1073741824)break r;t=ni(b=t<<2),A[(n=t+s|0)>>2]=p,u=n-(u<<2)|0,s&&_(u,k,s),A[o+140>>2]=b+t,t=n+4|0,A[o+136>>2]=t,A[o+132>>2]=u,k&&fr(k)}A[o+136>>2]=t,b=A[r+216>>2]}if(!((e=e+1|0)>>>0<(A[r+220>>2]-b|0)/144>>>0))break}}else{if(e=0,(0|(b=A[r+216>>2]))==A[r+220>>2])break i;for(;;){if(o=d(e,144)+b|0,(b=A[o+136>>2])>>>0<(t=A[o+140>>2])>>>0)A[b>>2]=p,t=b+4|0;else{if((n=(u=(s=b-(k=A[o+132>>2])|0)>>2)+1|0)>>>0>=1073741824)break e;if(t=(b=t-k|0)>>1,(t=b>>>0>=2147483644?1073741823:t>>>0>n>>>0?t:n)>>>0>=1073741824)break r;t=ni(b=t<<2),A[(n=t+s|0)>>2]=p,u=n-(u<<2)|0,s&&_(u,k,s),A[o+140>>2]=b+t,t=n+4|0,A[o+136>>2]=t,A[o+132>>2]=u,k&&fr(k)}if(A[o+136>>2]=t,e=e+1|0,b=A[r+216>>2],!(e>>>0<(A[r+220>>2]-b|0)/144>>>0))break}}if(3==(0|(l=l+1|0)))break}return F=f+16|0,1}uf(),c()}ji(),c()}function kr(r,e){var i=0,f=0,a=0,t=0,n=0,k=0,c=0,_=0,s=0,p=0,l=0,y=0,d=0;r:if(o[e+38>>1]&&Re(1,r+12|0,e)&&(i=(a=A[r+12>>2])>>>6|0,f=(n=A[e+8>>2])-(c=A[e+16>>2])|0,!(n=(0|(n=A[e+12>>2]-(A[e+20>>2]+(n>>>0<c>>>0)|0)|0))<0?1:(0|n)<=0&i>>>0>f>>>0))){if(n=r,Lr(r,a),!(k=A[r+12>>2]))return 1;for(f=A[e+16>>2],i=A[e+20>>2],c=A[e+8>>2],_=A[e+12>>2],r=0;;){if((0|i)>=(0|_)&f>>>0>=c>>>0|(0|i)>(0|_))break r;s=A[e>>2],t=b[s+f|0],i=(f=f+1|0)?i:i+1|0,A[e+16>>2]=f,A[e+20>>2]=i,a=t>>>2|0;e:{i:{f:{a:switch(0|(p=3&t)){case 0:break i;case 3:break a;default:break f}if((a=r+a|0)>>>0>=k>>>0)break r;if(s=A[n>>2],!(k=4+(252&t)|0)){r=a;break e}u((r<<2)+s|0,0,k),r=a;break e}for(k=(t=f>>>0>c>>>0&(0|i)>=(0|_)|(0|i)>(0|_))?f:c,l=t?i:_,t=0;;){if((0|f)==(0|k)&(0|i)==(0|l))return 0;if(y=b[f+s|0],i=(f=f+1|0)?i:i+1|0,A[e+16>>2]=f,A[e+20>>2]=i,a|=y<<(t<<3|6),(0|p)==(0|(t=t+1|0)))break}}s=A[n>>2],A[s+(r<<2)>>2]=a}if(!((r=r+1|0)>>>0<(k=A[n+12>>2])>>>0))break}if(Lr(n+16|0,4096),Kr(n+28|0,k),k){for(c=A[n+28>>2],e=0,r=0;;){if(f=A[(i=(e<<2)+s|0)>>2],a=r,A[(t=(e<<3)+c|0)+4>>2]=r,A[t>>2]=f,(r=(i=A[i>>2])+r|0)>>>0>4096)break r;if(!(r>>>0<=a>>>0)){if(f=A[n+16>>2],t=0,_=7&i)for(;A[f+(a<<2)>>2]=e,a=a+1|0,(0|_)!=(0|(t=t+1|0)););if(!(i-1>>>0<=6))for(;A[(i=f+(a<<2)|0)+28>>2]=e,A[i+24>>2]=e,A[i+20>>2]=e,A[i+16>>2]=e,A[i+12>>2]=e,A[i+8>>2]=e,A[i+4>>2]=e,A[i>>2]=e,(0|(a=a+8|0))!=(0|r););}if((0|k)==(0|(e=e+1|0)))break}d=4096==(0|r)}}return d}function cr(r,e,i,f){var a,t,b,o=0,n=0,k=0,c=0,u=0;if(t=A[e+16>>2],a=A[i+4>>2]-t|0,o=A[i>>2]-t|0,A[i>>2]=o,A[i+4>>2]=a,b=(k=A[e+16>>2])>>>0>=(c=((n=a>>31)^a)-n|0)+(((n=o>>31)^o)-n|0)>>>0)k=a;else{r:{e:{if((0|o)>=0){if(u=1,c=1,(0|a)>=0)break r;if(n=1,u=-1,c=-1,o)break e;break r}if(n=-1,u=-1,c=-1,(0|a)<=0)break r}u=(0|a)<=0?-1:1,c=n}n=d(k,u),k=(o<<1)-(o=d(k,c))|0,k=(n+((c=(0|d(c,u))>=0)?0-k|0:k)|0)/2|0,A[i+4>>2]=k,n=(a<<1)-n|0,o=((c?0-n|0:n)+o|0)/2|0,A[i>>2]=o}r:{e:{i:{f:{a:{t:{if(o){if((0|o)<0)break t;if((0|k)<0)break i;n=0-k|0,k=0-o|0,c=2;break e}if(k)break a;u=1,n=0,k=0,c=0;break r}if(u=1,n=(0|k)>0)break f;c=n?3:0,n=k,k=o;break r}if((0|k)<=0)break i}k=0-k|0,n=o,c=3;break e}n=0-o|0,c=1}A[i>>2]=k,A[i+4>>2]=n,u=0}(0|(o=A[f>>2]+k|0))>(0|(k=A[e+16>>2]))?o=o-A[e+4>>2]|0:(0-k|0)<=(0|o)||(o=A[e+4>>2]+o|0),(0|k)<(0|(i=A[f+4>>2]+n|0))?i=i-A[e+4>>2]|0:(0-k|0)<=(0|i)||(i=A[e+4>>2]+i|0);r:if(u)e=i;else{e=i;e:{i:{f:switch(((f=4-c|0)>>>0<4?f:0-c|0)-1|0){case 0:break f;case 1:break i;case 2:break e;default:break r}e=0-o|0,o=i;break r}e=0-i|0,o=0-o|0;break r}e=o,o=0-i|0}if(b)i=e;else{r:{e:{if((0|o)>=0){if(i=1,n=1,(0|e)>=0)break r;if(f=1,i=-1,n=-1,o)break e;break r}if(f=-1,i=-1,n=-1,(0|e)<=0)break r}i=(0|e)<=0?-1:1,n=f}o=(o<<1)-(f=d(n,k))|0,i=((c=(n=(0|d(i,n))>=0)?0-o|0:o)+(o=d(i,k))|0)/2|0,e=(e<<1)-o|0,o=(f+(n?0-e|0:e)|0)/2|0}e=i+t|0,A[(i=r)>>2]=o+t,A[i+4>>2]=e}function ur(r,e){r|=0;var i,f=0,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0,p=0,l=0,y=0,v=0;F=i=F-80|0;r:if(he(1,i+76|0,e|=0)&&(_=A[i+76>>2])&&(f=ze((f=A[e+8>>2])-(t=A[e+16>>2])|0,A[e+12>>2]-(A[e+20>>2]+(f>>>0<t>>>0)|0)|0,5,0),!(f=(0|(t=j))<0?1:f>>>0<_>>>0&(0|t)<=0))){for(Lr(r+4|0,_),y=r+16|0,c=A[r+32>>2];;){if(!((0|(f=o=A[e+12>>2]))<=(0|(a=A[e+20>>2]))&(u=A[e+8>>2])>>>0<=(t=A[e+16>>2])>>>0|(0|f)<(0|a))&&(s=A[e>>2],v=b[s+t|0],f=a,f=(n=t+1|0)?f:f+1|0,A[e+16>>2]=n,A[e+20>>2]=f,!((0|f)>=(0|o)&n>>>0>=u>>>0|(0|f)>(0|o))&&(n=b[n+s|0],f=a,f=(k=t+2|0)>>>0<2?f+1|0:f,A[e+16>>2]=k,A[e+20>>2]=f,!((0|f)>=(0|o)&k>>>0>=u>>>0|(0|f)>(0|o))&&(k=b[k+s|0],f=a,f=(p=t+3|0)>>>0<3?f+1|0:f,A[e+16>>2]=p,A[e+20>>2]=f,!(u>>>0<=p>>>0&(0|f)>=(0|o)|(0|f)>(0|o))&&(u=b[s+p|0],f=a,f=(a=t+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=a,A[e+20>>2]=f,!(!k|(n-12&255)>>>0<245|v>>>0>4)&&(f=Ke(i+8|0),o=!!(0|u),a=(a=n-1|0)>>>0<=10?b[a+10100|0]:-1,ui(f,v,k,n,o,a=d(a,k),a>>31),he(1,i+4|0,e))))))){if(a=A[i+4>>2],A[i+68>>2]=a,f=zr(ni(96),f),Uf[A[A[c>>2]+8>>2]](c,A[c+12>>2]-A[c+8>>2]>>2,f),f=(A[c+12>>2]-A[c+8>>2]>>2)-1|0,A[A[(t=f<<2)+A[c+8>>2]>>2]+60>>2]=a,A[A[r+4>>2]+(l<<2)>>2]=f,a=A[r+16>>2],(0|f)>=A[r+20>>2]-a>>2&&(A[i>>2]=-1,Ir(y,f+1|0,i),a=A[y>>2]),A[a+t>>2]=l,a=1,(0|(l=l+1|0))!=(0|_))continue;break r}break}a=0}return F=i+80|0,0|a}function _r(r,e){r|=0;var i,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0;if(F=i=F-16|0,o=A[(e|=0)+20>>2],o=(k=(a=A[e+16>>2])+4|0)>>>0<4?o+1|0:o,t=A[e+12>>2],!(p[e+8>>2]<k>>>0&(0|t)<=(0|o)|(0|t)<(0|o))&&(a=a+A[e>>2]|0,n=b[0|a]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,A[e+16>>2]=k,A[e+20>>2]=o,!((0|n)<0)&&!(-1!=(0|(a=A[r+104>>2]))&(0|a)<(0|n))&&(ae(r+76|0,n),f[(a=i)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,Wr(a,e)))){if(t=a,n)for(k=1;o=1<<u,_=Ie(t),s=A[r+76>>2]+(u>>>3&536870908)|0,1&(a=_^c)?o|=A[s>>2]:o=A[s>>2]&(-1^o),c=k^_,A[s>>2]=o,k=a,(0|n)!=(0|(u=u+1|0)););u=0,a=A[e+8>>2],o=t=A[e+12>>2],k=t=A[e+20>>2],a>>>0<(t=(c=A[e+16>>2])+4|0)>>>0&(0|o)<=(0|(_=t>>>0<4?k+1|0:k))|(0|o)<(0|_)||(s=A[e>>2],n=b[0|(n=s+c|0)]|b[n+1|0]<<8|b[n+2|0]<<16|b[n+3|0]<<24,A[e+16>>2]=t,A[e+20>>2]=_,a>>>0<(c=c+8|0)>>>0&(0|o)<=(0|(k=c>>>0<8?k+1|0:k))|(0|o)<(0|k)||(t=b[0|(a=t+s|0)]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,A[e+16>>2]=c,A[e+20>>2]=k,(0|t)<(0|n)||(A[r+16>>2]=t,A[r+12>>2]=n,!(e=(t>>31)-((n>>31)+(t>>>0<n>>>0)|0)|0)&(a=t-n|0)>>>0>2147483646|e||(u=1,e=a+1|0,A[r+20>>2]=e,e=e>>>1|0,A[r+24>>2]=e,A[r+28>>2]=0-e,1&a&&(A[r+24>>2]=e-1)))))}return F=i+16|0,0|u}function sr(r,e){var i=0,f=0,a=0,t=0;t=-1,a=-1,-1!=(0|(i=A[e>>2]))&&(t=((e=i+1|0)>>>0)%3|0?e:i-2|0,a=i-1|0,(i>>>0)%3|0||(a=i+2|0));r:{e:switch(A[r+168>>2]){case 0:case 1:f=A[r+148>>2],i=(e=A[r+156>>2])+((-1==(0|t)?-1:A[A[f>>2]+(t<<2)>>2])<<2)|0,A[i>>2]=A[i>>2]+1,e=((-1==(0|a)?-1:A[A[f>>2]+(a<<2)>>2])<<2)+e|0,A[e>>2]=A[e>>2]+1;break r;case 5:f=A[r+148>>2],e=-1,i=(-1!=(0|i)?A[A[f>>2]+(i<<2)>>2]:e)<<2,e=A[r+156>>2],A[(i=i+e|0)>>2]=A[i>>2]+1,i=((-1==(0|t)?-1:A[A[f>>2]+(t<<2)>>2])<<2)+e|0,A[i>>2]=A[i>>2]+1,e=((-1==(0|a)?-1:A[A[f>>2]+(a<<2)>>2])<<2)+e|0,A[e>>2]=A[e>>2]+2;break r;case 3:f=A[r+148>>2],e=-1,i=(-1!=(0|i)?A[A[f>>2]+(i<<2)>>2]:e)<<2,e=A[r+156>>2],A[(i=i+e|0)>>2]=A[i>>2]+1,i=((-1==(0|t)?-1:A[A[f>>2]+(t<<2)>>2])<<2)+e|0,A[i>>2]=A[i>>2]+2,e=((-1==(0|a)?-1:A[A[f>>2]+(a<<2)>>2])<<2)+e|0,A[e>>2]=A[e>>2]+1;break r;case 7:break e;default:break r}f=A[r+148>>2],e=-1,i=(-1!=(0|i)?A[A[f>>2]+(i<<2)>>2]:e)<<2,e=A[r+156>>2],A[(i=i+e|0)>>2]=A[i>>2]+2,i=((-1==(0|t)?-1:A[A[f>>2]+(t<<2)>>2])<<2)+e|0,A[i>>2]=A[i>>2]+2,e=((-1==(0|a)?-1:A[A[f>>2]+(a<<2)>>2])<<2)+e|0,A[e>>2]=A[e>>2]+2}e=-1,a=f=A[r+176>>2],(0|(i=A[A[r+156>>2]+((-1!=(0|t)?A[A[A[r+148>>2]>>2]+(t<<2)>>2]:e)<<2)>>2]))>=(0|f)&&(a=(0|(e=A[r+180>>2]))>(0|i)?i:e),A[r+172>>2]=a-f}function pr(r,e,i,a){r|=0,i|=0,a|=0;var t,o,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0;F=t=F-16|0,o=A[(e|=0)+80>>2],r=b[i+24|0],e=d(o,r);r:{e:{n=A[i+28>>2];i:if(!(1&f[i+84|0])|5!=(0|n)&6!=(0|n)){f:{if(!r){if(Lr(a,e),o)break f;n=1;break i}if(k=ni(n=r<<2),n&&u(k,0,n),Lr(a,e),!o){n=1,fr(k);break i}for(h=252&r,m=3&r,R=r>>>0<4,e=0;;){if(A[t+12>>2]=b[i+84|0]?s:A[A[i+68>>2]+(s<<2)>>2],n=O(i,t+12|0,f[i+24|0],k)){N=A[a>>2],y=0,v=0,r=0;a:{if(!R){for(;l=k+(r<<2)|0,A[(p=(e<<2)+N|0)>>2]=A[l>>2],A[p+4>>2]=A[l+4>>2],A[p+8>>2]=A[l+8>>2],A[p+12>>2]=A[l+12>>2],r=r+4|0,e=e+4|0,(0|h)!=(0|(v=v+4|0)););if(!m)break a}for(;A[(e<<2)+N>>2]=A[k+(r<<2)>>2],r=r+1|0,e=e+1|0,(0|(y=y+1|0))!=(0|m););}if((0|o)!=(0|(s=s+1|0)))continue}break}fr(k);break i}for(e=0;A[t+12>>2]=b[i+84|0]?e:A[A[i+68>>2]+(e<<2)>>2],O(i,t+12|0,f[i+24|0],0),n=1,(0|o)!=(0|(e=e+1|0)););}else{if(e){if((0|e)<0)break e;n=A[i+48>>2],i=A[A[i>>2]>>2],r=ni(e<<=2),e&&_(r,i+n|0,e),e=r+e|0}else r=0,e=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=e,A[a+4>>2]=e,A[a>>2]=r,n=1}F=t+16|0;break r}uf(),c()}return 0|n}function lr(r,e){var i=0,a=0,t=0,o=0;t=(0|r)==(0|e),f[e+12|0]=t;r:if(!t){for(;;){if(t=A[e+8>>2],b[t+12|0])break r;e:{i=A[t+8>>2];i:{if((0|t)==(0|(a=A[i>>2]))){if(!(!(o=A[i+4>>2])|b[o+12|0])){f[t+12|0]=1,f[i+12|0]=(0|r)==(0|i),f[o+12|0]=1;break i}return A[t>>2]!=(0|e)?(e=A[t+4>>2],r=A[e>>2],A[t+4>>2]=r,r?(A[r+8>>2]=t,a=A[t+8>>2],r=A[a>>2],A[e+8>>2]=a,(0|r)!=(0|t)?A[a+4>>2]=e:A[a>>2]=e):(A[e+8>>2]=i,A[i>>2]=e),A[e>>2]=t,A[t+8>>2]=e,i=A[e+8>>2],a=A[i>>2]):e=t,f[e+12|0]=1,f[i+12|0]=0,r=A[a+4>>2],A[i>>2]=r,r&&(A[r+8>>2]=i),r=A[i+8>>2],A[a+8>>2]=r,A[r>>2]!=(0|i)?A[r+4>>2]=a:A[r>>2]=a,A[a+4>>2]=i,void(A[i+8>>2]=a)}if(b[a+12|0]|!a)break e;f[t+12|0]=1,f[i+12|0]=(0|r)==(0|i),f[a+12|0]=1}if(e=i,(0|r)!=(0|i))continue;break r}break}(0|(a=A[t>>2]))==(0|e)?(r=A[a+4>>2],A[t>>2]=r,r&&(A[r+8>>2]=t,i=A[t+8>>2]),A[a+8>>2]=i,(0|t)!=A[i>>2]?A[i+4>>2]=a:A[i>>2]=a,A[a+4>>2]=t,A[t+8>>2]=a,i=A[a+8>>2]):a=t,f[a+12|0]=1,f[i+12|0]=0,e=A[i+4>>2],r=A[e>>2],A[i+4>>2]=r,r&&(A[r+8>>2]=i),r=A[i+8>>2],A[e+8>>2]=r,A[r>>2]!=(0|i)?A[r+4>>2]=e:A[r>>2]=e,A[e>>2]=i,A[i+8>>2]=e}}function yr(r){var e,i,f=0,a=0,t=0,b=0;if(F=i=F-16|0,A[(r|=0)>>2]=8292,(f=A[(e=r+232|0)+196>>2])&&(A[e+200>>2]=f,fr(f)),a=A[e+184>>2]){if((0|(f=a))!=(0|(t=A[e+188>>2]))){for(;(b=A[(f=t-12|0)>>2])&&(A[t-8>>2]=b,fr(b)),t=f,(0|f)!=(0|a););f=A[e+184>>2]}A[e+188>>2]=a,fr(f)}if((f=A[e+156>>2])&&(A[e+160>>2]=f,fr(f)),a=A[e+136>>2],A[e+136>>2]=0,a){if(f=A[(t=a-4|0)>>2])for(f=a+(f<<4)|0;(0|a)!=(0|(f=f-16|0)););fr(t)}if(A[i+12>>2]=r+216,ve(i+12|0),(f=A[r+196>>2])&&(A[r+200>>2]=f,fr(f)),(f=A[r+184>>2])&&(A[r+188>>2]=f,fr(f)),(f=A[r+172>>2])&&(A[r+176>>2]=f,fr(f)),(f=A[r+160>>2])&&(A[r+164>>2]=f,fr(f)),f=A[r+144>>2])for(;a=A[f>>2],fr(f),f=a;);return f=A[r+136>>2],A[r+136>>2]=0,f&&fr(f),(f=A[r+120>>2])&&fr(f),(f=A[r+108>>2])&&fr(f),(f=A[r+96>>2])&&fr(f),(f=A[r+72>>2])&&(A[r+76>>2]=f,fr(f)),(f=A[r+60>>2])&&fr(f),(f=A[r+48>>2])&&(A[r+52>>2]=f,fr(f)),(f=A[r+36>>2])&&(A[r+40>>2]=f,fr(f)),(f=A[r+24>>2])&&(A[r+28>>2]=f,fr(f)),(f=A[r+12>>2])&&(A[r+16>>2]=f,fr(f)),f=A[r+8>>2],A[r+8>>2]=0,f&&Ye(f),F=i+16|0,0|r}function dr(r,e,i){var f=0,a=0,t=0,b=0,o=0,n=0,k=0,u=0,_=0;if((f=A[r+8>>2])-(a=A[r>>2])>>2>>>0>=e>>>0){if(n=e>>>0>(k=(t=A[r+4>>2])-a>>2)>>>0?k:e){if(b=A[i>>2],f=a,u=7&(o=n))for(;A[f>>2]=b,o=o-1|0,f=f+4|0,(0|(_=_+1|0))!=(0|u););if(!(n>>>0<8))for(;A[f+28>>2]=b,A[f+24>>2]=b,A[f+20>>2]=b,A[f+16>>2]=b,A[f+12>>2]=b,A[f+8>>2]=b,A[f+4>>2]=b,A[f>>2]=b,f=f+32|0,o=o-8|0;);}if(e>>>0>k>>>0){for(e=(e-k<<2)+t|0,i=A[i>>2];A[t>>2]=i,(0|e)!=(0|(t=t+4|0)););return void(A[r+4>>2]=e)}A[r+4>>2]=a+(e<<2)}else if(a&&(A[r+4>>2]=a,fr(a),A[r+8>>2]=0,A[r>>2]=0,A[r+4>>2]=0,f=0),e>>>0>=1073741824||(a=f>>1,(f=f>>>0>=2147483644?1073741823:e>>>0<a>>>0?a:e)>>>0>=1073741824))uf(),c();else{if(a=ni(f<<=2),A[r>>2]=a,A[r+8>>2]=f+a,i=A[i>>2],f=a,n=1+((o=(e<<=2)-4|0)>>>2|0)&7)for(;A[f>>2]=i,f=f+4|0,(0|n)!=(0|(t=t+1|0)););if(e=e+a|0,o>>>0>=28)for(;A[f+28>>2]=i,A[f+24>>2]=i,A[f+20>>2]=i,A[f+16>>2]=i,A[f+12>>2]=i,A[f+8>>2]=i,A[f+4>>2]=i,A[f>>2]=i,(0|e)!=(0|(f=f+32|0)););A[r+4>>2]=e}}function vr(r,e,i){r|=0,e|=0,i|=0;var f,a=0,t=0,o=0,n=0,k=0,c=v(0),u=0,s=0,p=0,y=0,d=0,m=0,N=0,h=0,R=0,W=0,U=0;if(F=f=F-16|0,9==A[i+28>>2]){a=A[r+4>>2],o=ni(t=(n=b[i+24|0])<<2),A[(s=f+12|0)>>2]=1065353216,c=l[r+20>>2],(0|(a=~(-1<<a)))>0&&(l[s>>2]=c/v(a>>>0));r:if((d=(0|a)>0)&&(u=A[i+80>>2]))if(n)for(m=A[A[e>>2]>>2]+A[e+48>>2]|0,W=254&n,U=1&n,e=0;;){p=A[r+8>>2],c=l[s>>2],y=0,a=0;e:{if(1!=(0|n)){for(;N=(e<<2)+m|0,l[(k=a<<2)+o>>2]=v(c*v(A[N>>2]))+l[k+p>>2],l[(k|=4)+o>>2]=v(c*v(A[N+4>>2]))+l[k+p>>2],a=a+2|0,e=e+2|0,(0|W)!=(0|(y=y+2|0)););if(!U)break e}l[(a<<=2)+o>>2]=v(c*v(A[(e<<2)+m>>2]))+l[a+p>>2],e=e+1|0}if(t&&_(A[A[i+64>>2]>>2]+h|0,o,t),h=t+h|0,(0|(R=R+1|0))==(0|u))break}else{if(n=3&u,u>>>0>=4){for(e=-4&u,a=0;(r=!t)||_(A[A[i+64>>2]>>2],o,t),r||_(A[A[i+64>>2]>>2],o,t),r||_(A[A[i+64>>2]>>2],o,t),r||_(A[A[i+64>>2]>>2],o,t),(0|e)!=(0|(a=a+4|0)););if(!n)break r}for(e=0;t&&_(A[A[i+64>>2]>>2],o,t),(0|n)!=(0|(e=e+1|0)););}fr(o)}return F=f+16|0,0|d}function mr(r,e,i,f){var a=0,t=0,A=0,b=0,o=0,n=0,k=0,c=0,u=0;r:{e:{i:{f:{a:{t:{A:{b:{o:{n:{k:{if(e){if(!i)break k;if(!f)break n;if((a=N(f)-N(e)|0)>>>0<=31)break o;break i}if(1==(0|f)|f>>>0>1)break i;j=0,r=(r>>>0)/(i>>>0)|0;break r}if(!r)break b;if(!f|f-1&f)break A;r=e>>>Bi(f)|0,j=0;break r}if(!(i-1&i))break t;A=0-(b=(N(i)+33|0)-N(e)|0)|0;break f}b=a+1|0,A=63-a|0;break f}j=0,r=(e>>>0)/(f>>>0)|0;break r}if((a=N(f)-N(e)|0)>>>0<31)break a;break i}if(1==(0|i))break e;i=31&(f=Bi(i)),(63&f)>>>0>=32?r=e>>>i|0:(a=e>>>i|0,r=((1<<i)-1&e)<<32-i|r>>>i),j=a;break r}b=a+1|0,A=63-a|0}if(t=31&(a=63&b),a>>>0>=32?(a=0,o=e>>>t|0):(a=e>>>t|0,o=((1<<t)-1&e)<<32-t|r>>>t),t=31&(A&=63),A>>>0>=32?(e=r<<t,r=0):(e=(1<<t)-1&r>>>32-t|e<<t,r<<=t),b)for(t=f-1|0,u=-1!=(0|(A=i-1|0))?t+1|0:t;n=a<<1|o>>>31,o=(a=o<<1|e>>>31)-(k=i&(t=u-(n+(a>>>0>A>>>0)|0)>>31))|0,a=n-((f&t)+(a>>>0<k>>>0)|0)|0,e=e<<1|r>>>31,r=c|r<<1,c=1&t,b=b-1|0;);j=e<<1|r>>>31,r=c|r<<1;break r}r=0,e=0}j=e}return r}function Nr(r,e){var i,a=0,t=0,b=0,o=0,n=0,k=0,u=0;F=i=F-16|0;r:{e:{if(e){if(A[r+88>>2]=0,A[r+92>>2]=0,a=A[r+84>>2],A[r+84>>2]=0,a&&fr(a),A[r+76>>2]=0,A[r+80>>2]=0,a=A[r+72>>2],A[r+72>>2]=0,a&&fr(a),t=A[e>>2],a=A[e+4>>2],f[i+15|0]=0,te(r,a-t>>2,i+15|0),t=A[e+24>>2],a=A[e+28>>2],f[i+14|0]=0,te(r+12|0,a-t>>2,i+14|0),dr(r+28|0,A[e+4>>2]-A[e>>2]>>2,10188),o=A[e+28>>2]-A[e+24>>2]|0,b=A[r+52>>2],!(o>>>0<=A[r+60>>2]-b>>>0)){if((0|o)<0)break e;if(k=A[r+56>>2],u=(n=ni(o))+o|0,(0|b)!=(0|k))for(t=b,a=n;A[a>>2]=A[t>>2],a=a+4|0,(0|k)!=(0|(t=t+4|0)););A[r+60>>2]=u,A[r+56>>2]=n+(k-b|0),A[r+52>>2]=n,b&&(fr(b),o=A[e+28>>2]-A[e+24>>2]|0)}if(b=A[r+40>>2],!(A[r+48>>2]-b>>>0>=o>>>0)){if((0|o)<0)break r;if(k=A[r+44>>2],u=(n=ni(o))+o|0,(0|b)!=(0|k))for(t=b,a=n;A[a>>2]=A[t>>2],a=a+4|0,(0|k)!=(0|(t=t+4|0)););A[r+48>>2]=u,A[r+44>>2]=n+(k-b|0),A[r+40>>2]=n,b&&fr(b)}f[r+24|0]=1,A[r+64>>2]=e}return void(F=i+16|0)}uf(),c()}uf(),c()}function hr(r,e,i){r|=0,e|=0,i|=0;var f,a=0,t=0,b=0,o=0,n=0,k=0,s=0;if(F=f=F-32|0,A[f+8>>2]=e,(a=A[r+12>>2])-(b=A[r+8>>2])>>2<=(0|e))r:{e:{i:{if((t=e+1|0)>>>0>(o=(k=a-b|0)>>2)>>>0){if(t>>>0<=(n=A[r+16>>2]-b|0)>>2>>>0){(t=t-o<<2)&&u(a,0,t),A[r+12>>2]=a+t;break r}if(t>>>0>=1073741824)break i;if(a=n>>1,(a=n>>>0>=2147483644?1073741823:a>>>0>t>>>0?a:t)>>>0>=1073741824)break e;if(a=(s=ni(n=a<<2))+k|0,(t=t-o<<2)&&u(a,0,t),o=a-(o<<2)|0,k&&_(o,b,k),A[r+16>>2]=n+s,A[r+12>>2]=a+t,A[r+8>>2]=o,!b)break r;fr(b);break r}if(t>>>0>=o>>>0)break r;if((0|(t=b+(t<<2)|0))!=(0|a))for(;b=A[(a=a-4|0)>>2],A[a>>2]=0,b&&ge(b),(0|a)!=(0|t););A[r+12>>2]=t;break r}uf(),c()}ji(),c()}(0|(a=A[i+56>>2]))<=4&&(a=d(a,12)+r|0,t=A[a+24>>2],A[f+12>>2]=t,b=A[a+28>>2],A[f+24>>2]=a+20,A[f+20>>2]=f+8,A[f+16>>2]=f+12,t>>>0<b>>>0?(A[t>>2]=e,e=t+4|0):(oe(f+16|0),e=A[f+12>>2]),A[a+24>>2]=e,e=A[f+8>>2]),A[i+60>>2]=e,e=A[r+8>>2]+(e<<2)|0,r=A[e>>2],A[e>>2]=i,r&&ge(r),F=f+32|0}function Rr(r,e,i,f){var a=0,t=0,b=0,o=0;r:{e:if(e){if((0|f)<0)return 0;i:if(!((0|f)<=0&i>>>0<=(a=(t=A[r+4>>2])-(o=A[r>>2])|0)>>>0|(0|f)<0))if(i>>>0>a>>>0){if((b=A[r+8>>2]-o|0)>>>0>=i>>>0){(f=i-a|0)&&u(t,0,f),A[r+4>>2]=f+t;break i}if((0|i)<0)break r;if(f=b<<1,t=ni(b=b>>>0>=1073741823?2147483647:i>>>0<f>>>0?f:i),(f=i-a|0)&&u(a+t|0,0,f),a&&_(t,o,a),A[r+8>>2]=t+b,A[r+4>>2]=i+t,A[r>>2]=t,!o)break i;fr(o)}else i>>>0>=a>>>0||(A[r+4>>2]=i+o);i&&_(A[r>>2],e,i)}else{if((0|f)<0)return 0;if((t=(a=A[r+4>>2])-(b=A[r>>2])|0)>>>0<i>>>0){if((f=A[r+8>>2]-b|0)>>>0>=i>>>0){(e=i-t|0)&&u(a,0,e),A[r+4>>2]=e+a;break e}if((0|i)<0)break r;if(e=f<<1,a=ni(f=f>>>0>=1073741823?2147483647:e>>>0>i>>>0?e:i),(e=i-t|0)&&u(a+t|0,0,e),t&&_(a,b,t),A[r+8>>2]=f+a,A[r+4>>2]=i+a,A[r>>2]=a,!b)break e;fr(b);break e}if(i>>>0>=t>>>0)break e;A[r+4>>2]=i+b}return i=A[r+28>>2],i=(e=A[r+24>>2]+1|0)?i:i+1|0,A[r+24>>2]=e,A[r+28>>2]=i,1}uf(),c()}function Wr(r,e){var i,a=0,t=0,o=0,n=0,k=0,c=0,u=0;F=i=F-16|0;r:if(!((0|(n=A[e+20>>2]))>=(0|(k=A[e+12>>2]))&(t=A[e+16>>2])>>>0>=p[e+8>>2]|(0|n)>(0|k))&&(f[r+12|0]=b[t+A[e>>2]|0],t=A[e+20>>2],t=(n=A[e+16>>2]+1|0)?t:t+1|0,A[e+16>>2]=n,A[e+20>>2]=t,We(1,i+12|0,e)&&(t=A[i+12>>2],a=(o=A[e+8>>2])-(n=A[e+16>>2])|0,k=A[e+20>>2],!((a=(0|(o=A[e+12>>2]-(k+(o>>>0<n>>>0)|0)|0))<0?1:(0|o)<=0&t>>>0>a>>>0)|(0|t)<=0)))){a=n+A[e>>2]|0,A[r>>2]=a;e:{i:{f:{a:{t:switch((b[0|(c=(o=t-1|0)+a|0)]>>>6|0)-1|0){case 2:break r;case 0:break t;case 1:break a;default:break f}if(1==(0|t))break r;o=t-2|0,A[r+4>>2]=o,a=16383&(b[0|(a=a+o|0)]|b[a+1|0]<<8);break i}if(t>>>0<3)break r;if(A[r+4>>2]=t-3,a=(b[0|(a=(o=t+a|0)-2|0)]|b[a+1|0]<<8)<<8&4194048,A[r+8>>2]=4096+(a|b[o-3|0]),a>>>0<=1044479)break e;break r}A[r+4>>2]=o,a=63&b[0|c]}A[r+8>>2]=a+4096}k=(r=t+n|0)>>>0<t>>>0?k+1|0:k,A[e+16>>2]=r,A[e+20>>2]=k,u=1}return F=i+16|0,u}function Ur(r,e){var i,f=0,a=0,t=0,o=0,n=0,k=0,c=0;F=i=F-16|0;r:if(_e(1,i+8|0,e)&&(f=(t=A[e+8>>2])-(o=A[e+16>>2])|0,a=A[i+12>>2],n=o>>>0>t>>>0,t=A[e+20>>2],!((0|a)==(0|(k=A[e+12>>2]-(n+t|0)|0))&(n=f)>>>0<(f=A[i+8>>2])>>>0|a>>>0>k>>>0||(a=a+t|0,a=(t=f+o|0)>>>0<o>>>0?a+1|0:a,A[e+16>>2]=t,A[e+20>>2]=a,(0|f)<=0)))){e=A[e>>2]+o|0,A[r+40>>2]=e;e:{i:{f:{a:{t:switch((b[0|(a=e+(o=f-1|0)|0)]>>>6|0)-1|0){case 0:break a;case 1:break f;case 2:break i;default:break t}A[r+44>>2]=o,e=63&b[0|a];break e}if(1==(0|f))break r;f=f-2|0,A[r+44>>2]=f,e=16383&(b[0|(e=e+f|0)]|b[e+1|0]<<8);break e}if(f>>>0<3)break r;A[r+44>>2]=f-3,e=(b[0|(f=(e=e+f|0)-2|0)]|b[f+1|0]<<8)<<8&4194048|b[e-3|0];break e}if(f>>>0<4)break r;f=f-4|0,A[r+44>>2]=f,e=1073741823&(b[0|(e=e+f|0)]|b[e+1|0]<<8|b[e+2|0]<<16|b[e+3|0]<<24)}A[r+48>>2]=e+16384,c=e>>>0<4177920}return F=i+16|0,c}function Gr(r,e,i){r|=0,e|=0,i|=0;var a=0,t=v(0),o=v(0),k=v(0),c=v(0),u=v(0),_=0,p=v(0),l=v(0),y=v(0),d=v(0),N=0;if(!(9!=A[i+28>>2]|3!=b[i+24|0])&&!((r=A[r+4>>2])-2>>>0>28)&&(N=1,_=A[i+80>>2]))for(p=v(v(2)/v((1<<r)-2>>>0)),i=A[A[i>>2]>>2]+A[i+48>>2]|0,r=A[A[e>>2]>>2]+A[e+48>>2]|0,e=0;k=v(0),l=v(0),y=v(0),t=v(v(v(A[r>>2])*p)+v(-1)),o=v(v(v(A[r+4>>2])*p)+v(-1)),c=(u=v(v(v(1)-v(m(t)))-v(m(o))))>v(0)?v(0):v(-u),d=v(-c),o=v(o+(o<v(0)?c:d)),t=v(t+(t<v(0)?c:d)),+(c=v(v(o*o)+v(v(u*u)+v(t*t))))<1e-6||(k=v(v(1)/v(U(c))),y=v(o*k),l=v(t*k),k=v(u*k)),r=r+8|0,s(y),a=n(2),f[i+8|0]=a,f[i+9|0]=a>>>8,f[i+10|0]=a>>>16,f[i+11|0]=a>>>24,s(l),a=n(2),f[i+4|0]=a,f[i+5|0]=a>>>8,f[i+6|0]=a>>>16,f[i+7|0]=a>>>24,s(k),a=n(2),f[0|i]=a,f[i+1|0]=a>>>8,f[i+2|0]=a>>>16,f[i+3|0]=a>>>24,i=i+12|0,(0|_)!=(0|(e=e+1|0)););return 0|N}function Zr(r,e){var i,a,t,b=0,o=0,n=0;a=A[r>>2],b=A[e>>2],A[(e=a+(b>>>3&536870908)|0)>>2]=A[e>>2]|1<<b,i=A[r+64>>2],e=-1,(n=-1==(0|b))||(e=-1,-1!=(0|(o=((o=b+1|0)>>>0)%3|0?o:b-2|0))&&(e=A[A[i>>2]+(o<<2)>>2])),o=A[r+12>>2],A[(t=(e>>>3&536870908)+o|0)>>2]=A[t>>2]|1<<e;r:{if(!n){e:{if((b>>>0)%3|0)n=b-1|0;else if(e=-1,-1==(0|(n=b+2|0)))break e;e=A[A[i>>2]+(n<<2)>>2]}if(A[(n=(e>>>3&536870908)+o|0)>>2]=A[n>>2]|1<<e,e=-1,-1==(0|(b=A[A[i+12>>2]+(b<<2)>>2])))break r;f[r+24|0]=0,A[(r=(b>>>3&536870908)+a|0)>>2]=A[r>>2]|1<<b,-1!=(0|(r=((r=b+1|0)>>>0)%3|0?r:b-2|0))&&(e=A[A[i>>2]+(r<<2)>>2]),A[(r=o+(e>>>3&536870908)|0)>>2]=A[r>>2]|1<<e;e:{if((b>>>0)%3|0)e=b-1|0;else if(r=-1,-1==(0|(e=b+2|0)))break e;r=A[A[i>>2]+(e<<2)>>2]}return void(A[(e=(r>>>3&536870908)+o|0)>>2]=A[e>>2]|1<<r)}A[o+536870908>>2]=-2147483648|A[o+536870908>>2]}}function Vr(r){var e,i,f=0,a=0,t=0;if(F=e=F-16|0,A[(r|=0)>>2]=8240,i=A[r+368>>2],A[r+368>>2]=0,i){if(f=A[(t=i-4|0)>>2])for(a=(f<<4)+i|0;(0|i)!=(0|(a=a-16|0)););fr(t)}if(A[e+12>>2]=r+216,ve(e+12|0),(f=A[r+196>>2])&&(A[r+200>>2]=f,fr(f)),(f=A[r+184>>2])&&(A[r+188>>2]=f,fr(f)),(f=A[r+172>>2])&&(A[r+176>>2]=f,fr(f)),(f=A[r+160>>2])&&(A[r+164>>2]=f,fr(f)),a=A[r+144>>2])for(;f=A[a>>2],fr(a),a=f,f;);return f=A[r+136>>2],A[r+136>>2]=0,f&&fr(f),(f=A[r+120>>2])&&fr(f),(f=A[r+108>>2])&&fr(f),(f=A[r+96>>2])&&fr(f),(f=A[r+72>>2])&&(A[r+76>>2]=f,fr(f)),(f=A[r+60>>2])&&fr(f),(f=A[r+48>>2])&&(A[r+52>>2]=f,fr(f)),(f=A[r+36>>2])&&(A[r+40>>2]=f,fr(f)),(f=A[r+24>>2])&&(A[r+28>>2]=f,fr(f)),(f=A[r+12>>2])&&(A[r+16>>2]=f,fr(f)),f=A[r+8>>2],A[r+8>>2]=0,f&&Ye(f),F=e+16|0,0|r}function Tr(r,e,i){i|=0;var f=0,a=0,t=0,o=0,n=0,k=0,c=0;return Lr((r|=0)+8|0,b[(e|=0)+24|0]),e=0,c=A[i+8>>2],o=A[i+12>>2],k=A[i+20>>2],n=A[r+8>>2],(0|o)<=(0|(k=(a=A[r+12>>2]-n|0)>>>0>(t=a+(f=A[i+16>>2])|0)>>>0?k+1|0:k))&t>>>0>c>>>0|(0|o)<(0|k)||(a&&_(n,f+A[i>>2]|0,a),f=A[i+20>>2],f=(t=a)>>>0>(a=a+A[i+16>>2]|0)>>>0?f+1|0:f,A[i+16>>2]=a,A[i+20>>2]=f,(t=a+4|0)>>>0>(n=A[i+8>>2])>>>0&(0|(f=t>>>0<4?f+1|0:f))>=(0|(c=A[i+12>>2]))|(0|f)>(0|c)||(f=a+A[i>>2]|0,A[r+20>>2]=b[0|f]|b[f+1|0]<<8|b[f+2|0]<<16|b[f+3|0]<<24,f=A[i+20>>2],t=(o=(a=A[i+16>>2])+4|0)>>>0<4?f+1|0:f,A[i+16>>2]=o,A[i+20>>2]=t,(0|t)>=(0|(n=A[i+12>>2]))&o>>>0>=p[i+8>>2]|(0|t)>(0|n)||(t=b[o+A[i>>2]|0],f=(a=a+5|0)>>>0<5?f+1|0:f,A[i+16>>2]=a,A[i+20>>2]=f,(t-1&255)>>>0>29||(A[r+4>>2]=t,e=1)))),0|e}function Fr(r){var e,i=0,a=0;i=A[r+8>>2],e=A[r>>2];r:{if(1==b[r+12|0]){e:{if(-1!=(0|i)&&-1!=(0|(i=((a=i+1|0)>>>0)%3|0?a:i-2|0))&&-1!=(0|(i=A[A[e+12>>2]+(i<<2)>>2]))){if(i=((a=i+1|0)>>>0)%3|0?a:i-2|0,A[r+8>>2]=i,-1!=(0|i))break e}else A[r+8>>2]=-1;i=-1;i:if(-1!=(0|(a=A[r+4>>2]))){if((a>>>0)%3|0)a=a-1|0;else if(i=-1,-1==(0|(a=a+2|0)))break i;i=-1,-1!=(0|(a=A[A[e+12>>2]+(a<<2)>>2]))&&(i=a-1|0,(a>>>0)%3|0||(i=a+2|0))}return f[r+12|0]=0,void(A[r+8>>2]=i)}if((0|i)!=A[r+4>>2])break r;return void(A[r+8>>2]=-1)}a=-1;e:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(a=-1,-1==(0|(i=i+2|0)))break e;a=-1,-1!=(0|(i=A[A[e+12>>2]+(i<<2)>>2]))&&(a=i-1|0,(i>>>0)%3|0||(a=i+2|0))}A[r+8>>2]=a}}function jr(r){var e,i=0,a=0;e=ni(32),f[e+26|0]=0,i=b[1526]|b[1527]<<8,f[e+24|0]=i,f[e+25|0]=i>>>8,i=b[1522]|b[1523]<<8|b[1524]<<16|b[1525]<<24,a=b[1518]|b[1519]<<8|b[1520]<<16|b[1521]<<24,f[e+16|0]=a,f[e+17|0]=a>>>8,f[e+18|0]=a>>>16,f[e+19|0]=a>>>24,f[e+20|0]=i,f[e+21|0]=i>>>8,f[e+22|0]=i>>>16,f[e+23|0]=i>>>24,i=b[1514]|b[1515]<<8|b[1516]<<16|b[1517]<<24,a=b[1510]|b[1511]<<8|b[1512]<<16|b[1513]<<24,f[e+8|0]=a,f[e+9|0]=a>>>8,f[e+10|0]=a>>>16,f[e+11|0]=a>>>24,f[e+12|0]=i,f[e+13|0]=i>>>8,f[e+14|0]=i>>>16,f[e+15|0]=i>>>24,i=b[1506]|b[1507]<<8|b[1508]<<16|b[1509]<<24,a=b[1502]|b[1503]<<8|b[1504]<<16|b[1505]<<24,f[0|e]=a,f[e+1|0]=a>>>8,f[e+2|0]=a>>>16,f[e+3|0]=a>>>24,f[e+4|0]=i,f[e+5|0]=i>>>8,f[e+6|0]=i>>>16,f[e+7|0]=i>>>24,A[r>>2]=-1,wi(r+4|0,e,26),fr(e)}function Er(r,e,i,f){var a=0,t=0;if((t=A[r+8>>2])-(a=A[r>>2])>>2>>>0>=f>>>0){if(f>>>0>(f=(t=A[r+4>>2])-a|0)>>2>>>0){if((0|a)!=(0|t)){for(f=e+f|0;A[a>>2]=A[e>>2],a=a+4|0,(0|f)!=(0|(e=e+4|0)););e=f}if((0|e)!=(0|i))for(;A[t>>2]=A[e>>2],t=t+4|0,(0|i)!=(0|(e=e+4|0)););return void(A[r+4>>2]=t)}if((0|e)!=(0|i))for(;A[a>>2]=A[e>>2],a=a+4|0,(0|i)!=(0|(e=e+4|0)););A[r+4>>2]=a}else{if(a&&(A[r+4>>2]=a,fr(a),A[r+8>>2]=0,A[r>>2]=0,A[r+4>>2]=0,t=0),!(f>>>0>=1073741824||(a=t>>1,(f=t>>>0>=2147483644?1073741823:f>>>0<a>>>0?a:f)>>>0>=1073741824)))return f=ni(a=f<<2),A[r>>2]=f,A[r+8>>2]=f+a,(0|e)!=(0|i)&&((i=4+((i-e|0)-4&-4)|0)&&_(f,e,i),f=i+f|0),void(A[r+4>>2]=f);uf(),c()}}function Yr(r,e){var i=0,a=0,t=0,b=0,o=0,n=0,k=0,c=0;t=-1;r:if(i=A[r+4>>2]){for(c=r+4|0,o=(a=(0|(r=f[e+11|0]))<0)?A[e>>2]:e,r=a?A[e+4>>2]:r;;){if(1==(0|((k=Ve(o,e=(b=(0|(a=f[i+27|0]))<0)?A[i+16>>2]:i+16|0,n=(b=(a=b?A[i+20>>2]:a)>>>0<r>>>0)?a:r))?(0|k)<0:r>>>0<a>>>0))){if(i=A[i>>2])continue;break r}if(1==(0|((e=Ve(e,o,n))?(0|e)<0:b))){if(i=A[i+4>>2])continue;break r}break}if((0|i)!=(0|c)){for(r=f[i+39|0]<0?A[i+28>>2]:i+28|0;e=r,r=r+1|0,32==(0|(i=f[0|e]))|i-9>>>0<5;);t=1;e:switch((255&i)-43|0){case 2:t=0;case 0:i=f[0|r],e=r;break;default:break e}if(r=0,(i=i-48|0)>>>0<=9)for(;r=d(r,10)-i|0,i=f[e+1|0],e=e+1|0,(i=i-48|0)>>>0<10;);t=t?0-r|0:r}}return!!(0|t)&-1!=(0|t)}function Dr(r,e,i){var f=0,a=0,t=0,b=0,o=0,n=0,k=0;r:{e:{i:{if((n=(o=(a=A[r+4>>2])-(t=A[r>>2])|0)>>2)>>>0<e>>>0){if((f=A[r+8>>2]-t|0)>>2>>>0>=e>>>0){for(e=(e-n<<2)+a|0,i=A[i>>2];A[a>>2]=i,(0|e)!=(0|(a=a+4|0)););return void(A[r+4>>2]=e)}if(e>>>0>=1073741824)break e;if(b=f>>1,(b=f>>>0>=2147483644?1073741823:e>>>0<b>>>0?b:e)>>>0>=1073741824)break r;for(o=(f=o+(k=ni(b<<2))|0)+(e-n<<2)|0,i=A[i>>2],e=f;A[e>>2]=i,(0|o)!=(0|(e=e+4|0)););if(f=f-(n<<2)|0,(0|a)!=(0|t))for(e=t,i=f;A[i>>2]=A[e>>2],i=i+4|0,(0|a)!=(0|(e=e+4|0)););if(A[r+8>>2]=(b<<2)+k,A[r+4>>2]=o,A[r>>2]=f,!t)break i;return void fr(t)}e>>>0>=n>>>0||(A[r+4>>2]=(e<<2)+t)}return}uf(),c()}ji(),c()}function Jr(r,e){r|=0;var i,f,a=0,t=0,o=0,n=0,k=0,c=0,u=0;return a=A[(e|=0)+8>>2],i=t=A[e+12>>2],n=t=A[e+20>>2],a>>>0<(t=(k=A[e+16>>2])+4|0)>>>0&(0|(f=t>>>0<4?n+1|0:n))>=(0|i)|(0|f)>(0|i)||(c=A[e>>2],o=b[0|(o=c+k|0)]|b[o+1|0]<<8|b[o+2|0]<<16|b[o+3|0]<<24,A[e+16>>2]=t,A[e+20>>2]=f,a>>>0<(k=k+8|0)>>>0&(0|(n=k>>>0<8?n+1|0:n))>=(0|i)|(0|n)>(0|i)||(a=b[0|(a=t+c|0)]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,A[e+16>>2]=k,A[e+20>>2]=n,(0|a)<(0|o)||(A[r+16>>2]=a,A[r+12>>2]=o,t=a-o|0,!(a=(a>>31)-((o>>31)+(a>>>0<o>>>0)|0)|0)&t>>>0>2147483646|a||(a=t+1|0,A[r+20>>2]=a,a=a>>>1|0,A[r+24>>2]=a,A[r+28>>2]=0-a,1&t&&(A[r+24>>2]=a-1),u=Wr(r+112|0,e))))),0|u}function wr(r,e){var i,a=0,t=0,o=0,n=0;if(o=A[r+4>>2],(t=(i=(0|(a=f[r+11|0]))<0)?o:a)>>>0<e>>>0){if(e=e-t|0){for(n=A[r+8>>2],e>>>0<=(t=i?(2147483647&n)-1|0:10)-(o=i?o:a)>>>0?a=n>>>24|0:(F=a=F-32|0,hi(a+20|0,ii(r,t+((e+o|0)-t|0)|0)),t=f[r+11|0]<0?A[r>>2]:r,(n=!o)|n||_(A[a+20>>2],t,o),A[a+24>>2]=-1,A[a+16>>2]=A[a+28>>2],t=A[a+24>>2],A[a+8>>2]=A[a+20>>2],A[a+12>>2]=t,yi(r,a+8|0),F=a+32|0,A[r+4>>2]=o,a=b[r+11|0]),t=(n=a<<24>>24<0?A[r>>2]:r)+o|0,a=e;a;)f[0|t]=0,a=a-1|0,t=t+1|0;e=e+o|0,f[r+11|0]<0?A[r+4>>2]=e:f[r+11|0]=127&e,f[e+n|0]=0}}else f[r+11|0]<0?(A[r+4>>2]=e,r=A[r>>2]):f[r+11|0]=127&e,f[r+e|0]=0}function Br(r,e,i,f){var a=0,t=0,o=0,n=0;r:{e:{if(i){n=A[e>>2],t=A[e+4>>2],e=n;i:if(1!=b[0|f])a|t?(a=i>>>0<(f=32-t|0)>>>0?i:f,A[e>>2]=A[e>>2]&~(-1<<t&-1>>>f-a),e=e+4|0,f=i-a|0):f=i,(a=f>>>5|0)&&(o=a<<2)&&u(e,0,o),(f&=31)&&(A[(e=(a<<2)+e|0)>>2]=A[e>>2]&(-1>>>32-f^-1));else{if(a|t?(a=i>>>0<(f=32-t|0)>>>0?i:f,A[e>>2]=A[e>>2]|-1<<t&-1>>>f-a,e=e+4|0,f=i-a|0):f=i,(a=f>>>5|0)&&(o=a<<2)&&u(e,255,o),!(f&=31))break i;A[(e=(a<<2)+e|0)>>2]=A[e>>2]|-1>>>32-f}if(e=i+t|0,(0|i)<0)break e}else n=A[e>>2],e=A[e+4>>2];i=e>>>5|0;break r}i=(e-31|0)/32|0}A[r+4>>2]=31&e,A[r>>2]=(i<<2)+n}function Ir(r,e,i){var f=0,a=0,t=0,b=0,o=0,n=0,k=0;r:{e:{i:{if((b=(o=(f=A[r+4>>2])-(t=A[r>>2])|0)>>2)>>>0<e>>>0){if((a=A[r+8>>2]-t|0)>>2>>>0>=e>>>0){for(e=(e-b<<2)+f|0,i=A[i>>2];A[f>>2]=i,(0|e)!=(0|(f=f+4|0)););return void(A[r+4>>2]=e)}if(e>>>0>=1073741824)break e;if(f=a>>1,(a=a>>>0>=2147483644?1073741823:e>>>0<f>>>0?f:e)>>>0>=1073741824)break r;for(k=(f=e-b<<2)+(e=(n=ni(a<<2))+o|0)|0,i=A[i>>2],f=e;A[f>>2]=i,(0|k)!=(0|(f=f+4|0)););if(e=e-(b<<2)|0,o&&_(e,t,o),A[r+8>>2]=n+(a<<2),A[r+4>>2]=k,A[r>>2]=e,!t)break i;return void fr(t)}e>>>0>=b>>>0||(A[r+4>>2]=(e<<2)+t)}return}uf(),c()}ji(),c()}function Mr(r,e){var i=0,f=0,a=0,t=0,b=0,o=0;r:{e:{i:{if((a=(b=(i=A[r+4>>2])-(f=A[r>>2])|0)>>2)>>>0<e>>>0){if((t=A[r+8>>2]-f|0)>>2>>>0>=e>>>0)return(e=e-a<<2)&&u(i,0,e),void(A[r+4>>2]=e+i);if(e>>>0>=1073741824)break e;if(i=t>>1,(i=t>>>0>=2147483644?1073741823:e>>>0<i>>>0?i:e)>>>0>=1073741824)break r;if(i=(o=ni(t=i<<2))+b|0,(e=e-a<<2)&&u(i,0,e),a=i-(a<<2)|0,b&&_(a,f,b),A[r+8>>2]=t+o,A[r+4>>2]=e+i,A[r>>2]=a,!f)break i;return void fr(f)}if(!(e>>>0>=a>>>0)){if((0|(f=f+(e<<2)|0))!=(0|i))for(;e=A[(i=i-4|0)>>2],A[i>>2]=0,e&&Uf[A[A[e>>2]+4>>2]](e),(0|i)!=(0|f););A[r+4>>2]=f}}return}uf(),c()}ji(),c()}function Qr(r,e){var i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0;r:{e:{i:{if((i=(t=(o=A[r+4>>2])-(a=A[r>>2])|0)>>2)>>>0<e>>>0){if((f=A[r+8>>2]-a|0)>>2>>>0>=e>>>0)return(e=e-i<<2)&&u(o,0,e),void(A[r+4>>2]=e+o);if(e>>>0>=1073741824)break e;if(b=f>>1,(f=f>>>0>=2147483644?1073741823:e>>>0<b>>>0?b:e)>>>0>=1073741824)break r;if(t=t+(k=ni(n=f<<2))|0,(b=e-i<<2)&&u(t,0,b),f=t-(i<<2)|0,(0|a)!=(0|o))for(e=a,i=f;A[i>>2]=A[e>>2],i=i+4|0,(0|o)!=(0|(e=e+4|0)););if(A[r+8>>2]=n+k,A[r+4>>2]=t+b,A[r>>2]=f,!a)break i;return void fr(a)}e>>>0>=i>>>0||(A[r+4>>2]=(e<<2)+a)}return}uf(),c()}ji(),c()}function gr(r){var e=0,i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0;r:{if(t=A[r+8>>2],(e=1+((0|(i=(o=A[t+4>>2])-(b=A[t>>2])|0))/12|0)|0)>>>0<357913942){if(a=(f=(A[t+8>>2]-b|0)/12|0)<<1,(f=f>>>0>=178956970?357913941:e>>>0<a>>>0?a:e)>>>0>=357913942)break r;if(e=A[r+4>>2],k=ni(n=d(f,12)),A[(a=i+k|0)>>2]=A[e>>2],A[a+4>>2]=A[e+4>>2],A[a+8>>2]=A[e+8>>2],f=a+d((0|i)/-12|0,12)|0,(0|b)!=(0|o))for(e=b,i=f;A[i>>2]=A[e>>2],A[i+4>>2]=A[e+4>>2],A[i+8>>2]=A[e+8>>2],i=i+12|0,(0|o)!=(0|(e=e+12|0)););return A[t+8>>2]=n+k,e=a+12|0,A[t+4>>2]=e,A[t>>2]=f,b&&fr(b),void(A[A[r>>2]>>2]=e)}uf(),c()}ji(),c()}function Or(r){var e=0,i=0,a=0,t=0,b=0;b=1;r:if(!((0|(i=A[r+140>>2]))<=0)){for(e=i<<4,a=ni(i>>>0>268435455?-1:4|e),A[a>>2]=i,i=(a=a+4|0)+e|0,e=a;f[e+5|0]=0,f[e+6|0]=0,f[e+7|0]=0,f[e+8|0]=0,f[e+9|0]=0,f[e+10|0]=0,f[e+11|0]=0,f[e+12|0]=0,A[e>>2]=0,A[e+4>>2]=0,(0|i)!=(0|(e=e+16|0)););if(t=A[r+136>>2],A[r+136>>2]=a,t){if(a=A[(i=t-4|0)>>2])for(e=(a<<4)+t|0;(0|t)!=(0|(e=e-16|0)););fr(i)}if(e=0,!(A[r+140>>2]<=0))for(;;){if(!(b=Wr(A[r+136>>2]+(e<<4)|0,r)))break r;if(!((0|(e=e+1|0))<A[r+140>>2]))break}}return b}function Xr(r,e,i){var f=0,a=0,t=0,b=0,o=0;r:{if(b=e>>>0<1431655766&(e|i)>=0){if(dr(r,e=d(e,3),10128),dr(r+12|0,e,10132),f=A[r+24>>2],!(A[r+32>>2]-f>>2>>>0>=i>>>0)){if(i>>>0>=1073741824)break r;if(t=A[r+28>>2],o=(a=ni(e=i<<2))+e|0,(0|f)!=(0|t))for(e=f,i=a;A[i>>2]=A[e>>2],i=i+4|0,(0|t)!=(0|(e=e+4|0)););A[r+32>>2]=o,A[r+28>>2]=(t-f|0)+a,A[r+24>>2]=a,f&&fr(f)}A[r+80>>2]=0,A[r+84>>2]=0,e=A[r+76>>2],A[r+76>>2]=0,e&&fr(e),A[r+68>>2]=0,A[r+72>>2]=0,e=A[r+64>>2],A[r+64>>2]=0,e&&fr(e)}return b}uf(),c()}function Cr(r,e){r|=0;var i,f,a,t=0,o=0,n=0,k=0,c=0;return o=A[(e|=0)+8>>2],i=t=A[e+12>>2],t=A[e+20>>2],o>>>0<(f=(n=A[e+16>>2])+4|0)>>>0&(0|(a=f>>>0<4?t+1|0:t))>=(0|i)|(0|a)>(0|i)||(k=n+A[e>>2]|0,k=b[0|k]|b[k+1|0]<<8|b[k+2|0]<<16|b[k+3|0]<<24,A[e+16>>2]=f,A[e+20>>2]=a,o>>>0<(n=n+8|0)>>>0&(0|(t=n>>>0<8?t+1|0:t))>=(0|i)|(0|t)>(0|i)||(A[e+16>>2]=n,A[e+20>>2]=t,1&k&&((o=N(k))-2>>>0>28||(o=32-o|0,A[r+8>>2]=o,t=-2-(o=-1<<o)|0,A[r+16>>2]=t,A[r+12>>2]=-1^o,A[r+24>>2]=t>>>1,l[r+20>>2]=v(2)/v(t>>>0),c=Wr(r+96|0,e))))),0|c}function zr(r,e){var i=0;return i=A[e+60>>2],A[r+56>>2]=A[e+56>>2],A[r+60>>2]=i,i=A[e+52>>2],A[r+48>>2]=A[e+48>>2],A[r+52>>2]=i,i=A[e+44>>2],A[r+40>>2]=A[e+40>>2],A[r+44>>2]=i,i=A[e+36>>2],A[r+32>>2]=A[e+32>>2],A[r+36>>2]=i,i=A[e+28>>2],A[r+24>>2]=A[e+24>>2],A[r+28>>2]=i,i=A[e+20>>2],A[r+16>>2]=A[e+16>>2],A[r+20>>2]=i,i=A[e+12>>2],A[r+8>>2]=A[e+8>>2],A[r+12>>2]=i,i=A[e+4>>2],A[r>>2]=A[e>>2],A[r+4>>2]=i,A[r+88>>2]=0,A[r+64>>2]=0,A[r+68>>2]=0,A[r+72>>2]=0,A[r+76>>2]=0,f[r+77|0]=0,f[r+78|0]=0,f[r+79|0]=0,f[r+80|0]=0,f[r+81|0]=0,f[r+82|0]=0,f[r+83|0]=0,f[r+84|0]=0,r}function Hr(r,e){var i,f,a=0,t=0,o=0;return A[r+64>>2]||(a=ni(32),A[a+16>>2]=0,A[a+20>>2]=0,A[a+8>>2]=0,A[a>>2]=0,A[a+4>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,t=A[r+64>>2],A[r+64>>2]=a,t&&((a=A[t>>2])&&(A[t+4>>2]=a,fr(a)),fr(t))),o=A[r+64>>2],a=(a=A[r+28>>2]-1|0)>>>0<=10?b[a+10100|0]:-1,(f=Rr(o,0,ze(t=d(a,b[r+24|0]),i=t>>31,e,0),j))&&(a=A[r+64>>2],A[r>>2]=a,o=A[a+20>>2],A[r+8>>2]=A[a+16>>2],A[r+12>>2]=o,o=A[a+24>>2],a=A[a+28>>2],A[r+48>>2]=0,A[r+52>>2]=0,A[r+40>>2]=t,A[r+44>>2]=i,A[r+16>>2]=o,A[r+20>>2]=a,A[r+80>>2]=e),f}function Pr(r,e,i){var a,t=0,b=0,o=0,n=0,k=0,c=0;if(!(t=A[r+4>>2]))return 0;a=r+4|0,o=(b=(0|(r=f[e+11|0]))<0)?A[e>>2]:e,r=b?A[e+4>>2]:r;r:{for(;;){if(1==(0|((c=Ve(o,e=(n=(0|(b=f[t+27|0]))<0)?A[t+16>>2]:t+16|0,k=(n=(b=n?A[t+20>>2]:b)>>>0<r>>>0)?b:r))?(0|c)<0:r>>>0<b>>>0))){if(t=A[t>>2])continue;return 0}if(1!=(0|((e=Ve(e,o,k))?(0|e)<0:n)))break r;if(!(t=A[t+4>>2]))break}return 0}return e=0,(0|t)!=(0|a)&&(0|(r=A[t+28>>2]))!=(0|(o=A[t+32>>2]))&&(wr(i,o-r|0),r=mi(i),e=A[t+28>>2],(i=A[t+32>>2]-e|0)&&_(r,e,i),e=1),e}function Sr(r,e){var i=0,f=0,a=0,t=0,o=0;r:{e:if((0|(f=A[r+4>>2]))==(a=A[r+8>>2])<<5){if(i=2147483647,f>>>0>=2147483647)break r;if(f>>>0<=1073741822){if(f>>>0>=(i=(i=a<<6)>>>0>(a=32+(1073741792&f)|0)>>>0?i:a)>>>0)break e;if((0|i)<0)break r}a=ni((t=1+(i-1>>>5|0)|0)<<2),i=A[r>>2],(o=f?4+(f-1>>>3&536870908)|0:0)&&_(a,i,o),A[r+8>>2]=t,A[r>>2]=a,i&&(fr(i),f=A[r+4>>2])}return A[r+4>>2]=f+1,i=1<<f,r=A[r>>2]+(f>>>3&536870908)|0,1==b[0|e]?void(A[r>>2]=i|A[r>>2]):void(A[r>>2]=A[r>>2]&(-1^i))}uf(),c()}function xr(r,e){e|=0;var i=0,f=0,a=0,t=0;if((0|(i=A[(r|=0)+216>>2]))!=A[r+220>>2])for(;;){r:if(!((0|(i=A[d(a,144)+i>>2]))<0||(f=A[r+4>>2],t=A[f+8>>2],(0|i)>=A[f+12>>2]-t>>2||(f=0,i=A[(i<<2)+t>>2],(0|Uf[A[A[i>>2]+24>>2]](i))<=0)))){for(;;){if((0|Uf[A[A[i>>2]+20>>2]](i,f))!=(0|e)){if(f=f+1|0,(0|Uf[A[A[i>>2]+24>>2]](i))>(0|f))continue;break r}break}return r=A[r+216>>2]+d(a,144)|0,0|(b[r+100|0]?r+4:0)}if(a=a+1|0,i=A[r+216>>2],!(a>>>0<(A[r+220>>2]-i|0)/144>>>0))break}return 0}function Lr(r,e){var i=0,f=0,a=0,t=0,b=0,o=0;r:{e:{i:{if((f=(b=(i=A[r+4>>2])-(a=A[r>>2])|0)>>2)>>>0<e>>>0){if((t=A[r+8>>2]-a|0)>>2>>>0>=e>>>0)return(e=e-f<<2)&&u(i,0,e),void(A[r+4>>2]=e+i);if(e>>>0>=1073741824)break e;if(i=t>>1,(i=t>>>0>=2147483644?1073741823:e>>>0<i>>>0?i:e)>>>0>=1073741824)break r;if(i=(o=ni(t=i<<2))+b|0,(e=e-f<<2)&&u(i,0,e),f=i-(f<<2)|0,b&&_(f,a,b),A[r+8>>2]=t+o,A[r+4>>2]=e+i,A[r>>2]=f,!a)break i;return void fr(a)}e>>>0>=f>>>0||(A[r+4>>2]=(e<<2)+a)}return}uf(),c()}ji(),c()}function Kr(r,e){var i=0,f=0,a=0,t=0,b=0,o=0;r:{e:{i:{if((f=(b=(i=A[r+4>>2])-(a=A[r>>2])|0)>>3)>>>0<e>>>0){if((t=A[r+8>>2]-a|0)>>3>>>0>=e>>>0)return(e=e-f<<3)&&u(i,0,e),void(A[r+4>>2]=e+i);if(e>>>0>=536870912)break e;if(i=t>>2,(i=t>>>0>=2147483640?536870911:e>>>0<i>>>0?i:e)>>>0>=536870912)break r;if(i=(o=ni(t=i<<3))+b|0,(e=e-f<<3)&&u(i,0,e),f=i-(f<<3)|0,b&&_(f,a,b),A[r+8>>2]=t+o,A[r+4>>2]=e+i,A[r>>2]=f,!a)break i;return void fr(a)}e>>>0>=f>>>0||(A[r+4>>2]=(e<<3)+a)}return}uf(),c()}ji(),c()}function qr(r,e){e|=0;var i=0,f=0,a=0,t=0;if((0|(i=A[(r|=0)+216>>2]))!=A[r+220>>2])for(;;){r:if(!((0|(i=A[d(a,144)+i>>2]))<0||(f=A[r+4>>2],t=A[f+8>>2],(0|i)>=A[f+12>>2]-t>>2||(f=0,i=A[(i<<2)+t>>2],(0|Uf[A[A[i>>2]+24>>2]](i))<=0)))){for(;;){if((0|Uf[A[A[i>>2]+20>>2]](i,f))!=(0|e)){if(f=f+1|0,(0|Uf[A[A[i>>2]+24>>2]](i))>(0|f))continue;break r}break}return 104+(A[r+216>>2]+d(a,144)|0)|0}if(a=a+1|0,i=A[r+216>>2],!(a>>>0<(A[r+220>>2]-i|0)/144>>>0))break}return r+184|0}function $r(r){var e=0,i=0,f=0,a=0,t=0,b=0,o=0,n=0,k=0,u=0;r:{if(i=A[r+8>>2],(e=(b=(a=(n=A[i+4>>2])-(f=A[i>>2])|0)>>2)+1|0)>>>0<1073741824){if(o=(t=A[i+8>>2]-f|0)>>1,(e=t>>>0>=2147483644?1073741823:e>>>0<o>>>0?o:e)>>>0>=1073741824)break r;if(o=A[r+4>>2],u=ni(k=e<<2),A[(t=a+u|0)>>2]=A[o>>2],b=t-(b<<2)|0,(0|f)!=(0|n))for(e=f,a=b;A[a>>2]=A[e>>2],a=a+4|0,(0|n)!=(0|(e=e+4|0)););return A[i+8>>2]=k+u,e=t+4|0,A[i+4>>2]=e,A[i>>2]=b,f&&fr(f),void(A[A[r>>2]>>2]=e)}uf(),c()}ji(),c()}function re(r,e){var i=0,f=0,a=0,t=0,b=0;r:{e:if(e>>>0>(f=(i=A[r+4>>2])-(a=A[r>>2])|0)>>>0){if((t=A[r+8>>2]-a|0)>>>0>=e>>>0){(e=e-f|0)&&u(i,0,e),A[r+4>>2]=e+i;break e}if((0|e)<0)break r;if(i=t<<1,i=ni(t=t>>>0>=1073741823?2147483647:e>>>0<i>>>0?i:e),(b=e-f|0)&&u(i+f|0,0,b),f&&_(i,a,f),A[r+8>>2]=i+t,A[r+4>>2]=e+i,A[r>>2]=i,!a)break e;fr(a)}else e>>>0>=f>>>0||(A[r+4>>2]=e+a);return i=e=A[r+28>>2],f=e+1|0,f=(e=A[r+24>>2]+1|0)?i:f,A[r+24>>2]=e,void(A[r+28>>2]=f)}uf(),c()}function ee(r){A[r>>2]=-1,A[r+20>>2]=0,A[r+24>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,f[r+28|0]=1,A[r+40>>2]=0,A[r+44>>2]=0,A[r+48>>2]=0,A[r+52>>2]=0,A[r+56>>2]=0,A[r+60>>2]=0,A[r+64>>2]=0,A[r+68>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+84>>2]=0,A[r+88>>2]=0,A[r+92>>2]=0,A[r+96>>2]=0,A[r+72>>2]=r+4,A[r+104>>2]=0,A[r+108>>2]=0,f[r+100|0]=1,A[r+112>>2]=0,A[r+116>>2]=0,A[r+120>>2]=0,A[r+124>>2]=0,A[r+128>>2]=0,A[r+132>>2]=0,A[r+136>>2]=0,A[r+140>>2]=0}function ie(r,e){var i=0,f=0,a=0,t=0,b=0,o=0;r:{e:{i:{if((f=(b=(a=A[r+4>>2])-(t=A[r>>2])|0)>>1)>>>0<e>>>0){if((i=A[r+8>>2]-t|0)>>1>>>0>=e>>>0)return(e=e-f<<1)&&u(a,0,e),void(A[r+4>>2]=e+a);if((0|e)<0)break e;if((0|(i=i>>>0>=2147483646?2147483647:e>>>0<i>>>0?i:e))<0)break r;if(i=(o=ni(a=i<<1))+b|0,(e=e-f<<1)&&u(i,0,e),f=i-(f<<1)|0,b&&_(f,t,b),A[r+8>>2]=a+o,A[r+4>>2]=e+i,A[r>>2]=f,!t)break i;return void fr(t)}e>>>0>=f>>>0||(A[r+4>>2]=(e<<1)+t)}return}uf(),c()}ji(),c()}function fe(r,e,i){var a,t,b=0,o=0,n=0,k=0,c=0;F=a=F-16|0;r:if((0|(b=A[r+24>>2]))!=(0|(t=A[r+28>>2]))){e:{for(;;){if(A[a+8>>2]=0,A[a>>2]=0,A[a+4>>2]=0,o=Pr(A[b>>2],e,a),r=f[a+11|0],o&&(o=(0|(n=f[i+11|0]))<0,(0|(c=(k=(0|r)<0)?A[a+4>>2]:r))==(0|(o?A[i+4>>2]:n))&&!Ve(k?A[a>>2]:a,o?A[i>>2]:i,c)))break e;if((0|r)<0&&fr(A[a>>2]),(0|t)==(0|(b=b+4|0)))break}b=0;break r}b=A[b>>2],(0|r)>=0||fr(A[a>>2])}else b=0;return F=a+16|0,b}function ae(r,e){var i,a=0,t=0,b=0,o=0,n=0;F=i=F-32|0,f[i+23|0]=0;r:{if((t=A[r+4>>2])>>>0<=e>>>0){if(a=t,!(A[r+8>>2]<<5>>>0>=e>>>0)){if((0|e)<0)break r;a=ni((o=1+(e-1>>>5|0)|0)<<2),b=A[r>>2],(n=t?4+(t-1>>>3&536870908)|0:0)&&_(a,b,n),A[r+8>>2]=o,A[r>>2]=a,a=t,b&&(fr(b),a=A[r+4>>2])}b=A[r>>2],A[i+28>>2]=31&a,A[i+24>>2]=b+(a>>>3&536870908),a=A[i+28>>2],A[i>>2]=A[i+24>>2],A[i+4>>2]=a,Br(i+12|0,i,e-t|0,i+23|0)}return A[r+4>>2]=e,void(F=i+32|0)}uf(),c()}function te(r,e,i){var f,a=0,t=0,b=0;F=f=F-32|0,A[r+4>>2]=0;r:{if(e){if((b=(t=A[r+8>>2])<<5)>>>0>=e>>>0)A[r+4>>2]=e;else{if((0|e)<0)break r;if(a=2147483647,b>>>0<=1073741822&&(0|(a=(a=t<<6)>>>0>(t=e+31&-32)>>>0?a:t))<0)break r;t=ni((a=1+(a-1>>>5|0)|0)<<2),A[r+8>>2]=a,A[r+4>>2]=e,a=A[r>>2],A[r>>2]=t,a&&fr(a)}r=A[r>>2],A[f+28>>2]=0,A[f+24>>2]=r,r=A[f+28>>2],A[f+8>>2]=A[f+24>>2],A[f+12>>2]=r,Br(f+16|0,f+8|0,e,i)}return void(F=f+32|0)}uf(),c()}function Ae(r,e,i){var a,t=0,o=0;return e?(a=ni(40),A[a>>2]=0,t=a+16|0,f[e+27|0]>=0?(A[t+8>>2]=A[e+24>>2],o=A[e+20>>2],A[t>>2]=A[e+16>>2],A[t+4>>2]=o):wi(t,A[e+16>>2],A[e+20>>2]),t=a+28|0,f[e+39|0]>=0?(A[t+8>>2]=A[e+36>>2],o=A[e+32>>2],A[t>>2]=A[e+28>>2],A[t+4>>2]=o):wi(t,A[e+28>>2],A[e+32>>2]),t=Ae(r,A[e>>2],i),r=Ae(r,A[e+4>>2],i),e=b[e+12|0],A[a+4>>2]=r,A[a>>2]=t,f[a+12|0]=e,t&&(A[t+8>>2]=a),r&&(A[r+8>>2]=a),a):0}function be(r){var e=0,i=0,f=0;if(A[(r|=0)>>2]=10204,(e=A[r+68>>2])&&(A[r+72>>2]=e,fr(e)),(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),(e=A[r+44>>2])&&(A[r+48>>2]=e,fr(e)),(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),(e=A[r+20>>2])&&(A[r+24>>2]=e,fr(e)),e=A[r+8>>2]){if(f=e,(0|e)!=(0|(i=A[r+12>>2]))){for(;f=A[(i=i-4|0)>>2],A[i>>2]=0,f&&ge(f),(0|e)!=(0|i););f=A[r+8>>2]}A[r+12>>2]=e,fr(f)}return e=A[r+4>>2],A[r+4>>2]=0,e&&fr(ke(e)),0|r}function oe(r){var e,i,f=0,a=0,t=0,b=0,o=0,n=0;e=A[r+8>>2],i=A[e>>2];r:{if((f=(t=(a=A[e+4>>2]-i|0)>>2)+1|0)>>>0<1073741824){if(b=(o=A[e+8>>2]-i|0)>>1,(f=o>>>0>=2147483644?1073741823:f>>>0<b>>>0?b:f)>>>0>=1073741824)break r;return o=A[r+4>>2],n=ni(b=f<<2),A[(f=a+n|0)>>2]=A[o>>2],t=f-(t<<2)|0,a&&_(t,i,a),A[e+8>>2]=b+n,a=f+4|0,A[e+4>>2]=a,A[e>>2]=t,i&&fr(i),void(A[A[r>>2]>>2]=a)}uf(),c()}ji(),c()}function ne(r){var e=0,i=0,a=0,t=0,o=0;if(e=A[r+8>>2],!b[e+84|0]&&!(!(i=A[r+16>>2])|1!=b[i+84|0]||(a=A[e+68>>2],e=A[e+72>>2],f[i+84|0]=0,Dr(i+68|0,e-a>>2,2056),i=A[r+8>>2],b[i+84|0]||(0|(a=A[i+68>>2]))==A[i+72>>2])))for(o=A[A[r+16>>2]+68>>2],e=0;A[(t=e<<2)+o>>2]=A[a+t>>2],e=e+1|0,a=A[i+68>>2],e>>>0<A[i+72>>2]-a>>2>>>0;);return A[r+16>>2]}function ke(r){var e,i=0,f=0,a=0,t=0,b=0;if(F=e=F-16|0,f=A[r+24>>2]){if((0|(i=f))!=(0|(a=A[r+28>>2]))){for(;i=A[(a=a-4|0)>>2],A[a>>2]=0,i&&(t=A[i+16>>2],A[e+12>>2]=i+12,Be(b=e+12|0,t),t=A[i+4>>2],A[e+12>>2]=i,$e(b,t),fr(i)),(0|f)!=(0|a););i=A[r+24>>2]}A[r+28>>2]=f,fr(i)}return f=A[r+16>>2],A[e+12>>2]=r+12,Be(i=e+12|0,f),f=A[r+4>>2],A[e+12>>2]=r,$e(i,f),F=e+16|0,r}function ce(r,e){var i=0,f=0,a=0,t=0,A=0;i=1;r:{if(!e&r>>>0>1|e)for(A=r,f=e;t=a<<1|i>>>31,i<<=1,a=t,t=!f&A>>>0>7|!!(0|f),A=(3&f)<<30|A>>>2,f=f>>>2|0,t;);else if(a=e,(i=r)-1|0)break r;for(;t=mr(r,e,i,a),f=a+j|0,f=ze(i=(1&(f=(a=i)>>>0>(i=i+t|0)>>>0?f+1|0:f))<<31|i>>>1,a=f>>>1|0,i,a),(0|e)==(0|(t=j))&r>>>0<f>>>0|e>>>0<t>>>0;);}return j=a,i}function ue(r,e,i){var a=0,t=0,b=0,o=0;r:if(!(r>>>0>10||(0|(a=A[i+20>>2]))>=(0|(b=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|b))){if(b=f[t+A[i>>2]|0],a=(t=t+1|0)?a:a+1|0,A[i+16>>2]=t,A[i+20>>2]=a,(0|(a=b))<0){if(!ue(r+1|0,e,i))break r;a=127&a|(r=A[e>>2])<<7,r=A[e+4>>2]<<7|r>>>25}else a&=255,r=0;A[e>>2]=a,A[e+4>>2]=r,o=1}return o}function _e(r,e,i){var a=0,t=0,b=0,o=0;r:if(!(r>>>0>10||(0|(a=A[i+20>>2]))>=(0|(b=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|b))){if(b=f[t+A[i>>2]|0],a=(t=t+1|0)?a:a+1|0,A[i+16>>2]=t,A[i+20>>2]=a,(0|(a=b))<0){if(!_e(r+1|0,e,i))break r;a=127&a|(r=A[e>>2])<<7,r=A[e+4>>2]<<7|r>>>25}else a&=255,r=0;A[e>>2]=a,A[e+4>>2]=r,o=1}return o}function se(r,e){var i=0,f=0;r:{if((0|r)!=(0|e)){if(i=A[e+4>>2]){if(f=A[r>>2],A[r+8>>2]<<5>>>0<i>>>0){if(f&&(fr(f),A[r+8>>2]=0,A[r>>2]=0,A[r+4>>2]=0,i=A[e+4>>2]),(0|i)<0)break r;f=ni((i=i?1+(i-1>>>5|0)|0:0)<<2),A[r+8>>2]=i,A[r+4>>2]=0,A[r>>2]=f,i=A[e+4>>2]}(i=i?4+(i-1>>>3&536870908)|0:0)&&_(f,A[e>>2],i),e=A[e+4>>2]}else e=0;A[r+4>>2]=e}return}uf(),c()}function pe(r,e){var i=0,f=0,a=0,t=0,b=0;Lr(r+12|0,e);r:{if(i=A[r>>2],!(A[r+8>>2]-i>>2>>>0>=e>>>0)){if(e>>>0>=1073741824)break r;if(a=A[r+4>>2],b=(f=ni(e<<=2))+e|0,(0|i)!=(0|a))for(e=i,t=f;A[t>>2]=A[e>>2],t=t+4|0,(0|a)!=(0|(e=e+4|0)););A[r+8>>2]=b,A[r+4>>2]=(a-i|0)+f,A[r>>2]=f,i&&fr(i)}return}uf(),c()}function le(r,e,i,a){f[r+53|0]=1;r:if(A[r+4>>2]==(0|i)){f[r+52|0]=1;e:{if(!(i=A[r+16>>2])){if(A[r+36>>2]=1,A[r+24>>2]=a,A[r+16>>2]=e,1!=(0|a))break r;if(1==A[r+48>>2])break e;break r}if((0|e)==(0|i)){if(2==(0|(i=A[r+24>>2]))&&(A[r+24>>2]=a,i=a),1!=A[r+48>>2])break r;if(1==(0|i))break e;break r}A[r+36>>2]=A[r+36>>2]+1}f[r+54|0]=1}}function ye(r,e,i){e|=0,i|=0;var a,t=0;F=a=F-16|0,A[(r|=0)+4>>2]=e,e=A[e+64>>2],t=A[e>>2],e=A[e+4>>2],f[a+15|0]=0,te(r+24|0,(e-t>>2>>>0)/3|0,a+15|0),e=A[r+4>>2],t=A[e+52>>2],e=A[e+56>>2],f[a+14|0]=0,te(r+36|0,e-t>>2,a+14|0),e=A[i+12>>2],A[r+16>>2]=A[i+8>>2],A[r+20>>2]=e,e=A[i+4>>2],A[r+8>>2]=A[i>>2],A[r+12>>2]=e,F=a+16|0}function de(r,e,i,a,t,b,o){var n;F=n=F-32|0,hi(n+20|0,ii(r,e+i|0)),i=f[r+11|0]<0?A[r>>2]:r,(e=!b)|e||_(A[n+20>>2],o,b),!(e=a-t|0)|(0|a)==(0|t)||_(A[n+20>>2]+b|0,i+t|0,e),e=e+b|0,A[n+24>>2]=e,f[e+A[n+20>>2]|0]=0,A[n+16>>2]=A[n+28>>2],e=A[n+24>>2],A[n+8>>2]=A[n+20>>2],A[n+12>>2]=e,yi(r,n+8|0),F=n+32|0}function ve(r){var e,i,f=0,a=0;if(i=A[r>>2],e=A[i>>2]){if((0|(f=e))!=(0|(a=A[i+4>>2]))){for(;(f=A[a-12>>2])&&(A[a-8>>2]=f,fr(f)),(f=A[a-28>>2])&&(A[a-24>>2]=f,fr(f)),(f=A[a-40>>2])&&(A[a-36>>2]=f,fr(f)),je(a-140|0),a=f=a-144|0,(0|f)!=(0|e););f=A[A[r>>2]>>2]}A[i+4>>2]=e,fr(f)}}function me(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!me(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function Ne(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!Ne(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function he(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!he(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function Re(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!Re(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function We(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!We(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function Ue(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!Ue(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function Ge(r,e,i){var a=0,t=0,b=0,o=0,n=0;r:if(!(r>>>0>5||(0|(a=b=A[i+20>>2]))>=(0|(o=A[i+12>>2]))&(t=A[i+16>>2])>>>0>=p[i+8>>2]|(0|a)>(0|o))){if(a=f[A[i>>2]+t|0],b=(t=t+1|0)?b:b+1|0,A[i+16>>2]=t,A[i+20>>2]=b,(0|a)<0){if(!Ge(r+1|0,e,i))break r;a=127&a|A[e>>2]<<7}A[e>>2]=a,n=1}return n}function Ze(r){return A[r+56>>2]=0,A[r+48>>2]=0,A[r+52>>2]=0,A[r+40>>2]=0,A[r+44>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0,A[r+64>>2]=0,A[r+68>>2]=0,A[r+72>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+84>>2]=0,A[r+60>>2]=r,r}function Ve(r,e,i){var f=0,a=0;r:{e:{if(i>>>0>=4){if(3&(r|e))break e;for(;;){if(A[r>>2]!=A[e>>2])break e;if(e=e+4|0,r=r+4|0,!((i=i-4|0)>>>0>3))break}}if(!i)break r}for(;;){if((0|(f=b[0|r]))==(0|(a=b[0|e]))){if(e=e+1|0,r=r+1|0,i=i-1|0)continue;break r}break}return f-a|0}return 0}function Te(r,e,i){var f=0;if(!i)return A[r+4>>2]==A[e+4>>2];if((0|r)==(0|e))return 1;f=A[r+4>>2],r=b[0|f],i=A[e+4>>2];r:if(!(!r|(0|(e=b[0|i]))!=(0|r)))for(;;){if(e=b[i+1|0],!(r=b[f+1|0]))break r;if(i=i+1|0,f=f+1|0,(0|r)!=(0|e))break}return(0|r)==(0|e)}function Fe(r,e,i){r|=0,e|=0;var f,a,t,o,n=0;return(o=A[(i|=0)+8>>2])>>>0>(t=A[i+16>>2])>>>0&(0|(a=A[i+12>>2]))>=(0|(f=A[i+20>>2]))|(0|a)>(0|f)&&(e=b[A[i>>2]+t|0],n=t+1|0,A[i+16>>2]=n,A[i+20>>2]=n?f:f+1|0,A[r+4>>2]=e),t>>>0<o>>>0&(0|f)<=(0|a)|(0|f)<(0|a)}function je(r){var e=0;(e=A[r+84>>2])&&(A[r+88>>2]=e,fr(e)),(e=A[r+72>>2])&&(A[r+76>>2]=e,fr(e)),(e=A[r+52>>2])&&(A[r+56>>2]=e,fr(e)),(e=A[r+40>>2])&&(A[r+44>>2]=e,fr(e)),(e=A[r+28>>2])&&(A[r+32>>2]=e,fr(e)),(e=A[r+12>>2])&&fr(e),(r=A[r>>2])&&fr(r)}function Ee(r){var e=0,i=0,f=0;r:{if(3&(e=r))for(;;){if(!b[0|e])break r;if(!(3&(e=e+1|0)))break}for(;i=e,e=e+4|0,-2139062144==(-2139062144&((f=A[i>>2])|16843008-f)););for(;i=(e=i)+1|0,b[0|e];);}return e-r|0}function Ye(r){var e=0;r&&((e=A[r+76>>2])&&(A[r+80>>2]=e,fr(e)),(e=A[r+64>>2])&&(A[r+68>>2]=e,fr(e)),(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),(e=A[r+24>>2])&&(A[r+28>>2]=e,fr(e)),(e=A[r+12>>2])&&(A[r+16>>2]=e,fr(e)),(e=A[r>>2])&&(A[r+4>>2]=e,fr(e)),fr(r))}function De(r){var e,i=0,f=0;if((0|(i=A[r+4>>2]))!=(0|(e=A[r>>2])))for(;(f=A[i-12>>2])&&(A[i-8>>2]=f,fr(f)),(f=A[i-28>>2])&&(A[i-24>>2]=f,fr(f)),(f=A[i-40>>2])&&(A[i-36>>2]=f,fr(f)),je(i-140|0),(0|e)!=(0|(i=i-144|0)););A[r+4>>2]=e}function Je(r,e,i){var a;if(!(a=A[r+36>>2]))return A[r+24>>2]=i,A[r+16>>2]=e,A[r+36>>2]=1,void(A[r+20>>2]=A[r+56>>2]);r:{if(!(A[r+20>>2]!=A[r+56>>2]|A[r+16>>2]!=(0|e))){if(2!=A[r+24>>2])break r;return void(A[r+24>>2]=i)}f[r+54|0]=1,A[r+24>>2]=2,A[r+36>>2]=a+1}}function we(r,e){var i,f;return f=ni(40),A[f>>2]=-1,A[(i=f+8|0)+16>>2]=0,A[i+20>>2]=0,A[i+8>>2]=0,A[i>>2]=0,A[i+4>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,Uf[A[A[r>>2]+16>>2]](r,f),r=A[e+88>>2],A[e+88>>2]=f,r&&((e=A[r+8>>2])&&(A[r+12>>2]=e,fr(e)),fr(r)),1}function Be(r,e){var i,a=0,t=0,b=0;F=i=F-16|0,e&&(Be(r,A[e>>2]),a=A[e+28>>2],A[e+28>>2]=0,b=A[e+4>>2],a&&(t=A[a+16>>2],A[i+12>>2]=a+12,Be(i+12|0,t),t=A[a+4>>2],A[i+8>>2]=a,$e(i+8|0,t),fr(a)),f[e+27|0]<0&&fr(A[e+16>>2]),fr(e),Be(r,b)),F=i+16|0}function Ie(r){var e,i,f=0,a=0,t=0;return t=b[r+12|0],(a=A[r+8>>2])>>>0>4095||(0|(f=A[r+4>>2]))<=0||(f=f-1|0,A[r+4>>2]=f,a=b[f+A[r>>2]|0]|a<<8),f=d(t=0-t&255,a>>>8|0),i=(e=255&a)>>>0<t>>>0,A[r+8>>2]=i?f+e|0:a-(f+t|0)|0,i}function Me(r,e){return A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=1828,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,A[r+40>>2]=0,A[r>>2]=2068,A[r+44>>2]=0,A[r+48>>2]=0,A[r+52>>2]=0,A[r+56>>2]=0,A[r+60>>2]=e,r}function Qe(r,e){var i=0,f=0,a=0;r:{if(i=A[r>>2],!(A[r+8>>2]-i>>2>>>0>=e>>>0)){if(e>>>0>=1073741824)break r;f=A[r+4>>2],e=ni(a=e<<2),(f=f-i|0)&&_(e,i,f),A[r+8>>2]=e+a,A[r+4>>2]=e+f,A[r>>2]=e,i&&fr(i)}return}uf(),c()}function ge(r){var e=0,i=0;(r|=0)&&(e=A[r+88>>2],A[r+88>>2]=0,e&&((i=A[e+8>>2])&&(A[e+12>>2]=i,fr(i)),fr(e)),(e=A[r+68>>2])&&(A[r+72>>2]=e,fr(e)),e=A[r+64>>2],A[r+64>>2]=0,e&&((i=A[e>>2])&&(A[e+4>>2]=i,fr(i)),fr(e)),fr(r))}function Oe(r,e,i,f){var a,t=0,A=0;return a=(A=e^f)>>31,A>>=31,r=mr((r^=t=e>>31)-t|0,t=(e^t)-((r>>>0<t>>>0)+t|0)|0,(e=i^(r=f>>31))-r|0,(r^f)-((r>>>0>e>>>0)+r|0)|0)^A,j=(a^j)-((r>>>0<A>>>0)+a|0)|0,e=r-A|0}function Xe(r,e){var i,f,a;F=i=F-32|0,f=A[r+4>>2],A[i+12>>2]=f,a=A[r+8>>2],A[i+24>>2]=r,A[i+20>>2]=e,A[i+16>>2]=i+12,f>>>0<a>>>0?(A[f>>2]=A[e>>2],e=f+4|0):($r(i+16|0),e=A[i+12>>2]),A[r+4>>2]=e,F=i+32|0}function Ce(r,e){var i,a=0,t=0;if((i=Ee(e))>>>0<2147483639)return i>>>0<=10?(f[r+11|0]=i,a=r):(a=ni((t=2147483640&i)+8|0),A[r+8>>2]=t-2147483640,A[r+4>>2]=i,A[r>>2]=a),i&&_(a,e,i),f[i+a|0]=0,r;_f(),c()}function ze(r,e,i,f){var a,t,A,b,o=0,n=0;return b=d(o=i>>>16|0,n=r>>>16|0),o=(65535&(n=((A=d(a=65535&i,t=65535&r))>>>16|0)+d(n,a)|0))+d(o,t)|0,j=(d(e,i)+b|0)+d(r,f)+(n>>>16)+(o>>>16)|0,65535&A|o<<16}function He(r,e){var i;if(F=i=F-16|0,e>>>0<2147483639)return e>>>0<=10?f[r+11|0]=e:(hi(i+4|0,e),A[r+8>>2]=A[i+12>>2],e=A[i+8>>2],A[r>>2]=A[i+4>>2],A[r+4>>2]=e,r=A[r>>2]),F=i+16|0,r;vf(),c()}function Pe(r,e){var i,f=0;if((0|(i=A[r+8>>2]))!=(0|(r=A[r+12>>2])))for(f=(r=r-i>>2)>>>0<=1?1:r,r=0;;){if(A[A[(r<<2)+i>>2]+60>>2]==(0|e))return r;if((0|f)==(0|(r=r+1|0)))break}return-1}function Se(r){var e,i,f=0;f=(r=r+7|0)>>>0<7?1:f;r:{if(!((r=(i=-8&r)+(e=A[2851])|0)>>>0<i>>>0?f+1|0:f)){if(r>>>0<=Gf()<<16>>>0)break r;if(0|V(0|r))break r}return A[2867]=48,-1}return A[2851]=r,e}function xe(r,e,i){var a,t,b=0,o=0;for(F=a=F-16|0,f[a+14|0]=0,e=e-r>>2,t=A[i>>2];e;)e=(o=p[(b=((i=e>>>1|0)<<2)+r|0)>>2]<t>>>0)?(-1^i)+e|0:i,r=o?b+4|0:r;return F=a+16|0,r}function Le(r){return A[r+40>>2]=0,A[r>>2]=9984,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,A[r+32>>2]=0,t[r+36>>1]=0,A[r+44>>2]=0,A[r>>2]=8036,r}function Ke(r){return A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+40>>2]=0,A[r+44>>2]=0,A[r+28>>2]=9,f[r+24|0]=1,A[r+48>>2]=0,A[r+52>>2]=0,A[r+56>>2]=-1,A[r+60>>2]=0,r}function qe(r,e,i){var a;(a=2147483647&A[r+8>>2])>>>0<=i>>>0?de(r,a-1|0,1+(i-a|0)|0,r=A[r+4>>2],r,i,e):(A[r+4>>2]=i,r=A[r>>2],i&&_(r,e,i),f[r+i|0]=0)}function $e(r,e){var i=0,a=0;if(e)for(;$e(r,A[e>>2]),a=A[e+4>>2],(i=A[e+28>>2])&&(A[e+32>>2]=i,fr(i)),f[e+27|0]<0&&fr(A[e+16>>2]),fr(e),e=a;);}function ri(r,e,i){return e&&(e=0,!ue(1,i,r))||(f[r+36|0]=1,A[r+32>>2]=0,i=(e=A[r+16>>2])+A[r>>2]|0,A[r+24>>2]=i,A[r+28>>2]=i+(A[r+8>>2]-e|0),e=1),e}function ei(r,e){var i=0;if(e)for(;ei(r,A[e>>2]),i=A[e+4>>2],f[e+39|0]<0&&fr(A[e+28>>2]),f[e+27|0]<0&&fr(A[e+16>>2]),fr(e),e=i;);}function ii(r,e){var i;return e>>>0>=2147483639&&(vf(),c()),i=(r=f[r+11|0]>=0?10:(2147483647&A[r+8>>2])-1|0)<<1,r>>>0>1073741811?2147483638:e>>>0>i>>>0?e:i}function fi(r){var e=0;return A[(r|=0)>>2]=2188,e=A[r+20>>2],A[r+20>>2]=0,e&&Uf[A[A[e>>2]+4>>2]](e),A[r>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),0|r}function ai(r){var e=0;return!A[(r|=0)+64>>2]|!A[r+68>>2]|!A[r+44>>2]|!A[r+48>>2]||!A[r+52>>2]|!A[r+56>>2]||(e=-1!=A[r+92>>2]),0|e}function ti(r){var e=0;return!A[(r|=0)+48>>2]|!A[r+52>>2]|!A[r+28>>2]|!A[r+32>>2]||!A[r+36>>2]|!A[r+40>>2]||(e=-1!=A[r+76>>2]),0|e}function Ai(r){var e=0;return A[(r|=0)>>2]=8580,(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=8836,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),0|r}function bi(r){var e=0;A[(r|=0)>>2]=2188,e=A[r+20>>2],A[r+20>>2]=0,e&&Uf[A[A[e>>2]+4>>2]](e),A[r>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),fr(r)}function oi(r,e){var i=0,f=0;return A[r>>2]=11236,f=ni((i=Ee(e))+13|0),A[f+8>>2]=0,A[f+4>>2]=i,A[f>>2]=i,f=f+12|0,(i=i+1|0)&&_(f,e,i),A[r+4>>2]=f,r}function ni(r){var e,i=0;for(e=r>>>0<=1?1:r;!(r=D(e))&&(i=A[2992]);)Uf[0|i]();return r||(vf(),c()),r}function ki(r,e){var i,f=0,a=0;F=i=F-16|0,e&&(ki(r,A[e>>2]),f=A[e+4>>2],a=A[e+24>>2],A[i+12>>2]=e+20,ei(i+12|0,a),fr(e),ki(r,f)),F=i+16|0}function ci(r,e){var i=0;return i=-1,-1==(0|e)|(0|e)>4||(e=d(e,12)+r|0,r=A[e+20>>2],(A[e+24>>2]-r|0)<=0||(i=A[r>>2])),i}function ui(r,e,i,a,t,b,o){A[r>>2]=0,A[r+56>>2]=e,A[r+48>>2]=0,A[r+52>>2]=0,A[r+40>>2]=b,A[r+44>>2]=o,f[r+32|0]=t,A[r+28>>2]=a,f[r+24|0]=i}function _i(r,e,i){i>>>0>=11?de(r,10,i-10|0,r=127&b[r+11|0],r,i,e):(f[r+11|0]=i,i&&_(r,e,i),f[r+i|0]=0)}function si(r){var e,i,f;return A[(r|=0)>>2]=11236,e=A[r+4>>2],f=A[(i=e-4|0)>>2]-1|0,A[i>>2]=f,(0|f)<0&&fr(e-12|0),0|r}function pi(r,e,i){return e|=0,i|=0,A[(r|=0)+4>>2]=e,e=A[A[A[e+4>>2]+8>>2]+(i<<2)>>2],A[r+12>>2]=i,A[r+8>>2]=e,1}function li(r){var e=0;return!A[(r|=0)+60>>2]|!A[r+44>>2]|!A[r+48>>2]|!A[r+52>>2]||(e=0!=A[r+56>>2]),0|e}function yi(r,e){var i;f[r+11|0]<0&&fr(A[r>>2]),A[r+8>>2]=A[e+8>>2],i=A[e+4>>2],A[r>>2]=A[e>>2],A[r+4>>2]=i}function di(r){var e=0;return!A[(r|=0)+52>>2]|!A[r+44>>2]|!A[r+48>>2]||(e=0!=A[r+56>>2]),0|e}function vi(r,e){r|=0;var i=0;return A[(e|=0)+56>>2]|!e|3!=b[e+24|0]||(A[r+60>>2]=e,i=1),0|i}function mi(r){var e,i;return((i=(0|(e=f[r+11|0]))<0)?A[r+4>>2]:e)||(vf(),c()),i?A[r>>2]:r}function Ni(r,e){r|=0;var i=0;return A[(e|=0)+56>>2]|3!=b[e+24|0]||(A[r+64>>2]=e,i=1),0|i}function hi(r,e){var i,f;f=ni(i=8+(-8&e)|0),A[r+8>>2]=-2147483648|i,A[r+4>>2]=e,A[r>>2]=f}function Ri(r,e){r|=0;var i=0;return A[(e|=0)+56>>2]|3!=b[e+24|0]||(A[r+48>>2]=e,i=1),0|i}function Wi(r){var e;A[(r|=0)>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)}function Ui(r){for(var e=0;r;)r&=r-1,e=e+1|0;return e}function Gi(r){var e;return(-1>>>(e=31&r)&-2)<<e|(-1<<(r=0-r&31)&-2)>>>r}function Zi(){var r;return r=ni(12),A[r+8>>2]=0,A[r>>2]=0,A[r+4>>2]=0,0|r}function Vi(r){var e=0;(r|=0)&&((e=A[r>>2])&&(A[r+4>>2]=e,fr(e)),fr(r))}function Ti(){var r;r=oi($i(8),1141),A[r>>2]=11336,Z(0|r,11348,1),c()}function Fi(r,e){return r|=0,(e|=0)>>>0<=1&&(A[r+28>>2]=e),e>>>0<2|0}function ji(){var r;r=$i(4),A[r>>2]=11124,Z(0|r,11188,14),c()}function Ei(r,e){return e|=0,0|Uf[A[A[(r|=0)>>2]+12>>2]](r,e)}function Yi(r){r=oi($i(8),r),A[r>>2]=11284,Z(0|r,11296,1),c()}function Di(r,e){return e|=0,A[A[(r|=0)>>2]+(e<<2)>>2]}function Ji(r,e,i){return 0|Ar(r|=0,e|=0,i|=0)}function wi(r,e,i){r=He(r,i),(i=i+1|0)&&_(r,e,i)}function Bi(r){return r?31-N(r-1^r)|0:32}function Ii(r){return A[(r|=0)+12>>2]-A[r+8>>2]>>2}function Mi(r){(r|=0)&&Uf[A[A[r>>2]+4>>2]](r)}function Qi(r,e){return e|=0,A[(r|=0)+4>>2]=e,1}function gi(r){return A[(r|=0)+4>>2]-A[r>>2]>>2}function Oi(r){return A[(r|=0)+4>>2]-A[r>>2]>>1}function Xi(r,e,i,f){c()}function Ci(r){return A[(r|=0)+4>>2]-A[r>>2]|0}function zi(r,e){e|=0,A[(r|=0)+104>>2]=e}function Hi(r){return A[(r|=0)+80>>2]}function Pi(r){return A[(r|=0)+28>>2]}function Si(r,e){return 1}function xi(r){return A[(r|=0)+8>>2]}function Li(r,e){return-1}function Ki(r,e){return 6}function qi(r){return A[(r|=0)+4>>2]}function $i(r){return D(r+80|0)+80|0}function rf(r,e){return 0}function ef(r){return A[(r|=0)>>2]}function ff(r){(r|=0)&&fr(r)}function af(r){si(r|=0),fr(r)}function tf(r){return 0|(r|=0)}function Af(r){return 1}function bf(r){return 4}function of(r){return 5}function nf(r){return 2}function kf(r){return 0}function cf(r){return 6}function uf(){Yi(1141),c()}function _f(){Yi(1258),c()}function sf(r){fr(r|=0)}function pf(r){c()}function lf(){return-1}function yf(){return 1}function df(){return 0}function vf(){Rf(),c()}function mf(){return 3}function Nf(){return 2}function hf(){return 4}function Rf(){T(),c()}function Wf(r){0}a(e=b,1028,"OAQAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAABgrAABEBAAA9AYAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FACVzOiVkOiAlcwB2ZWN0b3IAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL3ByaXZhdGVfdHlwZWluZm8uY3BwAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAY2F0Y2hpbmcgYSBjbGFzcyB3aXRob3V0IGFuIG9iamVjdD8AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAAAAAAAAAAC8BgAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAAGCsAAMgGAAD0BgAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAADwKgAA/AYAAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAAAAAAAAAAFQHAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAYKwAAYAcAAHwHAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUA8CoAAIQHAABONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAAAAAAAAAANgHAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAADwKgAA4AcAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQAAAAD/////AAAAAEgIAAAvAAAAMAAAABwAAAAxAAAAMgAAAB8AAAAgAAAAIQAAADMAAAA0AAAANQAAADYAAAA3AAAAGCsAAFQIAABUBwAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAAAAAAMAIAAA4AAAAOQAAADoAAAApAAAAKgAAACsAAAA7AAAALQAAADwAAAA9AAAAPgAAAD8AAABAAAAAGCsAAMwIAADYBwAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQAAAAAANAkAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAAAYKwAAQAkAAOQJAABONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAABgrAADwCQAAiAoAAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCsAAJQKAADoCgAATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUAGCsAAPQKAAAoCwAATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFABgrAAA0CwAAYAsAAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQAA8CoAAGgLAABONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQAAAAAAiAoAAEEAAABOAAAAIwAAAEQAAAAjAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAACMAAAAAAAAABAwAAE8AAABQAAAAUQAAAEQAAABSAAAARgAAAEcAAABIAAAASQAAAEoAAABTAAAATAAAAFQAAAAYKwAAEAwAAOQJAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAA0AAFUAAABWAAAAVwAAAEQAAABYAAAAWQAAAFoAAABbAAAASQAAAEoAAABcAAAAXQAAAF4AAAAYKwAADA0AAOQJAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAA8A0AAF8AAABgAAAAYQAAAEQAAABiAAAAYwAAAGQAAABlAAAASQAAAEoAAABmAAAATAAAAGcAAAAYKwAA/A0AAOQJAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAAAAAAAAwA4AAGgAAABpAAAAagAAAGsAAABsAAAAGCsAAMwOAAB4DwAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAPAqAACADwAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAAAABoEAAAQQAAAG0AAABuAAAARAAAAG8AAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAAcAAAABgrAAB0EAAADBEAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAGCsAABgRAACICgAATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAAAAAAAA4BEAAHEAAAByAAAAcwAAAEQAAAB0AAAARgAAAEcAAABIAAAASQAAAEoAAAB1AAAATAAAAHYAAAAYKwAA7BEAAAwRAABONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAA0BIAAHcAAAB4AAAAeQAAAEQAAAB6AAAAewAAAHwAAAB9AAAASQAAAEoAAAB+AAAAfwAAAIAAAAAYKwAA3BIAAAwRAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAtBMAAIEAAACCAAAAgwAAAEQAAACEAAAAhQAAAIYAAACHAAAASQAAAEoAAACIAAAATAAAAIkAAAAYKwAAwBMAAAwRAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAB0FAAAigAAAIsAAACMAAAAjQAAAI4AAAAYKwAAgBQAACAVAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA8CoAACgVAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAAAAAAAQWAABBAAAAjwAAAJAAAABEAAAAkQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAACSAAAAGCsAABAWAACICgAATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQAAAAAAAAAAqBYAAJMAAACUAAAAlQAAACkAAAAqAAAAlgAAADsAAAAtAAAAPAAAAJcAAACYAAAAmQAAAJoAAAAYKwAAtBYAAMAIAABONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUAAAAAAAAcFwAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAABMAAAApgAAABgrAAAoFwAA6BcAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAABgrAAD0FwAApBgAAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCsAALAYAADoCgAATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUAAAAAADgZAACnAAAAqAAAAKkAAACqAAAAqwAAABgrAABEGQAACBoAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAADwKgAAEBoAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAAAAEBsAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAATAAAALQAAAAYKwAAHBsAAMwbAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgrAADYGwAApBgAAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAAJgcAAC1AAAAtgAAALcAAAC4AAAAuQAAABgrAACkHAAAXB0AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAADwKgAAZB0AAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAAAAAAAAWB4AALoAAAC7AAAAvAAAAJ4AAAC9AAAAvgAAAL8AAADAAAAAowAAAKQAAADBAAAATAAAAMIAAAAYKwAAZB4AAKQYAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAAAAAAAcHwAAwwAAAMQAAADFAAAAKQAAACoAAADGAAAAOwAAAC0AAAA8AAAAxwAAAD4AAAA/AAAAyAAAAMkAAADKAAAAGCsAACgfAADACAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAAAAAACYHwAAywAAAMwAAADNAAAAzgAAACMAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIwAAABgrAACkHwAAUCcAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAAAAAAD4HwAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAABgrAAAEIAAAmB8AAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAAAAAACMIAAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAHCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAAAYKwAAmCAAAOQgAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUA8CoAAOwgAABONWRyYWNvMzVNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUAAAAYKwAAKCEAAOQgAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAAAAAAAAkCEAAPMAAAD0AAAA9QAAABgrAACcIQAADCIAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAAADwKgAAFCIAAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAAAAAAAwiAAD2AAAA9wAAAPUAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC8IgAA+AAAAPkAAAD6AAAA+wAAABgrAADIIgAAUCMAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAADwKgAAWCMAAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAD/////AAAAAIwjAAD8AAAA/QAAAP4AAAAYKwAAmCMAAAQkAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAAADwKgAADCQAAE41ZHJhY28xM1RyYXZlcnNlckJhc2VJTlNfMTFDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFAAAAAAAAAAQkAAD/AAAAAAEAAP4AAAAAAAAAlCQAAAEBAAACAQAAAwEAAAQBAAAYKwAAoCQAAFAjAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMyX0VFRUVFRQAAAAAAAAA0JQAABQEAAAYBAAD+AAAAGCsAAEAlAAAEJAAATjVkcmFjbzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18xMUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAAAAAALglAAAHAQAACAEAAAkBAAAKAQAAGCsAAMQlAABQIwAATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAAAAAjCYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAAAYKwAAmCYAAJgfAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAAAAAADQJgAADgEAAA8BAAAQAQAAEQEAABgrAADcJgAAUCMAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAAAAAAAAUCcAAMsAAAASAQAAEwEAAM4AAAAjAAAAFAEAANAAAADRAAAA0g=="),a(e,10032,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4AAADwKgAAWCcAAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQABAQICBAQICAQIAQAAAADAAAAAwAAAAMAAAADA//////////8AAAAAsCcAABUBAAAWAQAAFwEAABgBAAAYKwAAvCcAAOwnAABONWRyYWNvNE1lc2hFAAAA/////wAAAAAAAAAA7CcAABkBAAAaAQAAGwEAABwBAADwKgAA9CcAAE41ZHJhY28xMFBvaW50Q2xvdWRF"),a(e,10260,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAAAAAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5ORgrAACUKgAAdCwAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAABgrAADEKgAAiCoAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAAAAAAC4KgAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAAAAAAOCsAAB0BAAAlAQAAHwEAACABAAAhAQAAJgEAACcBAAAoAQAAGCsAAEQrAAC4KgAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAC0KwAADgAAACkBAAAqAQAA8CoAAIgrAABTdDlleGNlcHRpb24AAAAAGCsAAKQrAACAKwAAU3Q5YmFkX2FsbG9jAAAAABgrAADAKwAAmCsAAFN0MjBiYWRfYXJyYXlfbmV3X2xlbmd0aAAAAAAAAAAA8CsAAAEAAAArAQAALAEAABgrAAD8KwAAgCsAAFN0MTFsb2dpY19lcnJvcgAAAAAAICwAAAEAAAAtAQAALAEAABgrAAAsLAAA8CsAAFN0MTJsZW5ndGhfZXJyb3IAAAAAAAAAAFQsAAABAAAALgEAACwBAAAYKwAAYCwAAPArAABTdDEyb3V0X29mX3JhbmdlAAAAAPAqAAB8LAAAU3Q5dHlwZV9pbmZv"),a(e,11404,"0C4B");var Uf=[null,si,tf,sf,nf,function(r,e){r|=0;var i=0;return!(e=A[(e|=0)+88>>2])|2!=A[e>>2]||(i=r,r=A[e+8>>2],A[i+4>>2]=b[0|r]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24,i=1),0|i},function(r,e){r|=0;var i,a=0;A[(e|=0)>>2]=2,a=A[e+8>>2],(i=A[e+12>>2]-a|0)>>>0<=4294967291&&(re(e+8|0,i+4|0),a=A[e+8>>2]),e=a+i|0,r=A[r+4>>2],f[0|e]=r,f[e+1|0]=r>>>8,f[e+2|0]=r>>>16,f[e+3|0]=r>>>24},Xi,Gr,function(r,e){e|=0;var i,a=0,t=0;return F=i=F-16|0,-1!=(0|(r=A[(r|=0)+4>>2]))&&(f[i+15|0]=r,t=A[e+16>>2],(a=(0|(a=A[e+20>>2]))>0?1:!!t&(0|a)>=0)||br(e,A[e+4>>2],i+15|0,i+16|0,1)),F=i+16|0,-1!=(0|r)|0},Fe,function(r,e,i){e|=0,i|=0;var a,t,o,n,k,c=0;return F=a=F+-64|0,c=0|Uf[A[A[(r|=0)>>2]+44>>2]](r,e),r=0|Uf[A[A[r>>2]+40>>2]](r,e),t=Ke(a),o=A[e+56>>2],n=255&c,k=r,r=(r=r-1|0)>>>0<=10?b[r+10100|0]:-1,ui(t,o,n,k,0,c=d(r,c),c>>31),Hr(r=zr(ni(96),t),i),f[r+84|0]=1,A[r+72>>2]=A[r+68>>2],A[r+60>>2]=A[e+60>>2],F=a- -64|0,0|r},Ki,function(r,e){return 2},tf,function(r){var e;return A[(r|=0)>>2]=1676,(e=A[r+8>>2])&&(A[r+12>>2]=e,fr(e)),0|r},function(r){var e;A[(r|=0)>>2]=1676,(e=A[r+8>>2])&&(A[r+12>>2]=e,fr(e)),fr(r)},Af,function(r,e){r|=0;var i=0,f=0,a=0,t=0,o=0,n=0,k=0,c=0,u=0;if(!(!(i=A[(e|=0)+88>>2])|1!=A[i>>2])){a=A[i+8>>2],A[r+4>>2]=b[0|a]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,Lr(r+8|0,b[e+24|0]),a=A[i+8>>2];r:if(i=b[e+24|0]){if(o=3&i,n=A[r+8>>2],e=4,i>>>0>=4){for(u=252&i;i=e+a|0,A[(t=(f<<2)+n|0)>>2]=b[0|i]|b[i+1|0]<<8|b[i+2|0]<<16|b[i+3|0]<<24,A[t+4>>2]=b[i+4|0]|b[i+5|0]<<8|b[i+6|0]<<16|b[i+7|0]<<24,A[t+8>>2]=b[i+8|0]|b[i+9|0]<<8|b[i+10|0]<<16|b[i+11|0]<<24,A[t+12>>2]=b[i+12|0]|b[i+13|0]<<8|b[i+14|0]<<16|b[i+15|0]<<24,f=f+4|0,e=e+16|0,(0|u)!=(0|(k=k+4|0)););if(!o)break r}for(;i=e+a|0,A[(f<<2)+n>>2]=b[0|i]|b[i+1|0]<<8|b[i+2|0]<<16|b[i+3|0]<<24,f=f+1|0,e=e+4|0,(0|(c=c+1|0))!=(0|o););}else e=4;f=r,r=e+a|0,A[f+20>>2]=b[0|r]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24,f=1}return 0|f},function(r,e){r|=0;var i,a=0,t=0,b=0,o=0;if(A[(e|=0)>>2]=1,i=e+8|0,a=A[e+8>>2],(t=A[e+12>>2]-a|0)>>>0<=4294967291&&(re(i,t+4|0),a=A[i>>2]),a=a+t|0,t=A[r+4>>2],f[0|a]=t,f[a+1|0]=t>>>8,f[a+2|0]=t>>>16,f[a+3|0]=t>>>24,(0|(a=A[r+8>>2]))!=A[r+12>>2])for(t=0;o=(t<<2)+a|0,a=A[e+8>>2],(b=A[e+12>>2]-a|0)>>>0<=4294967291&&(re(i,b+4|0),a=A[i>>2]),a=a+b|0,b=A[o>>2],f[0|a]=b,f[a+1|0]=b>>>8,f[a+2|0]=b>>>16,f[a+3|0]=b>>>24,t=t+1|0,a=A[r+8>>2],t>>>0<A[r+12>>2]-a>>2>>>0;);(a=(a=A[e+12>>2])-(e=A[e+8>>2])|0)>>>0<=4294967291&&(re(i,a+4|0),e=A[i>>2]),e=e+a|0,r=A[r+20>>2],f[0|e]=r,f[e+1|0]=r>>>8,f[e+2|0]=r>>>16,f[e+3|0]=r>>>24},Xi,vr,function(r,e){e|=0;var i,a,t=0,b=0;return F=i=F-16|0,-1!=(0|(a=A[(r|=0)+4>>2]))&&(b=A[e+16>>2],(t=(0|(t=A[e+20>>2]))>0?1:!!b&(0|t)>=0)||(b=A[r+8>>2],t=A[r+12>>2],br(e,A[e+4>>2],b,t,t-b|0),b=A[e+16>>2],(t=(0|(t=A[e+20>>2]))>0?1:!!b&(0|t)>=0)||(br(e,A[e+4>>2],r+20|0,r+24|0,4),b=A[e+16>>2],t=A[e+20>>2],f[i+15|0]=A[r+4>>2],!!b&(0|t)>=0|(0|t)>0||br(e,A[e+4>>2],i+15|0,i+16|0,1)))),F=i+16|0,-1!=(0|a)|0},Tr,Ki,function(r,e){return b[(e|=0)+24|0]},function(r){var e=0;return A[(r|=0)>>2]=1828,(e=A[r+16>>2])&&(A[r+20>>2]=e,fr(e)),(e=A[r+4>>2])&&(A[r+8>>2]=e,fr(e)),0|r},pf,function(r,e,i){return e|=0,i|=0,A[(r|=0)+32>>2]=i,A[r+28>>2]=e,1},ur,function(r,e){e|=0;var i=0;return 0|Uf[A[A[(r|=0)>>2]+36>>2]](r,e)&&0|Uf[A[A[r>>2]+40>>2]](r,e)&&(i=0|Uf[A[A[r>>2]+44>>2]](r)),0|i},function(r,e){return e|=0,A[A[(r|=0)+4>>2]+(e<<2)>>2]},function(r){return A[(r|=0)+8>>2]-A[r+4>>2]>>2},Pi,rf,function(){vf(),c()},Si,Af,function(r){var e;return A[(r|=0)>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),0|r},function(r){var e;A[(r|=0)>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),fr(r)},pi,function(r,e){return e|=0,A[(r|=0)+12>>2]=-1,A[r+8>>2]=e,1},function(r,e,i){e|=0,i|=0;var f,a=0;return f=A[(r|=0)+8>>2],b[f+24|0]&&Hr(f,A[e+4>>2]-A[e>>2]>>2)&&(a=0|Uf[A[A[r>>2]+32>>2]](r,e,i)),0|a},function(r,e,i){return 1},Si,function(r,e){r|=0;var i=0,f=0,a=0,t=0,b=0,o=0;a=1;r:if(!((0|Uf[A[A[(e|=0)>>2]+20>>2]](e))<=0))for(;;){if(a=0,-1==(0|(f=ci(A[A[r+4>>2]+4>>2],0|Uf[A[A[e>>2]+24>>2]](e,t)))))break r;if(i=A[r+4>>2],b=0,(0|f)<0||(o=A[i+4>>2],A[o+12>>2]-A[o+8>>2]>>2<=(0|f)||(i=A[A[i+8>>2]+(A[A[i+20>>2]+(f<<2)>>2]<<2)>>2],b=0|Uf[A[A[i>>2]+32>>2]](i,f))),!b)break r;if(!(0|Uf[A[A[e>>2]+28>>2]](e,b)))break r;if(a=1,t=t+1|0,!((0|Uf[A[A[e>>2]+20>>2]](e))>(0|t)))break}return 0|a},function(r,e,i){r|=0,i|=0;var f,a,t=0,b=0,o=0,n=0,k=0,c=0,u=0,s=0,p=0;n=A[(e|=0)>>2],t=A[e+4>>2],c=1,f=ni((e=A[A[r+8>>2]+40>>2])>>31|e);r:if(!((0|(a=t-n>>2))<=0))for(;;){if(o=A[i+8>>2],u=t=A[i+12>>2],b=0+A[i+20>>2]|0,c=(0|(b=e>>>0>(k=e+(n=A[i+16>>2])|0)>>>0?b+1|0:b))<=(0|t)&o>>>0>=k>>>0|(0|b)<(0|t),o>>>0<(t=k)>>>0&(0|b)>=(0|u)|(0|b)>(0|u))break r;if((o=!e)||_(f,A[i>>2]+n|0,e),A[i+16>>2]=t,A[i+20>>2]=b,o||_(A[A[A[r+8>>2]+64>>2]>>2]+s|0,f,e),s=e+s|0,(0|a)==(0|(p=p+1|0)))break}return fr(f),0|c},function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=2068,i=A[r+60>>2],A[r+60>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(i=A[r+48>>2])&&(A[r+52>>2]=i,fr(i)),e=A[r+36>>2]){if((0|(f=A[r+40>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+36>>2]}A[r+40>>2]=e,fr(i)}return A[r>>2]=1828,(i=A[r+16>>2])&&(A[r+20>>2]=i,fr(i)),(i=A[r+4>>2])&&(A[r+8>>2]=i,fr(i)),0|r},function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=2068,i=A[r+60>>2],A[r+60>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(i=A[r+48>>2])&&(A[r+52>>2]=i,fr(i)),e=A[r+36>>2]){if((0|(f=A[r+40>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+36>>2]}A[r+40>>2]=e,fr(i)}A[r>>2]=1828,(i=A[r+16>>2])&&(A[r+20>>2]=i,fr(i)),(i=A[r+4>>2])&&(A[r+8>>2]=i,fr(i)),fr(r)},function(r,e){var i=0,f=0,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0;r:if(ur(r|=0,e|=0)&&(Mr(r+36|0,o=0|Uf[A[A[r>>2]+24>>2]](r)),i=1,!((0|o)<=0))){for(;;){if(!((0|(i=A[e+20>>2]))>=(0|(a=A[e+12>>2]))&(f=A[e+16>>2])>>>0>=p[e+8>>2]|(0|i)>(0|a))&&(a=b[A[e>>2]+f|0],i=(f=f+1|0)?i:i+1|0,A[e+16>>2]=f,A[e+20>>2]=i,i=0|Uf[A[A[r>>2]+48>>2]](r,a),n=(a=t<<2)+A[r+36>>2]|0,f=A[n>>2],A[n>>2]=i,f&&(Uf[A[A[f>>2]+4>>2]](f),i=A[A[r+36>>2]+a>>2]),i&&(c=i,u=0|Uf[A[A[r>>2]+28>>2]](r),_=0|Uf[A[A[r>>2]+20>>2]](r,t),k=A[A[i>>2]+8>>2],0|Uf[k](0|c,0|u,0|_)))){if(i=1,(0|o)!=(0|(t=t+1|0)))continue;break r}break}i=0}return 0|i},function(r,e){e|=0;var i=0,f=0,a=0,t=0,b=0;if((i=A[(r|=0)+60>>2])&&(A[i+4>>2]=r+48,0|Uf[A[A[i>>2]+12>>2]](i))){r:if(!((0|(i=0|Uf[A[A[r>>2]+24>>2]](r)))<=0)){for(;;){if(t=A[4+(0|Uf[A[A[r>>2]+28>>2]](r))>>2],b=0|Uf[A[A[r>>2]+20>>2]](r,f),a=A[r+60>>2],0|Uf[A[A[a>>2]+8>>2]](a,A[A[t+8>>2]+(b<<2)>>2])){if((0|i)!=(0|(f=f+1|0)))continue;break r}break}return 0}f=0,0|Uf[A[A[r>>2]+36>>2]](r,e)&&0|Uf[A[A[r>>2]+40>>2]](r,e)&&(f=0|Uf[A[A[r>>2]+44>>2]](r))}return 0|f},function(r,e){e|=0;var i,f=0;return i=A[(r|=0)+16>>2],f=0,A[r+20>>2]-i>>2<=(0|e)||(f=0,(0|(e=A[(e<<2)+i>>2]))<0||(f=ne(A[A[r+36>>2]+(e<<2)>>2]))),0|f},function(r,e){e|=0;var i,f=0,a=0,t=0;f=1;r:if(!((0|(i=0|Uf[A[A[(r|=0)>>2]+24>>2]](r)))<=0))for(t=r+48|0;;){if(f=A[A[r+36>>2]+(a<<2)>>2],!(f=0|Uf[A[A[f>>2]+16>>2]](f,t,e)))break r;if((0|i)==(0|(a=a+1|0)))break}return 0|f},function(r,e){e|=0;var i,f=0,a=0,t=0;f=1;r:if(!((0|(i=0|Uf[A[A[(r|=0)>>2]+24>>2]](r)))<=0))for(t=r+48|0;;){if(f=A[A[r+36>>2]+(a<<2)>>2],!(f=0|Uf[A[A[f>>2]+20>>2]](f,t,e)))break r;if((0|i)==(0|(a=a+1|0)))break}return 0|f},function(r){var e,i,a=0,t=0,o=0,n=0,k=0,u=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0;F=e=F-16|0,a=1;r:if(!((0|(i=0|Uf[A[A[(r|=0)>>2]+24>>2]](r)))<=0))for(m=r+48|0;;){e:{if(A[40+(0|Uf[A[A[r>>2]+28>>2]](r))>>2]&&(a=A[(y=l<<2)+A[r+36>>2]>>2],t=A[a+8>>2],n=ne(a))){o=A[40+(0|Uf[A[A[r>>2]+28>>2]](r))>>2],A[e+12>>2]=A[t+56>>2],a=ni(32),A[e+4>>2]=24,A[e+8>>2]=-2147483616,A[e>>2]=a,t=b[1232]|b[1233]<<8|b[1234]<<16|b[1235]<<24,k=b[1228]|b[1229]<<8|b[1230]<<16|b[1231]<<24,f[a+16|0]=k,f[a+17|0]=k>>>8,f[a+18|0]=k>>>16,f[a+19|0]=k>>>24,f[a+20|0]=t,f[a+21|0]=t>>>8,f[a+22|0]=t>>>16,f[a+23|0]=t>>>24,t=b[1224]|b[1225]<<8|b[1226]<<16|b[1227]<<24,k=b[1220]|b[1221]<<8|b[1222]<<16|b[1223]<<24,f[a+8|0]=k,f[a+9|0]=k>>>8,f[a+10|0]=k>>>16,f[a+11|0]=k>>>24,f[a+12|0]=t,f[a+13|0]=t>>>8,f[a+14|0]=t>>>16,f[a+15|0]=t>>>24,t=b[1216]|b[1217]<<8|b[1218]<<16|b[1219]<<24,k=b[1212]|b[1213]<<8|b[1214]<<16|b[1215]<<24,f[0|a]=k,f[a+1|0]=k>>>8,f[a+2|0]=k>>>16,f[a+3|0]=k>>>24,f[a+4|0]=t,f[a+5|0]=t>>>8,f[a+6|0]=t>>>16,f[a+7|0]=t>>>24,f[a+24|0]=0;i:{f:if(t=A[o+16>>2]){for(k=o+16|0,a=A[e+12>>2];;){if((0|(u=A[t+16>>2]))>(0|a)){if(t=A[t>>2])continue;break f}if((0|a)>(0|u)){if(t=A[t+4>>2])continue;break f}break}if((0|t)!=(0|k)&&(a=A[t+24>>2]))for(N=t+20|0,k=(u=(0|(t=f[e+11|0]))<0)?A[e>>2]:e,t=u?A[e+4>>2]:t;;){if(!((v=Ve(k,u=(p=(0|(s=f[a+27|0]))<0)?A[a+16>>2]:a+16|0,d=(p=(s=p?A[a+20>>2]:s)>>>0<t>>>0)?s:t))?(0|v)<0:t>>>0<s>>>0)){if(1!=(0|((u=Ve(u,k,d))?(0|u)<0:p))){a=Yr(N,e);break i}a=a+4|0}if(!(a=A[a>>2]))break}}a=Yr(o,e)}if(f[e+11|0]<0&&fr(A[e>>2]),a){t=A[A[y+A[r+36>>2]>>2]+8>>2],A[t+64>>2]||(a=ni(32),A[a+16>>2]=0,A[a+20>>2]=0,A[a+8>>2]=0,A[a>>2]=0,A[a+4>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,o=A[t+64>>2],A[t+64>>2]=a,o&&((a=A[o>>2])&&(A[o+4>>2]=a,fr(a)),fr(o),a=A[t+64>>2]),A[t>>2]=a,o=A[a+20>>2],A[t+8>>2]=A[a+16>>2],A[t+12>>2]=o,o=A[a+24>>2],a=A[a+28>>2],A[t+48>>2]=0,A[t+52>>2]=0,A[t+40>>2]=0,A[t+44>>2]=0,A[t+16>>2]=o,A[t+20>>2]=a);i:if(f[t+24|0]=b[n+24|0],A[t+28>>2]=A[n+28>>2],f[t+32|0]=b[n+32|0],a=A[n+44>>2],A[t+40>>2]=A[n+40>>2],A[t+44>>2]=a,a=A[n+52>>2],A[t+48>>2]=A[n+48>>2],A[t+52>>2]=a,A[t+56>>2]=A[n+56>>2],a=A[n+12>>2],A[t+8>>2]=A[n+8>>2],A[t+12>>2]=a,a=A[n+20>>2],A[t+16>>2]=A[n+16>>2],A[t+20>>2]=a,A[t+60>>2]=A[n+60>>2],(o=A[n>>2])?(a=0,(k=A[t>>2])&&(Rr(k,a=A[o>>2],o=A[o+4>>2]-a|0,0),a=1)):(A[t>>2]=0,a=1),a){f[t+84|0]=b[n+84|0],A[t+80>>2]=A[n+80>>2],(0|t)!=(0|n)&&Er(t+68|0,a=A[n+68>>2],o=A[n+72>>2],o-a>>2);f:{a:{if(a=A[n+88>>2]){if(n=ni(40),o=A[a>>2],A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,A[n>>2]=o,(0|(o=A[a+12>>2]))!=(0|(k=A[a+8>>2]))){if((0|(o=o-k|0))<0)break f;u=ni(o),A[n+8>>2]=u,s=o+u|0,A[n+16>>2]=s,o&&_(u,k,o),A[n+12>>2]=s}if(o=A[a+36>>2],A[n+32>>2]=A[a+32>>2],A[n+36>>2]=o,o=A[a+28>>2],A[n+24>>2]=A[a+24>>2],A[n+28>>2]=o,a=A[t+88>>2],A[t+88>>2]=n,a)break a;break i}if(a=A[t+88>>2],A[t+88>>2]=0,!a)break i}(t=A[a+8>>2])&&(A[a+12>>2]=t,fr(t)),fr(a);break i}uf(),c()}break e}}if(a=A[A[r+36>>2]+(l<<2)>>2],!(0|Uf[A[A[a>>2]+24>>2]](a,m))){a=0;break r}}if(a=1,(0|i)==(0|(l=l+1|0)))break}return F=e+16|0,0|a},function(r,e){r|=0,r=0;r:switch(0|(e|=0)){case 0:return r=ni(20),A[r+12>>2]=-1,A[r+16>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=1972,0|r;case 1:return r=ni(24),A[r+12>>2]=-1,A[r+16>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=1972,A[r+20>>2]=0,A[r>>2]=2188,0|r;case 2:return r=ni(48),A[r+12>>2]=-1,A[r+16>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=1972,A[r+20>>2]=0,A[r>>2]=2188,A[r+32>>2]=0,A[r+36>>2]=0,A[r+28>>2]=-1,A[r+24>>2]=1676,A[r>>2]=7904,A[r+40>>2]=0,A[r+44>>2]=0,0|r;case 3:r=ni(32),A[r+12>>2]=-1,A[r+16>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=1972,A[r+20>>2]=0,A[r>>2]=2188,A[r+28>>2]=-1,A[r+24>>2]=1032,A[r>>2]=5748;break;default:break r}return 0|r},fi,bi,pi,function(r,e){return e|=0,0|Uf[A[A[(r|=0)>>2]+48>>2]](r,A[e+4>>2]-A[e>>2]>>2)},function(r,e,i){r|=0,e|=0;var a,t,b=0,o=0,n=0,k=0,c=0,u=0,_=0;r:if(!((0|(o=t=A[(i|=0)+12>>2]))<=(0|(b=A[i+20>>2]))&(n=A[i+8>>2])>>>0<=(a=A[i+16>>2])>>>0|(0|o)<(0|b)||(u=A[i>>2],c=f[u+a|0],o=(k=a+1|0)?b:b+1|0,A[i+16>>2]=k,A[i+20>>2]=o,(c-7&255)>>>0<247))){if(-2!=(0|c)){if(n>>>0<=k>>>0&(0|o)>=(0|t)|(0|o)>(0|t))break r;if(o=f[k+u|0],b=(n=a+2|0)>>>0<2?b+1|0:b,A[i+16>>2]=n,A[i+20>>2]=b,(o-4&255)>>>0<251)break r;b=0|Uf[A[A[r>>2]+40>>2]](r,c,o),n=A[r+20>>2],A[r+20>>2]=b,n&&Uf[A[A[n>>2]+4>>2]](n)}(!(b=A[r+20>>2])||0|Uf[A[A[r>>2]+28>>2]](r,b))&&(_=0|Uf[A[A[r>>2]+36>>2]](r,e,i))}return 0|_},Ar,function(r,e,i){r|=0,e|=0;var a,t=0,b=0,o=0,n=0,k=0,u=0,s=0;if(F=a=F-48|0,1==(0|(i|=0))){b=A[r+4>>2],o=A[r+12>>2],A[a+40>>2]=0,A[a+32>>2]=0,A[a+36>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,A[a+16>>2]=0,A[a+20>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0;r:if(-2!=(0|e)){if(s=A[A[A[b+4>>2]+8>>2]+(o<<2)>>2],1==(0|Uf[A[A[b>>2]+8>>2]](b))){if(r=0,F=i=F-32|0,t=A[A[A[b+4>>2]+8>>2]+(o<<2)>>2],k=e-1|0,!(1!=(0|Uf[A[A[b>>2]+8>>2]](b))|k>>>0>5||!(u=0|Uf[A[A[b>>2]+36>>2]](b))|!(n=0|Uf[A[A[b>>2]+44>>2]](b,o))))if(r=n+12|0,o=0|Uf[A[A[b>>2]+40>>2]](b,o)){e=A[b+44>>2],A[i+24>>2]=n,A[i+16>>2]=o,A[i+12>>2]=e,A[i+20>>2]=r,r=0;e:{i:{f:switch(0|k){case 0:if(r=ni(60),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r>>2]=2304;break e;case 3:if(r=ni(112),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+60>>2]=0,A[r+64>>2]=0,A[r>>2]=3024,A[r+68>>2]=0,A[r+72>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+84>>2]=0,A[r+88>>2]=0,A[r+92>>2]=0,A[r+96>>2]=0,A[r+100>>2]=0,A[r+104>>2]=0,A[r+108>>2]=0;break e;case 4:if(r=ni(108),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+84>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+60>>2]=0,A[r+64>>2]=0,A[r>>2]=3276,e=A[i+16>>2],A[r+88>>2]=A[i+12>>2],A[r+92>>2]=e,e=A[i+24>>2],A[r+96>>2]=A[i+20>>2],A[r+100>>2]=e,A[r+104>>2]=-1;break e;case 5:break f;default:break e}if(r=ni(128),A[r+4>>2]=t,A[r>>2]=2964,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+64>>2]=0,A[r+68>>2]=0,A[r>>2]=3516,e=A[i+16>>2],A[r+72>>2]=A[i+12>>2],A[r+76>>2]=e,e=A[i+24>>2],A[r+80>>2]=A[i+20>>2],A[r+84>>2]=e,A[r+104>>2]=1065353216,A[r+108>>2]=-1,A[r+96>>2]=-1,A[r+100>>2]=-1,A[r+88>>2]=1,A[r+92>>2]=-1,A[r+60>>2]=3756,f[(e=r+112|0)+5|0]=0,f[e+6|0]=0,f[e+7|0]=0,f[e+8|0]=0,f[e+9|0]=0,f[e+10|0]=0,f[e+11|0]=0,f[e+12|0]=0,A[e>>2]=0,A[e+4>>2]=0;break e}uf(),c()}}else{b=A[b+44>>2],A[i+24>>2]=n,A[i+16>>2]=u,A[i+12>>2]=b,A[i+20>>2]=r,r=0;e:{i:{f:switch(e-1|0){case 0:if(r=ni(60),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r>>2]=4148;break e;case 3:if(r=ni(112),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+60>>2]=0,A[r+64>>2]=0,A[r>>2]=4524,A[r+68>>2]=0,A[r+72>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+84>>2]=0,A[r+88>>2]=0,A[r+92>>2]=0,A[r+96>>2]=0,A[r+100>>2]=0,A[r+104>>2]=0,A[r+108>>2]=0;break e;case 4:if(r=ni(108),A[r+4>>2]=t,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+84>>2]=0,A[r+76>>2]=0,A[r+80>>2]=0,A[r+60>>2]=0,A[r+64>>2]=0,A[r>>2]=4764,e=A[i+16>>2],A[r+88>>2]=A[i+12>>2],A[r+92>>2]=e,e=A[i+24>>2],A[r+96>>2]=A[i+20>>2],A[r+100>>2]=e,A[r+104>>2]=-1;break e;case 5:break f;default:break e}if(r=ni(128),A[r+4>>2]=t,A[r>>2]=2964,e=A[a+12>>2],A[r+8>>2]=A[a+8>>2],A[r+12>>2]=e,e=A[a+20>>2],A[r+16>>2]=A[a+16>>2],A[r+20>>2]=e,e=A[a+28>>2],A[r+24>>2]=A[a+24>>2],A[r+28>>2]=e,A[r+40>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,(0|(e=A[a+36>>2]))!=(0|(t=A[a+32>>2]))){if((0|(e=e-t|0))<0)break i;b=ni(e),A[r+32>>2]=b,o=e+b|0,A[r+40>>2]=o,e&&_(b,t,e),A[r+36>>2]=o}e=A[i+24>>2],A[r+52>>2]=A[i+20>>2],A[r+56>>2]=e,e=A[i+16>>2],A[r+44>>2]=A[i+12>>2],A[r+48>>2]=e,A[r+64>>2]=0,A[r+68>>2]=0,A[r>>2]=4992,e=A[i+16>>2],A[r+72>>2]=A[i+12>>2],A[r+76>>2]=e,e=A[i+24>>2],A[r+80>>2]=A[i+20>>2],A[r+84>>2]=e,A[r+104>>2]=1065353216,A[r+108>>2]=-1,A[r+96>>2]=-1,A[r+100>>2]=-1,A[r+88>>2]=1,A[r+92>>2]=-1,A[r+60>>2]=5216,f[(e=r+112|0)+5|0]=0,f[e+6|0]=0,f[e+7|0]=0,f[e+8|0]=0,f[e+9|0]=0,f[e+10|0]=0,f[e+11|0]=0,f[e+12|0]=0,A[e>>2]=0,A[e+4>>2]=0;break e}uf(),c()}}if(F=i+32|0,t=r,r)break r}t=ni(44),A[t+4>>2]=s,r=A[a+12>>2],A[t+8>>2]=A[a+8>>2],A[t+12>>2]=r,r=A[a+20>>2],A[t+16>>2]=A[a+16>>2],A[t+20>>2]=r,r=A[a+28>>2],A[t+24>>2]=A[a+24>>2],A[t+28>>2]=r,A[t+40>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0;e:{if((0|(r=A[a+36>>2]))!=(0|(e=A[a+32>>2]))){if((0|(r=r-e|0))<0)break e;i=ni(r),A[t+32>>2]=i,b=r+i|0,A[t+40>>2]=b,r&&_(i,e,r),A[t+36>>2]=b}A[t>>2]=5584;break r}uf(),c()}(r=A[a+32>>2])&&(A[a+36>>2]=r,fr(r))}return F=a+48|0,0|t},function(r){return b[A[(r|=0)+8>>2]+24|0]},function(r,e){e|=0;var i=0,a=0,o=0,n=0,k=0,c=0,u=0,s=0,p=0,l=0,y=0,d=0,v=0;r:{e:{i:{f:{a:{t:{A:{b:switch(a=A[(r|=0)+8>>2],A[a+28>>2]-1|0){case 0:break A;case 1:break b;case 2:break a;case 3:break t;case 4:break i;case 5:break f;default:break r}if(c=ni(o=b[a+24|0]),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,!e)break e;if(o){for(d=252&o,p=3&o,v=o>>>0<4;;){k=0,n=0;b:{if(!v){for(;s=a+(i<<2)|0,f[0|(u=n+c|0)]=A[s>>2],f[u+1|0]=A[s+4>>2],f[u+2|0]=A[s+8>>2],f[u+3|0]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break b}for(k=0;f[n+c|0]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(1!=(0|e)){for(r=1&e,e&=-2;(0|e)!=(0|(i=i+2|0)););if(!r)break e}break e}if(c=ni(o=b[a+24|0]),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,!e)break e;if(o){for(d=252&o,p=3&o,v=o>>>0<4;;){k=0,n=0;A:{if(!v){for(;s=a+(i<<2)|0,f[0|(u=n+c|0)]=A[s>>2],f[u+1|0]=A[s+4>>2],f[u+2|0]=A[s+8>>2],f[u+3|0]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break A}for(k=0;f[n+c|0]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(1!=(0|e)){for(r=1&e,e&=-2;(0|e)!=(0|(i=i+2|0)););if(!r)break e}break e}if(c=ni(o=(i=b[a+24|0])<<1),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,!e)break e;if(i){for(d=252&i,p=3&i,v=i>>>0<4,i=0;;){k=0,n=0;t:{if(!v){for(;s=a+(i<<2)|0,t[(u=(n<<1)+c|0)>>1]=A[s>>2],t[u+2>>1]=A[s+4>>2],t[u+4>>1]=A[s+8>>2],t[u+6>>1]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break t}for(k=0;t[(n<<1)+c>>1]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(1!=(0|e)){for(a=1&e,e&=-2,i=0;(n=!o)||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),n||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),(0|e)!=(0|(i=i+2|0)););if(!a)break e}if(!o)break e;_(A[A[A[r+8>>2]+64>>2]>>2],c,o);break e}if(c=ni(o=(i=b[a+24|0])<<1),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,!e)break e;if(i){for(d=252&i,p=3&i,v=i>>>0<4,i=0;;){k=0,n=0;a:{if(!v){for(;s=a+(i<<2)|0,t[(u=(n<<1)+c|0)>>1]=A[s>>2],t[u+2>>1]=A[s+4>>2],t[u+4>>1]=A[s+8>>2],t[u+6>>1]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break a}for(k=0;t[(n<<1)+c>>1]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(1!=(0|e)){for(a=1&e,e&=-2,i=0;(n=!o)||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),n||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),(0|e)!=(0|(i=i+2|0)););if(!a)break e}if(!o)break e;_(A[A[A[r+8>>2]+64>>2]>>2],c,o);break e}if(c=ni(o=(i=b[a+24|0])<<2),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,!e)break e;if(i){for(d=252&i,p=3&i,v=i>>>0<4,i=0;;){k=0,n=0;f:{if(!v){for(;s=a+(i<<2)|0,A[(u=(n<<2)+c|0)>>2]=A[s>>2],A[u+4>>2]=A[s+4>>2],A[u+8>>2]=A[s+8>>2],A[u+12>>2]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break f}for(k=0;A[(n<<2)+c>>2]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}break e}if(1!=(0|e)){for(a=1&e,e&=-2,i=0;(n=!o)||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),n||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),(0|e)!=(0|(i=i+2|0)););if(!a)break e}if(!o)break e;_(A[A[A[r+8>>2]+64>>2]>>2],c,o);break e}if(c=ni(o=(i=b[a+24|0])<<2),a=A[r+16>>2],a=A[a+80>>2]?A[A[a>>2]>>2]+A[a+48>>2]|0:0,e)if(i)for(d=252&i,p=3&i,v=i>>>0<4,i=0;;){k=0,n=0;i:{if(!v){for(;s=a+(i<<2)|0,A[(u=(n<<2)+c|0)>>2]=A[s>>2],A[u+4>>2]=A[s+4>>2],A[u+8>>2]=A[s+8>>2],A[u+12>>2]=A[s+12>>2],n=n+4|0,i=i+4|0,(0|d)!=(0|(k=k+4|0)););if(!p)break i}for(k=0;A[(n<<2)+c>>2]=A[a+(i<<2)>>2],n=n+1|0,i=i+1|0,(0|p)!=(0|(k=k+1|0)););}if(o&&_(A[A[A[r+8>>2]+64>>2]>>2]+l|0,c,o),l=o+l|0,(0|(y=y+1|0))==(0|e))break}else{if(1!=(0|e)){for(a=1&e,e&=-2,i=0;(n=!o)||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),n||_(A[A[A[r+8>>2]+64>>2]>>2],c,o),(0|e)!=(0|(i=i+2|0)););if(!a)break e}o&&_(A[A[A[r+8>>2]+64>>2]>>2],c,o)}}fr(c),c=1}return 0|c},function(r){var e;return A[(r|=0)>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},Wi,Af,qi,di,kf,Li,rf,kf,Af,function(r,e){r|=0;var i,f,a=0,t=0,o=0,n=0,k=0,c=0,u=0;return t=A[(e|=0)+8>>2],i=a=A[e+12>>2],n=a=A[e+20>>2],(a=(k=A[e+16>>2])+4|0)>>>0>t>>>0&(0|(f=a>>>0<4?n+1|0:n))>=(0|i)|(0|f)>(0|i)||(c=A[e>>2],o=b[0|(o=c+k|0)]|b[o+1|0]<<8|b[o+2|0]<<16|b[o+3|0]<<24,A[e+16>>2]=a,A[e+20>>2]=f,t>>>0<(k=k+8|0)>>>0&(0|(n=k>>>0<8?n+1|0:n))>=(0|i)|(0|n)>(0|i)||(a=b[0|(t=a+c|0)]|b[t+1|0]<<8|b[t+2|0]<<16|b[t+3|0]<<24,A[e+16>>2]=k,A[e+20>>2]=n,(0|a)<(0|o)||(A[r+16>>2]=a,A[r+12>>2]=o,!(e=(a>>31)-((o>>31)+(a>>>0<o>>>0)|0)|0)&(t=a-o|0)>>>0>2147483646|e||(u=1,e=t+1|0,A[r+20>>2]=e,e=e>>>1|0,A[r+24>>2]=e,A[r+28>>2]=0-e,1&t&&(A[r+24>>2]=e-1))))),0|u},function(r,e){},function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o,n,k,c,_,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0;if(A[(r|=0)+8>>2]=a,Lr(r+32|0,a),_=A[r+52>>2],o=A[r+48>>2],b=ni(t=a>>>0>1073741823?-1:a<<2),t&&u(b,0,t),!((0|(s=A[r+8>>2]))<=0)){for(N=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+b>>2]))>(0|(l=A[r+16>>2]))?A[s+N>>2]=l:(s=s+N|0,l=A[r+12>>2],A[s>>2]=(0|l)>(0|p)?l:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(!((0|s)<=0))for(t=0;l=(s=A[(v=t<<2)+e>>2])+(p=A[v+N>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(y=A[r+16>>2])>>>0)&(0|(y>>=31))<=(0|s)|(0|s)>(0|y)?p=p-A[r+20>>2]|0:(0|(y=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|y)||(p=(l=A[r+20>>2])+p|0),A[i+v>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););}if(t=A[r+56>>2],k=A[t>>2],n=A[t+4>>2]-k>>2,!((0|(c=d(n,a)))>(0|f)|(0|n)<2))for(W=2147483646&a,U=1&a,N=1;;){R=d(a,N);r:if(-1==(0|(t=A[(N<<2)+k>>2]))|A[A[o>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=A[A[A[o+64>>2]+12>>2]+(t<<2)>>2]))||(p=A[_>>2],l=A[o+28>>2],(0|(y=A[p+(A[(v=l+(t<<2)|0)>>2]<<2)>>2]))>=(0|N)||(0|(h=A[p+(A[l+((((h=t+1|0)>>>0)%3|0?h:t-2)<<2)>>2]<<2)>>2]))>=(0|N)||(0|(t=A[p+(A[v+((t>>>0)%3|0?-4:8)>>2]<<2)>>2]))>=(0|N))){if(!((0|s)<=0)){for(l=(d(N-1|0,a)<<2)+i|0,v=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+l>>2]))>(0|(y=A[r+16>>2]))?A[s+v>>2]=y:(s=s+v|0,y=A[r+12>>2],A[s>>2]=(0|y)>(0|p)?y:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(t=0,!((0|s)<=0))for(R=(s=R<<2)+i|0,h=e+s|0;l=(s=A[(y=t<<2)+h>>2])+(p=A[y+v>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(m=A[r+16>>2])>>>0)&(0|(m>>=31))<=(0|s)|(0|s)>(0|m)?p=p-A[r+20>>2]|0:(0|(m=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|m)||(p=(l=A[r+20>>2])+p|0),A[y+R>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););}}else{e:if(!((0|a)<=0)){if(l=(d(a,y)<<2)+i|0,v=(d(a,t)<<2)+i|0,y=(d(a,h)<<2)+i|0,t=0,h=0,1!=(0|a)){for(;A[(p=t<<2)+b>>2]=(A[p+v>>2]+A[p+y>>2]|0)-A[p+l>>2],A[(p|=4)+b>>2]=(A[p+v>>2]+A[p+y>>2]|0)-A[p+l>>2],t=t+2|0,(0|W)!=(0|(h=h+2|0)););if(!U)break e}A[(t<<=2)+b>>2]=(A[t+v>>2]+A[t+y>>2]|0)-A[t+l>>2]}if((0|s)<=0)break r;for(v=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+b>>2]))>(0|(l=A[r+16>>2]))?A[s+v>>2]=l:(s=s+v|0,l=A[r+12>>2],A[s>>2]=(0|l)>(0|p)?l:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(t=0,(0|s)<=0)break r;for(R=(s=R<<2)+i|0,h=e+s|0;l=(s=A[(y=t<<2)+h>>2])+(p=A[y+v>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(m=A[r+16>>2])>>>0)&(0|(m>>=31))<=(0|s)|(0|s)>(0|m)?p=p-A[r+20>>2]|0:(0|(m=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|m)||(p=(l=A[r+20>>2])+p|0),A[y+R>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););}if((0|n)==(0|(N=N+1|0)))break}return fr(b),(0|f)>=(0|c)|0},pf,function(r){var e=0;return A[(r|=0)>>2]=3024,(e=A[r+96>>2])&&fr(e),(e=A[r+84>>2])&&fr(e),(e=A[r+72>>2])&&fr(e),(e=A[r+60>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e=0;A[(r|=0)>>2]=3024,(e=A[r+96>>2])&&fr(e),(e=A[r+84>>2])&&fr(e),(e=A[r+72>>2])&&fr(e),(e=A[r+60>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},bf,di,function(r,e){r|=0;var i,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0;F=i=F-32|0;r:{e:if(Ue(1,i+28|0,e|=0)&&(k=A[i+28>>2],a=A[A[r+48>>2]+64>>2],!(k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)))i:{if(k){if(ae(r+60|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+60>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[A[r+48>>2]+64>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+72|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+72>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[A[r+48>>2]+64>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+84|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+84>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[A[r+48>>2]+64>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+96|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+96>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(n=0,a=A[e+8>>2],k=t=A[e+12>>2],o=t=A[e+20>>2],a>>>0<(t=(c=A[e+16>>2])+4|0)>>>0&(0|k)<=(0|(_=t>>>0<4?o+1|0:o))|(0|k)<(0|_))break r;if(s=A[e>>2],u=b[0|(u=s+c|0)]|b[u+1|0]<<8|b[u+2|0]<<16|b[u+3|0]<<24,A[e+16>>2]=t,A[e+20>>2]=_,a>>>0<(c=c+8|0)>>>0&(0|k)<=(0|(o=c>>>0<8?o+1|0:o))|(0|k)<(0|o))break r;if(t=b[0|(a=t+s|0)]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,A[e+16>>2]=c,A[e+20>>2]=o,(0|t)<(0|u))break r;if(A[r+16>>2]=t,A[r+12>>2]=u,!(e=(t>>31)-((u>>31)+(t>>>0<u>>>0)|0)|0)&(a=t-u|0)>>>0>2147483646|e)break r;if(n=1,e=a+1|0,A[r+20>>2]=e,e=e>>>1|0,A[r+24>>2]=e,A[r+28>>2]=0-e,!(1&a))break r;A[r+24>>2]=e-1;break r}n=0}return F=i+32|0,0|n},function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o,n,k,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,j=0,E=0,Y=0,D=0,J=0,w=0,B=0,I=0,M=0;if(F=b=F+-64|0,A[(r|=0)+8>>2]=a,Lr(r+32|0,a),A[b+56>>2]=0,A[b+60>>2]=0,A[b+48>>2]=0,A[b+52>>2]=0,A[b+40>>2]=0,A[b+44>>2]=0,A[b+32>>2]=0,A[b+36>>2]=0,A[b+24>>2]=0,A[b+28>>2]=0,A[b+16>>2]=0,A[b+20>>2]=0,A[b+12>>2]=0,Ir(t=b+16|0,a,_=b+12|0),A[b+12>>2]=0,Ir(12|t,a,_),A[b+12>>2]=0,Ir(b+40|0,a,_),A[b+12>>2]=0,Ir(b+52|0,a,_),!(A[r+8>>2]<=0)){for(_=A[b+16>>2],y=A[r+32>>2];(0|(s=A[(p=l<<2)+_>>2]))>(0|(t=A[r+16>>2]))?A[p+y>>2]=t:(p=p+y|0,t=A[r+12>>2],A[p>>2]=(0|t)>(0|s)?t:s),(0|(l=l+1|0))<(0|(t=A[r+8>>2])););if(!((0|t)<=0))for(l=0;p=(_=A[(v=l<<2)+e>>2])+(t=A[y+v>>2])|0,_=(_>>31)+(t>>31)|0,_=t>>>0>p>>>0?_+1|0:_,(p=(t=p)>>>0>(s=A[r+16>>2])>>>0)&(0|(s>>=31))<=(0|_)|(0|_)>(0|s)?t=t-A[r+20>>2]|0:(0|(p=(s=p=A[r+12>>2])>>31))<=(0|_)&t>>>0>=s>>>0|(0|_)>(0|p)||(t=(p=A[r+20>>2])+t|0),A[i+v>>2]=t,(0|(l=l+1|0))<A[r+8>>2];);}k=A[r+52>>2],o=A[r+48>>2],n=ni(16),A[(t=n)+8>>2]=0,A[t+12>>2]=0,A[t>>2]=0,A[t+4>>2]=0;r:{if(a){if(a>>>0>=1073741824)break r;R=ni(t=a<<2),t&&u(R,0,t)}t=A[r+56>>2],E=A[t>>2],T=A[t+4>>2]-E>>2;e:if(!((0|d(T,a))>(0|f)))if((0|T)<2)V=1;else for(Y=-2&a,D=1&a,I=-4&a,J=3&a,w=a-1|0,B=a<<2,M=r+60|0,U=1;;){i:{f:{a:if(-1!=(0|(_=A[(U<<2)+E>>2]))){p=1,s=_+2|0,G=1<<(j=(t=(_>>>0)%3|0)?_-1|0:s),f=0,Z=!!(0|t)|-1!=(0|s),V=A[o>>2],h=j>>>5<<2,l=_;t:{for(;;){if(!(A[V+(l>>>3&536870908)>>2]>>>l&1||-1==(0|(m=A[A[A[o+64>>2]+12>>2]+(l<<2)>>2]))||(N=A[k>>2],s=A[o+28>>2],(0|(v=A[N+(A[(y=s+(m<<2)|0)>>2]<<2)>>2]))>=(0|U)||(0|(s=A[N+(A[s+((((t=m+1|0)>>>0)%3|0?t:m-2)<<2)>>2]<<2)>>2]))>=(0|U)||(0|(t=A[N+(A[y+((m>>>0)%3|0?-4:8)>>2]<<2)>>2]))>=(0|U)))){N=A[(b+16|0)+d(f,12)>>2];A:if(a){if(y=(d(a,v)<<2)+i|0,v=(d(a,t)<<2)+i|0,s=(d(a,s)<<2)+i|0,W=0,m=0,w){for(;A[(t=W<<2)+N>>2]=(A[t+v>>2]+A[t+s>>2]|0)-A[t+y>>2],A[(t|=4)+N>>2]=(A[t+v>>2]+A[t+s>>2]|0)-A[t+y>>2],W=W+2|0,(0|Y)!=(0|(m=m+2|0)););if(!D)break A}A[(t=W<<2)+N>>2]=(A[t+v>>2]+A[t+s>>2]|0)-A[t+y>>2]}if(t=4,4==(0|(f=f+1|0)))break t}A:if(1&p){if(t=l-2|0,s=l+1|0,l=-1,-1==(0|(t=(s>>>0)%3|0?s:t))|A[A[o>>2]+(t>>>3&536870908)>>2]>>>t&1)break A;if(-1==(0|(s=A[A[A[o+64>>2]+12>>2]+(t<<2)>>2])))break A;l=((t=s+1|0)>>>0)%3|0?t:s-2|0}else{if((l>>>0)%3|0)s=l-1|0;else if(s=l+2|0,l=-1,-1==(0|s))break A;l=-1,A[A[o>>2]+(s>>>3&536870908)>>2]>>>s&1||-1!=(0|(t=A[A[A[o+64>>2]+12>>2]+(s<<2)>>2]))&&(l=(t>>>0)%3|0?t-1|0:t+2|0)}A:if((0|_)!=(0|l)){if(-1==(0|l)&p){if(!Z|G&A[h+A[o>>2]>>2])break A;if(-1==(0|(t=A[A[A[o+64>>2]+12>>2]+(j<<2)>>2])))break A;l=(t>>>0)%3|0?t-1|0:t+2|0,p=0}if(-1!=(0|l))continue}break}if((0|(t=f))<=0)break a}for(!a|!B||u(R,0,B),V=0,y=d(f=t-1|0,12)+M|0,l=(f=(_=A[y+4>>2])-(p=A[(v=(f<<2)+n|0)>>2])|0)>>>0<=_>>>0?f:0,m=0,N=0;;){if(p=(f=p)+1|0,A[v>>2]=p,(0|l)==(0|m))break e;t:if(!(A[A[y>>2]+(f>>>3&536870908)>>2]>>>f&1)&&(N=N+1|0,a)){if(G=A[(b+16|0)+d(m,12)>>2],W=0,f=0,h=0,s=0,a>>>0>=4){for(;A[(_=(Z=f<<2)+R|0)>>2]=A[G+Z>>2]+A[_>>2],A[(_=(s=4|Z)+R|0)>>2]=A[s+G>>2]+A[_>>2],A[(_=(s=8|Z)+R|0)>>2]=A[s+G>>2]+A[_>>2],A[(_=(s=12|Z)+R|0)>>2]=A[s+G>>2]+A[_>>2],f=f+4|0,(0|I)!=(0|(h=h+4|0)););if(s=f,!J)break t}for(;A[(f=(_=s<<2)+R|0)>>2]=A[_+G>>2]+A[f>>2],s=s+1|0,(0|J)!=(0|(W=W+1|0)););}if((0|(m=m+1|0))==(0|t))break}if(t=d(a,U),!N)break f;t:if(a){if(s=0,W=0,w){for(;A[(f=(s<<2)+R|0)>>2]=A[f>>2]/(0|N),A[f+4>>2]=A[f+4>>2]/(0|N),s=s+2|0,(0|Y)!=(0|(W=W+2|0)););if(!D)break t}A[(f=(s<<2)+R|0)>>2]=A[f>>2]/(0|N)}if(A[r+8>>2]<=0)break i;for(h=A[r+32>>2],l=0;(0|(p=A[(_=l<<2)+R>>2]))>(0|(f=A[r+16>>2]))?A[_+h>>2]=f:(_=_+h|0,f=A[r+12>>2],A[_>>2]=(0|f)>(0|p)?f:p),(0|(l=l+1|0))<(0|(f=A[r+8>>2])););if(l=0,(0|f)<=0)break i;for(v=(f=t<<2)+i|0,s=e+f|0;f=(_=A[(y=l<<2)+s>>2])+(t=A[y+h>>2])|0,_=(_>>31)+(t>>31)|0,_=f>>>0<t>>>0?_+1|0:_,(f=(t=f)>>>0>(p=A[r+16>>2])>>>0)&(0|(p>>=31))<=(0|_)|(0|_)>(0|p)?t=t-A[r+20>>2]|0:(p=f=A[r+12>>2],(0|(f>>=31))<=(0|_)&t>>>0>=p>>>0|(0|f)<(0|_)||(t=(f=A[r+20>>2])+t|0)),A[y+v>>2]=t,(0|(l=l+1|0))<A[r+8>>2];);break i}t=d(a,U)}if(s=t,!(A[r+8>>2]<=0)){for(t=(d(U-1|0,a)<<2)+i|0,h=A[r+32>>2],l=0;(0|(p=A[(_=l<<2)+t>>2]))>(0|(f=A[r+16>>2]))?A[_+h>>2]=f:(_=_+h|0,f=A[r+12>>2],A[_>>2]=(0|f)>(0|p)?f:p),(0|(l=l+1|0))<(0|(f=A[r+8>>2])););if(l=0,!((0|f)<=0))for(v=(f=s<<2)+i|0,s=e+f|0;f=(_=A[(y=l<<2)+s>>2])+(t=A[y+h>>2])|0,_=(_>>31)+(t>>31)|0,_=f>>>0<t>>>0?_+1|0:_,(f=(t=f)>>>0>(p=A[r+16>>2])>>>0)&(0|(p>>=31))<=(0|_)|(0|_)>(0|p)?t=t-A[r+20>>2]|0:(p=f=A[r+12>>2],(0|(f>>=31))<=(0|_)&t>>>0>=p>>>0|(0|f)<(0|_)||(t=(f=A[r+20>>2])+t|0)),A[y+v>>2]=t,(0|(l=l+1|0))<A[r+8>>2];);}}if(V=1,(0|T)==(0|(U=U+1|0)))break}return R&&fr(R),fr(n),(r=A[b+52>>2])&&(A[b+56>>2]=r,fr(r)),(r=A[b+40>>2])&&(A[b+44>>2]=r,fr(r)),(r=A[b+28>>2])&&(A[b+32>>2]=r,fr(r)),(r=A[b+16>>2])&&(A[b+20>>2]=r,fr(r)),F=b- -64|0,0|V}uf(),c()},function(r){var e=0;return A[(r|=0)>>2]=3276,(e=A[r+76>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e=0;A[(r|=0)>>2]=3276,(e=A[r+76>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},of,li,Af,rf,vi,_r,zi,function(r,e,i,a,t,o){r|=0,e|=0,i|=0,a|=0,o|=0;var n,k=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,E=0,Y=0,D=0,J=0,w=0,B=0,I=0,M=0,Q=0,g=0,O=0,C=0,z=0,H=0,P=0,S=0,x=0,L=0,K=0,q=0,$=0,rr=0,er=0,ir=0,fr=0;F=n=F-16|0;r:{e:if(2==(0|(t|=0))&&(A[r+8>>2]=2,A[r+64>>2]=o,Lr(r+32|0,2),t=a,a=A[r+56>>2],!((0|t)<(a=A[a+4>>2]-A[a>>2]|0)>>1||(p=1,(0|(P=a>>2))<=0))))for(N=r+60|0,er=r+68|0,a=0;;){if(o=A[r+56>>2],t=A[o>>2],A[o+4>>2]-t>>2>>>0<=a>>>0)break r;if(A[n+12>>2]=A[t+(a<<2)>>2],F=o=F-80|0,t=-1,u=-1,-1!=(0|(k=A[n+12>>2]))&&(t=((t=k+1|0)>>>0)%3|0?t:k-2|0,u=k-1|0,(k>>>0)%3|0||(u=k+2|0)),p=A[N+36>>2],k=A[p>>2],_=t<<2,t=A[A[N+32>>2]+28>>2],(s=A[_+t>>2])>>>0>=(p=A[p+4>>2]-k>>2)>>>0||(t=A[t+(u<<2)>>2])>>>0>=p>>>0)Ti(),c();else{i:{f:{if(!((0|(m=A[k+(t<<2)>>2]))>=(0|a)|(0|(p=A[k+(s<<2)>>2]))>=(0|a))){if(T=A[(k=(m<<3)+i|0)+4>>2],t=A[(u=(p<<3)+i|0)+4>>2],!((0|(l=A[k>>2]))!=(0|(u=A[u>>2]))|(0|t)!=(0|T))){A[N+12>>2]=t,A[N+8>>2]=u;break f}if(k=A[A[N+4>>2]+(a<<2)>>2],A[o+64>>2]=0,A[o+68>>2]=0,A[o+56>>2]=0,A[o+60>>2]=0,A[o+48>>2]=0,A[o+52>>2]=0,s=A[N>>2],b[s+84|0]||(k=A[A[s+68>>2]+(k<<2)>>2]),A[o+24>>2]=k,X(s,o+24|0,f[s+24|0],o+48|0),k=A[A[N+4>>2]+(p<<2)>>2],A[o+40>>2]=0,A[o+44>>2]=0,A[o+32>>2]=0,A[o+36>>2]=0,A[o+24>>2]=0,A[o+28>>2]=0,s=A[N>>2],b[s+84|0]||(k=A[A[s+68>>2]+(k<<2)>>2]),A[o>>2]=k,X(s,o,f[s+24|0],o+24|0),k=A[A[N+4>>2]+(m<<2)>>2],A[o+16>>2]=0,A[o+20>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,A[o>>2]=0,A[o+4>>2]=0,s=A[N>>2],b[s+84|0]||(k=A[A[s+68>>2]+(k<<2)>>2]),A[o+76>>2]=k,X(s,o+76|0,f[s+24|0],o),D=(k=A[o+8>>2])-(E=A[o+32>>2])|0,Q=A[o+36>>2],y=k=A[o+12>>2]-(Q+(k>>>0<E>>>0)|0)|0,s=ze(D,k,D,k),m=j,w=(k=A[o>>2])-(J=A[o+24>>2])|0,g=A[o+28>>2],d=k=A[o+4>>2]-(g+(k>>>0<J>>>0)|0)|0,k=(_=s)+(s=ze(w,k,w,k))|0,_=j+m|0,_=k>>>0<s>>>0?_+1|0:_,I=(s=A[o+16>>2])-(B=A[o+40>>2])|0,O=A[o+44>>2],Y=s=A[o+20>>2]-(O+(s>>>0<B>>>0)|0)|0,m=(s=ze(I,s,I,s))+k|0,k=j+_|0,(R=s>>>0>m>>>0?k+1|0:k)|m){if(C=0,v=mr(-1,2147483647,m,R),S=k=u>>31,z=u,u=(W=u^(_=k>>31))-_|0,p=k=(k^_)-((_>>>0>W>>>0)+_|0)|0,x=k=t>>31,U=(W=(M=t)^(t=k>>31))-t|0,(0|(s=j))==(0|(t=(k=(0|p)==(0|(t=((_=k>>31)^k)-((t>>>0>W>>>0)+_|0)|0))&u>>>0>U>>>0|t>>>0<p>>>0)?p:t))&(u=k?u:U)>>>0>v>>>0|t>>>0>s>>>0)break i;if(t=ze((u=A[o+56>>2])-E|0,(L=A[o+60>>2])-((u>>>0<E>>>0)+Q|0)|0,D,y),k=j,s=ze((p=A[o+48>>2])-J|0,(K=A[o+52>>2])-((p>>>0<J>>>0)+g|0)|0,w,d),k=j+k|0,k=(t=s+t|0)>>>0<s>>>0?k+1|0:k,_=t,t=ze((s=A[o+64>>2])-B|0,(q=A[o+68>>2])-((s>>>0<B>>>0)+O|0)|0,I,Y),k=j+k|0,W=k=t>>>0>(U=_+t|0)>>>0?k+1|0:k,v=t=k>>31,t=(Z=t^U)-t|0,v=(k^v)-((Z>>>0<v>>>0)+v|0)|0,H=(k=l)-z|0,$=l=(k>>31)-((k>>>0<z>>>0)+S|0)|0,Z=(h=(k=l>>31)^H)-k|0,k=(k^l)-((k>>>0>h>>>0)+k|0)|0,_=Z,Z=T-M|0,T=l=(T>>31)-((T>>>0<M>>>0)+x|0)|0,k=mr(-1,2147483647,(l=(0|(h=k))==(0|(k=((k=l>>31)^l)-(((G=l>>31)>>>0>(V=G^Z)>>>0)+k|0)|0))&_>>>0>(rr=V-G|0)>>>0|k>>>0<h>>>0)?_:rr,l?h:k),(0|(l=j))==(0|v)&t>>>0>k>>>0|v>>>0>l>>>0)break i;if(k=t,t=v,l=(h=(_=d>>31)^w)-_|0,v=(_^d)-((_>>>0>h>>>0)+_|0)|0,V=(G=(_=y>>31)^D)-_|0,v=(h=(0|v)==(0|(_=(_^y)-((_>>>0>G>>>0)+_|0)|0))&l>>>0>V>>>0|_>>>0<v>>>0)?v:_,h=l=h?l:V,V=(G=(_=Y>>31)^I)-_|0,l=mr(-1,2147483647,(l=(0|v)==(0|(_=(_^Y)-((_>>>0>G>>>0)+_|0)|0))&l>>>0>V>>>0|_>>>0<v>>>0)?h:V,l?v:_),(0|(v=j))==(0|t)&k>>>0>l>>>0|t>>>0>v>>>0)break i;if(k=Oe(ze(U,W,D,y),j,m,R),y=j+Q|0,y=(t=k+E|0)>>>0<k>>>0?y+1|0:y,y=ze(k=u-t|0,t=L-((t>>>0>u>>>0)+y|0)|0,k,t),E=j,u=Oe(ze(U,W,w,d),j,m,R),k=j+g|0,k=(t=u+J|0)>>>0<u>>>0?k+1|0:k,u=ze(u=p-t|0,t=K-((t>>>0>p>>>0)+k|0)|0,u,t),k=j+E|0,k=(t=u+y|0)>>>0<u>>>0?k+1|0:k,p=t,u=Oe(ze(U,W,I,Y),j,m,R),y=j+O|0,y=(t=u+B|0)>>>0<u>>>0?y+1|0:y,u=ze(u=s-t|0,t=q-((t>>>0>s>>>0)+y|0)|0,u,t),k=j+k|0,t=ce(ze(t=u+p|0,t>>>0<u>>>0?k+1|0:k,m,R),j),p=j,!(k=A[N+20>>2]))break i;s=k-1|0,d=A[A[N+16>>2]+(s>>>3&536870908)>>2],A[N+20>>2]=s,C=1,k=ze(U,W,Z,T),u=j,y=(Y=ze(m,R,M,x))+k|0,k=j+u|0,k=y>>>0<Y>>>0?k+1|0:k,u=ze(t,p,H,$),_=k,k=j,k=_+((s=d>>>s&1)?0-(k+!!(0|u)|0)|0:k)|0,ir=N,fr=Oe(y=(d=s?0-u|0:u)+y|0,y>>>0<d>>>0?k+1|0:k,m,R),A[ir+12>>2]=fr,k=ze(U,W,H,$),u=j,k=(d=ze(m,R,z,S))+k|0,y=j+u|0,u=0-(t=ze(t,p,Z,T))|0,p=j,v=(k>>>0<d>>>0?y+1|0:y)+(s?p:0-(!!(0|t)+p|0)|0)|0,ir=N,fr=Oe(k=(u=s?t:u)+k|0,k>>>0<u>>>0?v+1|0:v,m,R),A[ir+8>>2]=fr;break i}}if((0|a)>(0|p))t=p<<1;else{if((0|a)<=0){A[N+8>>2]=0,A[N+12>>2]=0;break f}t=(a<<1)-2|0}t=(t<<2)+i|0,A[N+8>>2]=A[t>>2],A[N+12>>2]=A[t+4>>2]}C=1}F=o+80|0,t=C}if(p=t,!t)break e;if(!(A[r+8>>2]<=0)){for(s=A[r+32>>2],t=0;(0|(k=A[(o=t<<2)+er>>2]))>(0|(u=A[r+16>>2]))?A[o+s>>2]=u:(o=o+s|0,u=A[r+12>>2],A[o>>2]=(0|u)>(0|k)?u:k),(0|(t=t+1|0))<(0|(o=A[r+8>>2])););if(t=0,!((0|o)<=0))for(R=(o=a<<3)+i|0,y=e+o|0;o=A[(m=t<<2)+y>>2],d=k=A[s+m>>2],u=o+k|0,k=(o>>31)+(k>>31)|0,k=u>>>0<d>>>0?k+1|0:k,(_=(o=u)>>>0>(d=A[r+16>>2])>>>0)&(0|(d>>=31))<=(0|k)|(0|k)>(0|d)?o=o-A[r+20>>2]|0:(0|(d=(u=A[r+12>>2])>>31))<=(0|k)&o>>>0>=u>>>0|(0|k)>(0|d)||(o=(u=A[r+20>>2])+o|0),A[m+R>>2]=o,(0|(t=t+1|0))<A[r+8>>2];);}if((0|P)==(0|(a=a+1|0)))break}return F=n+16|0,0|p}Ti(),c()},function(r){var e;return A[(r|=0)>>2]=3516,A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e;A[(r|=0)>>2]=3516,A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},cf,ai,Af,rf,Ni,Jr,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=b=F-32|0,A[(r|=0)+68>>2]=t;r:{if(t=A[r+56>>2],l=A[t+4>>2]-A[t>>2]>>2,!((0|(y=d(a,l)))>(0|f)||(A[b+24>>2]=0,A[b+16>>2]=0,A[b+20>>2]=0,(0|l)<=0)))for(v=r+60|0,m=r+112|0;;){if(t=A[r+56>>2],a=A[t>>2],A[t+4>>2]-a>>2>>>0<=s>>>0)break r;if(A[b+4>>2]=A[a+(s<<2)>>2],L(v,b+4|0,b+16|0),o=((a=(n=A[b+20>>2])>>31)^n)-a+(((t=(k=A[b+16>>2])>>31)^k)-t)|0,t=((a=(_=A[b+24>>2])>>31)^_)-a|0,a=0,(a=(u=t)>>>0>(t=t+o|0)>>>0?1:a)|t?(k=Oe(ze(o=A[r+108>>2],p=o>>31,k,k>>31),j,t,a),A[b+16>>2]=k,a=Oe(ze(o,p,n,n>>31),j,t,a),A[b+20>>2]=a,a=(t=((t=a)^(a>>=31))-a|0)+(((a=k>>31)^k)-a|0)|0,A[b+24>>2]=(0|_)>=0?o-a:a-o):A[b+16>>2]=A[r+108>>2],a=Ie(m),t=A[b+16>>2],a?(A[b+24>>2]=0-A[b+24>>2],o=0-A[b+20>>2]|0,A[b+20>>2]=o,t=0-t|0,A[b+16>>2]=t):o=A[b+20>>2],(0|t)>=0?(a=(t=A[r+108>>2])+A[b+24>>2]|0,t=t+o|0):((0|o)<0?t=((a=A[b+24>>2])^(t=a>>31))-t|0:(t=(a=A[b+24>>2])>>31,t=A[r+100>>2]+(t-(a^t)|0)|0),(0|a)<0?a=((a=o>>31)^o)-a|0:(a=o>>31,a=A[r+100>>2]+(a-(a^o)|0)|0)),o=A[r+100>>2],a|t?(0|a)!=(0|o)|t?(0|t)!=(0|o)|a?t||(0|(n=A[r+108>>2]))>=(0|a)?(0|t)!=(0|o)||(0|(n=A[r+108>>2]))<=(0|a)?(0|a)!=(0|o)||(0|(o=A[r+108>>2]))<=(0|t)?a||(a=0,(0|(o=A[r+108>>2]))>=(0|t)||(t=(o<<1)-t|0)):t=(o<<1)-t|0:a=(n<<1)-a|0:(a=(n<<1)-a|0,t=0):a=t:t=a:t=a=o,A[b+12>>2]=a,A[b+8>>2]=t,!(A[r+8>>2]<=0)){for(k=A[r+32>>2],t=0;(0|(o=A[(a=t<<2)+(b+8|0)>>2]))>(0|(n=A[r+16>>2]))?A[a+k>>2]=n:(a=a+k|0,n=A[r+12>>2],A[a>>2]=(0|n)>(0|o)?n:o),(0|(t=t+1|0))<(0|(a=A[r+8>>2])););if(t=0,!((0|a)<=0))for(p=(a=s<<3)+i|0,N=e+a|0;n=(a=A[(_=t<<2)+N>>2])+(o=A[k+_>>2])|0,a=(a>>31)+(o>>31)|0,a=o>>>0>n>>>0?a+1|0:a,(n=(o=n)>>>0>(u=A[r+16>>2])>>>0)&(0|(u>>=31))<=(0|a)|(0|a)>(0|u)?o=o-A[r+20>>2]|0:(0|(u=(n=A[r+12>>2])>>31))<=(0|a)&o>>>0>=n>>>0|(0|a)>(0|u)||(o=(n=A[r+20>>2])+o|0),A[_+p>>2]=o,(0|(t=t+1|0))<A[r+8>>2];);}if((0|l)==(0|(s=s+1|0)))break}return F=b+32|0,(0|f)>=(0|y)|0}Ti(),c()},tf,sf,Fi,Pi,L,Wi,Af,di,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o,n,k,c,_,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0;if(A[(r|=0)+8>>2]=a,Lr(r+32|0,a),_=A[r+52>>2],n=A[r+48>>2],b=ni(t=a>>>0>1073741823?-1:a<<2),t&&u(b,0,t),!((0|(s=A[r+8>>2]))<=0)){for(N=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+b>>2]))>(0|(l=A[r+16>>2]))?A[s+N>>2]=l:(s=s+N|0,l=A[r+12>>2],A[s>>2]=(0|l)>(0|p)?l:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(!((0|s)<=0))for(t=0;l=(s=A[(v=t<<2)+e>>2])+(p=A[v+N>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(y=A[r+16>>2])>>>0)&(0|(y>>=31))<=(0|s)|(0|s)>(0|y)?p=p-A[r+20>>2]|0:(0|(y=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|y)||(p=(l=A[r+20>>2])+p|0),A[i+v>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););}if(t=A[r+56>>2],k=A[t>>2],o=A[t+4>>2]-k>>2,!((0|(c=d(o,a)))>(0|f)|(0|o)<2))for(W=2147483646&a,U=1&a,N=1;;){R=d(a,N);r:{if(-1!=(0|(t=A[(N<<2)+k>>2]))&&-1!=(0|(t=A[A[n+12>>2]+(t<<2)>>2]))){l=A[_>>2],p=A[n>>2],v=A[l+(A[p+(t<<2)>>2]<<2)>>2],y=-1!=(0|(y=((y=t+1|0)>>>0)%3|0?y:t-2|0))?A[p+(y<<2)>>2]:-1;e:{if((t>>>0)%3|0)t=t-1|0;else if(h=-1,-1==(0|(t=t+2|0)))break e;h=A[p+(t<<2)>>2]}if(!((0|v)>=(0|N)||(0|(t=A[(y<<2)+l>>2]))>=(0|N)||(0|(p=A[l+(h<<2)>>2]))>=(0|N))){e:if(!((0|a)<=0)){if(l=(d(a,v)<<2)+i|0,v=(d(a,p)<<2)+i|0,y=(d(a,t)<<2)+i|0,t=0,h=0,1!=(0|a)){for(;A[(p=t<<2)+b>>2]=(A[p+v>>2]+A[p+y>>2]|0)-A[p+l>>2],A[(p|=4)+b>>2]=(A[p+v>>2]+A[p+y>>2]|0)-A[p+l>>2],t=t+2|0,(0|W)!=(0|(h=h+2|0)););if(!U)break e}A[(t<<=2)+b>>2]=(A[t+v>>2]+A[t+y>>2]|0)-A[t+l>>2]}if((0|s)<=0)break r;for(v=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+b>>2]))>(0|(l=A[r+16>>2]))?A[s+v>>2]=l:(s=s+v|0,l=A[r+12>>2],A[s>>2]=(0|l)>(0|p)?l:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(t=0,(0|s)<=0)break r;for(R=(s=R<<2)+i|0,h=e+s|0;l=(s=A[(y=t<<2)+h>>2])+(p=A[y+v>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(m=A[r+16>>2])>>>0)&(0|(m>>=31))<=(0|s)|(0|s)>(0|m)?p=p-A[r+20>>2]|0:(0|(m=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|m)||(p=(l=A[r+20>>2])+p|0),A[y+R>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););break r}}if(!((0|s)<=0)){for(l=(d(N-1|0,a)<<2)+i|0,v=A[r+32>>2],t=0;(0|(p=A[(s=t<<2)+l>>2]))>(0|(y=A[r+16>>2]))?A[s+v>>2]=y:(s=s+v|0,y=A[r+12>>2],A[s>>2]=(0|y)>(0|p)?y:p),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(t=0,!((0|s)<=0))for(R=(s=R<<2)+i|0,h=e+s|0;l=(s=A[(y=t<<2)+h>>2])+(p=A[y+v>>2])|0,s=(s>>31)+(p>>31)|0,s=p>>>0>l>>>0?s+1|0:s,(l=(p=l)>>>0>(m=A[r+16>>2])>>>0)&(0|(m>>=31))<=(0|s)|(0|s)>(0|m)?p=p-A[r+20>>2]|0:(0|(m=(l=A[r+12>>2])>>31))<=(0|s)&p>>>0>=l>>>0|(0|s)>(0|m)||(p=(l=A[r+20>>2])+p|0),A[y+R>>2]=p,(0|(t=t+1|0))<(0|(s=A[r+8>>2])););}}if((0|o)==(0|(N=N+1|0)))break}return fr(b),(0|f)>=(0|c)|0},function(r){var e=0;return A[(r|=0)>>2]=4524,(e=A[r+96>>2])&&fr(e),(e=A[r+84>>2])&&fr(e),(e=A[r+72>>2])&&fr(e),(e=A[r+60>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e=0;A[(r|=0)>>2]=4524,(e=A[r+96>>2])&&fr(e),(e=A[r+84>>2])&&fr(e),(e=A[r+72>>2])&&fr(e),(e=A[r+60>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},bf,di,function(r,e){r|=0;var i,a=0,t=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0;F=i=F-32|0;r:{e:if(Ue(1,i+28|0,e|=0)&&(k=A[i+28>>2],a=A[r+48>>2],!(k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)))i:{if(k){if(ae(r+60|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+60>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[r+48>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+72|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+72>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[r+48>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+84|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+84>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(!Ue(1,i+28|0,e))break e;if(k=A[i+28>>2],a=A[r+48>>2],k>>>0>A[a+4>>2]-A[a>>2]>>2>>>0)break e;if(k){if(n=0,ae(r+96|0,k),f[(a=i+12|0)+5|0]=0,f[a+6|0]=0,f[a+7|0]=0,f[a+8|0]=0,f[a+9|0]=0,f[a+10|0]=0,f[a+11|0]=0,f[a+12|0]=0,A[a>>2]=0,A[a+4>>2]=0,!Wr(a,e))break i;for(;c=1<<n,o=Ie(a),t=A[r+96>>2]+(n>>>3&536870908)|0,o=o?c|A[t>>2]:A[t>>2]&(-1^c),A[t>>2]=o,(0|k)!=(0|(n=n+1|0)););}if(n=0,a=A[e+8>>2],k=t=A[e+12>>2],o=t=A[e+20>>2],a>>>0<(t=(c=A[e+16>>2])+4|0)>>>0&(0|k)<=(0|(_=t>>>0<4?o+1|0:o))|(0|k)<(0|_))break r;if(s=A[e>>2],u=b[0|(u=s+c|0)]|b[u+1|0]<<8|b[u+2|0]<<16|b[u+3|0]<<24,A[e+16>>2]=t,A[e+20>>2]=_,a>>>0<(c=c+8|0)>>>0&(0|k)<=(0|(o=c>>>0<8?o+1|0:o))|(0|k)<(0|o))break r;if(t=b[0|(a=t+s|0)]|b[a+1|0]<<8|b[a+2|0]<<16|b[a+3|0]<<24,A[e+16>>2]=c,A[e+20>>2]=o,(0|t)<(0|u))break r;if(A[r+16>>2]=t,A[r+12>>2]=u,!(e=(t>>31)-((u>>31)+(t>>>0<u>>>0)|0)|0)&(a=t-u|0)>>>0>2147483646|e)break r;if(n=1,e=a+1|0,A[r+20>>2]=e,e=e>>>1|0,A[r+24>>2]=e,A[r+28>>2]=0-e,!(1&a))break r;A[r+24>>2]=e-1;break r}n=0}return F=i+32|0,0|n},function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o,n,k,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,j=0,E=0,Y=0,D=0,J=0,w=0,B=0,I=0,M=0;if(F=b=F+-64|0,A[(r|=0)+8>>2]=a,Lr(r+32|0,a),A[b+56>>2]=0,A[b+60>>2]=0,A[b+48>>2]=0,A[b+52>>2]=0,A[b+40>>2]=0,A[b+44>>2]=0,A[b+32>>2]=0,A[b+36>>2]=0,A[b+24>>2]=0,A[b+28>>2]=0,A[b+16>>2]=0,A[b+20>>2]=0,A[b+12>>2]=0,Ir(t=b+16|0,a,s=b+12|0),A[b+12>>2]=0,Ir(12|t,a,s),A[b+12>>2]=0,Ir(b+40|0,a,s),A[b+12>>2]=0,Ir(b+52|0,a,s),!(A[r+8>>2]<=0)){for(_=A[b+16>>2],y=A[r+32>>2],t=0;(0|(l=A[(p=t<<2)+_>>2]))>(0|(s=A[r+16>>2]))?A[p+y>>2]=s:(p=p+y|0,s=A[r+12>>2],A[p>>2]=(0|s)>(0|l)?s:l),(0|(t=t+1|0))<(0|(s=A[r+8>>2])););if(!((0|s)<=0))for(t=0;p=(_=A[(W=t<<2)+e>>2])+(s=A[y+W>>2])|0,_=(_>>31)+(s>>31)|0,_=s>>>0>p>>>0?_+1|0:_,(p=(s=p)>>>0>(l=A[r+16>>2])>>>0)&(0|(l>>=31))<=(0|_)|(0|_)>(0|l)?s=s-A[r+20>>2]|0:(l=p=A[r+12>>2],(0|(p>>=31))<=(0|_)&s>>>0>=l>>>0|(0|_)>(0|p)||(s=(p=A[r+20>>2])+s|0)),A[i+W>>2]=s,(0|(t=t+1|0))<A[r+8>>2];);}k=A[r+52>>2],o=A[r+48>>2],n=ni(16),A[(t=n)+8>>2]=0,A[t+12>>2]=0,A[t>>2]=0,A[t+4>>2]=0;r:{if(a){if(a>>>0>=1073741824)break r;U=ni(t=a<<2),t&&u(U,0,t)}t=A[r+56>>2],j=A[t>>2],T=A[t+4>>2]-j>>2;e:if(!((0|d(T,a))>(0|f)))if((0|T)<2)v=1;else for(E=-2&a,Y=1&a,B=-4&a,D=3&a,J=a-1|0,w=a<<2,I=r+60|0,M=a>>>0<4,Z=1;;){i:{f:{a:if(-1!=(0|(s=A[(Z<<2)+j>>2]))){p=0,h=!!(0|(t=(s>>>0)%3|0))|-1!=(0|(f=s+2|0)),y=A[o+12>>2],l=1,W=(t?s-1:f)<<2,f=s;t:{for(;;){if(-1!=(0|(N=A[y+(f<<2)>>2]))){m=A[k>>2],R=A[o>>2],G=A[m+(A[R+(N<<2)>>2]<<2)>>2],_=-1!=(0|(t=((t=N+1|0)>>>0)%3|0?t:N-2|0))?A[R+(t<<2)>>2]:-1;A:{if((N>>>0)%3|0)t=N-1|0;else if(v=-1,-1==(0|(t=N+2|0)))break A;v=A[R+(t<<2)>>2]}if(!((0|G)>=(0|Z)||(0|(_=A[(_<<2)+m>>2]))>=(0|Z)||(0|(t=A[m+(v<<2)>>2]))>=(0|Z))){R=A[(b+16|0)+d(p,12)>>2];A:if(a){if(m=(d(a,G)<<2)+i|0,G=(d(a,t)<<2)+i|0,v=(d(a,_)<<2)+i|0,t=0,V=0,J){for(;A[(_=t<<2)+R>>2]=(A[_+G>>2]+A[_+v>>2]|0)-A[_+m>>2],A[(_|=4)+R>>2]=(A[_+G>>2]+A[_+v>>2]|0)-A[_+m>>2],t=t+2|0,(0|E)!=(0|(V=V+2|0)););if(!Y)break A}A[(t<<=2)+R>>2]=(A[t+G>>2]+A[t+v>>2]|0)-A[t+m>>2]}if(_=4,4==(0|(p=p+1|0)))break t}}A:if(1&l){if(_=-1,-1==(0|(f=((t=f+1|0)>>>0)%3|0?t:f-2|0)))break A;if(_=-1,-1==(0|(t=A[A[o+12>>2]+(f<<2)>>2])))break A;_=((f=t+1|0)>>>0)%3|0?f:t-2|0}else{if((f>>>0)%3|0)t=f-1|0;else if(_=-1,-1==(0|(t=f+2|0)))break A;_=-1,-1!=(0|(f=A[A[o+12>>2]+(t<<2)>>2]))&&(_=f-1|0,(f>>>0)%3|0||(_=f+2|0))}A:if((0|s)!=(0|(f=_))){if(-1==(0|f)&l){if(!h)break A;if(-1==(0|(f=A[W+A[o+12>>2]>>2])))break A;l=0,f=(f>>>0)%3|0?f-1|0:f+2|0}if(-1!=(0|f))continue}break}if((0|(_=p))<=0)break a}for(!a|!w||u(U,0,w),v=0,y=d(f=_-1|0,12)+I|0,p=(f=(t=A[y+4>>2])-(l=A[(W=(f<<2)+n|0)>>2])|0)>>>0<=t>>>0?f:0,V=0,N=0;;){if(l=(f=l)+1|0,A[W>>2]=l,(0|p)==(0|V))break e;t:if(!(A[A[y>>2]+(f>>>3&536870908)>>2]>>>f&1)&&(N=N+1|0,a)){if(R=A[(b+16|0)+d(V,12)>>2],m=0,f=0,h=0,t=0,!M){for(;A[(t=(G=f<<2)+U|0)>>2]=A[R+G>>2]+A[t>>2],A[(t=(s=4|G)+U|0)>>2]=A[s+R>>2]+A[t>>2],A[(t=(s=8|G)+U|0)>>2]=A[s+R>>2]+A[t>>2],A[(t=(s=12|G)+U|0)>>2]=A[s+R>>2]+A[t>>2],f=f+4|0,(0|B)!=(0|(h=h+4|0)););if(t=f,!D)break t}for(;A[(f=(s=t<<2)+U|0)>>2]=A[s+R>>2]+A[f>>2],t=t+1|0,(0|D)!=(0|(m=m+1|0)););}if((0|(V=V+1|0))==(0|_))break}if(s=d(a,Z),!N)break f;t:if(a){if(t=0,m=0,J){for(;A[(f=(t<<2)+U|0)>>2]=A[f>>2]/(0|N),A[f+4>>2]=A[f+4>>2]/(0|N),t=t+2|0,(0|E)!=(0|(m=m+2|0)););if(!Y)break t}A[(f=(t<<2)+U|0)>>2]=A[f>>2]/(0|N)}if(A[r+8>>2]<=0)break i;for(h=A[r+32>>2],t=0;(0|(p=A[(_=t<<2)+U>>2]))>(0|(f=A[r+16>>2]))?A[_+h>>2]=f:(_=_+h|0,f=A[r+12>>2],A[_>>2]=(0|f)>(0|p)?f:p),(0|(t=t+1|0))<(0|(f=A[r+8>>2])););if(t=0,(0|f)<=0)break i;for(W=(f=s<<2)+i|0,l=e+f|0;f=(_=A[(y=t<<2)+l>>2])+(s=A[y+h>>2])|0,_=(_>>31)+(s>>31)|0,_=f>>>0<s>>>0?_+1|0:_,s=f,(v=f>>>0>(p=A[r+16>>2])>>>0)&(0|(p>>=31))<=(0|_)|(0|_)>(0|p)?s=f-A[r+20>>2]|0:(p=f=A[r+12>>2],(0|(f>>=31))<=(0|_)&s>>>0>=p>>>0|(0|f)<(0|_)||(s=(f=A[r+20>>2])+s|0)),A[y+W>>2]=s,(0|(t=t+1|0))<A[r+8>>2];);break i}s=d(a,Z)}if(l=s,!(A[r+8>>2]<=0)){for(s=(d(Z-1|0,a)<<2)+i|0,h=A[r+32>>2],t=0;(0|(p=A[(_=t<<2)+s>>2]))>(0|(f=A[r+16>>2]))?A[_+h>>2]=f:(_=_+h|0,f=A[r+12>>2],A[_>>2]=(0|f)>(0|p)?f:p),(0|(t=t+1|0))<(0|(f=A[r+8>>2])););if(t=0,!((0|f)<=0))for(W=(f=l<<2)+i|0,l=e+f|0;f=(_=A[(y=t<<2)+l>>2])+(s=A[y+h>>2])|0,_=(_>>31)+(s>>31)|0,_=f>>>0<s>>>0?_+1|0:_,s=f,(v=f>>>0>(p=A[r+16>>2])>>>0)&(0|(p>>=31))<=(0|_)|(0|_)>(0|p)?s=f-A[r+20>>2]|0:(p=f=A[r+12>>2],(0|(f>>=31))<=(0|_)&s>>>0>=p>>>0|(0|f)<(0|_)||(s=(f=A[r+20>>2])+s|0)),A[y+W>>2]=s,(0|(t=t+1|0))<A[r+8>>2];);}}if(v=1,(0|T)==(0|(Z=Z+1|0)))break}return U&&fr(U),fr(n),(r=A[b+52>>2])&&(A[b+56>>2]=r,fr(r)),(r=A[b+40>>2])&&(A[b+44>>2]=r,fr(r)),(r=A[b+28>>2])&&(A[b+32>>2]=r,fr(r)),(r=A[b+16>>2])&&(A[b+20>>2]=r,fr(r)),F=b- -64|0,0|v}uf(),c()},function(r){var e=0;return A[(r|=0)>>2]=4764,(e=A[r+76>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e=0;A[(r|=0)>>2]=4764,(e=A[r+76>>2])&&fr(e),A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},of,li,Af,rf,vi,_r,zi,function(r,e,i,a,t,o){r|=0,e|=0,i|=0,a|=0,o|=0;var n,k=0,u=0,_=0,s=0,p=0,l=0,y=0,d=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,E=0,Y=0,D=0,J=0,w=0,B=0,I=0,M=0,Q=0,g=0,O=0,C=0,z=0,H=0,P=0,S=0,x=0,L=0,K=0,q=0,$=0,rr=0,er=0,ir=0,fr=0;F=n=F-16|0;r:{e:if(2==(0|(t|=0))&&(A[r+8>>2]=2,A[r+64>>2]=o,Lr(r+32|0,2),t=a,a=A[r+56>>2],!((0|t)<(a=A[a+4>>2]-A[a>>2]|0)>>1||(p=1,(0|(P=a>>2))<=0))))for(m=r+60|0,er=r+68|0,a=0;;){if(o=A[r+56>>2],t=A[o>>2],A[o+4>>2]-t>>2>>>0<=a>>>0)break r;if(A[n+12>>2]=A[t+(a<<2)>>2],F=t=F-80|0,_=-1,-1==(0|(o=A[n+12>>2]))||(u=A[m+32>>2],-1!=(0|(p=((p=o+1|0)>>>0)%3|0?p:o-2|0))&&(_=A[A[u>>2]+(p<<2)>>2]),U=-1,-1!=(0|(o=o+((o>>>0)%3|0?-1:2)|0))&&(U=A[A[u>>2]+(o<<2)>>2]),u=A[m+36>>2],o=A[u>>2],(u=A[u+4>>2]-o>>2)>>>0<=_>>>0|u>>>0<=U>>>0))Ti(),c();else{i:{f:{if(!((0|(v=A[o+(U<<2)>>2]))>=(0|a)|(0|(p=A[o+(_<<2)>>2]))>=(0|a))){if(E=A[(o=(v<<3)+i|0)+4>>2],_=A[(u=(p<<3)+i|0)+4>>2],!((0|(y=A[o>>2]))!=(0|(u=A[u>>2]))|(0|_)!=(0|E))){A[m+12>>2]=_,A[m+8>>2]=u;break f}if(o=A[A[m+4>>2]+(a<<2)>>2],A[t+64>>2]=0,A[t+68>>2]=0,A[t+56>>2]=0,A[t+60>>2]=0,A[t+48>>2]=0,A[t+52>>2]=0,k=A[m>>2],b[k+84|0]||(o=A[A[k+68>>2]+(o<<2)>>2]),A[t+24>>2]=o,X(k,t+24|0,f[k+24|0],t+48|0),o=A[A[m+4>>2]+(p<<2)>>2],A[t+40>>2]=0,A[t+44>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0,k=A[m>>2],b[k+84|0]||(o=A[A[k+68>>2]+(o<<2)>>2]),A[t>>2]=o,X(k,t,f[k+24|0],t+24|0),o=A[A[m+4>>2]+(v<<2)>>2],A[t+16>>2]=0,A[t+20>>2]=0,A[t+8>>2]=0,A[t+12>>2]=0,A[t>>2]=0,A[t+4>>2]=0,k=A[m>>2],b[k+84|0]||(o=A[A[k+68>>2]+(o<<2)>>2]),A[t+76>>2]=o,X(k,t+76|0,f[k+24|0],t),J=(o=A[t+8>>2])-(Y=A[t+32>>2])|0,g=A[t+36>>2],l=o=A[t+12>>2]-(g+(o>>>0<Y>>>0)|0)|0,k=ze(J,o,J,o),v=j,B=(o=A[t>>2])-(w=A[t+24>>2])|0,O=A[t+28>>2],G=o=A[t+4>>2]-(O+(o>>>0<w>>>0)|0)|0,o=(s=k)+(k=ze(B,o,B,o))|0,s=j+v|0,s=o>>>0<k>>>0?s+1|0:s,M=(k=A[t+16>>2])-(I=A[t+40>>2])|0,C=A[t+44>>2],D=k=A[t+20>>2]-(C+(k>>>0<I>>>0)|0)|0,v=(k=ze(M,k,M,k))+o|0,o=j+s|0,(R=k>>>0>v>>>0?o+1|0:o)|v){if(U=0,d=mr(-1,2147483647,v,R),S=o=u>>31,z=u,u=(N=u^(k=o>>31))-k|0,p=o=(o^k)-((k>>>0>N>>>0)+k|0)|0,x=o=_>>31,Q=_,(0|(k=j))==(0|(o=(_=(0|p)==(0|(o=((s=o>>31)^o)-(((_=o>>31)>>>0>(N=Q^_)>>>0)+s|0)|0))&u>>>0>(W=N-_|0)>>>0|o>>>0<p>>>0)?p:o))&(u=_?u:W)>>>0>d>>>0|o>>>0>k>>>0)break i;if(o=ze((_=A[t+56>>2])-Y|0,(L=A[t+60>>2])-((_>>>0<Y>>>0)+g|0)|0,J,l),p=j,k=(N=ze((u=A[t+48>>2])-w|0,(K=A[t+52>>2])-((u>>>0<w>>>0)+O|0)|0,B,G))+o|0,o=j+p|0,o=k>>>0<N>>>0?o+1|0:o,s=k,k=ze((p=A[t+64>>2])-I|0,(q=A[t+68>>2])-((p>>>0<I>>>0)+C|0)|0,M,D),o=j+o|0,N=o=k>>>0>(W=s+k|0)>>>0?o+1|0:o,d=((d=o>>=31)^N)-(((V=o^W)>>>0<d>>>0)+d|0)|0,k=o=V-o|0,H=(o=y)-z|0,$=y=(o>>31)-((o>>>0<z>>>0)+S|0)|0,V=(h=(o=y>>31)^H)-o|0,o=(o^y)-((o>>>0>h>>>0)+o|0)|0,s=V,V=E-Q|0,E=y=(E>>31)-((E>>>0<Q>>>0)+x|0)|0,o=mr(-1,2147483647,(y=(0|(h=o))==(0|(o=((o=y>>31)^y)-(((Z=y>>31)>>>0>(T=Z^V)>>>0)+o|0)|0))&s>>>0>(rr=T-Z|0)>>>0|o>>>0<h>>>0)?s:rr,y?h:o),(0|(y=j))==(0|d)&o>>>0<k>>>0|d>>>0>y>>>0)break i;if(o=d,y=(h=(s=d=G>>31)^B)-s|0,d=(s^G)-((s>>>0>h>>>0)+s|0)|0,T=(Z=(s=l>>31)^J)-s|0,d=(h=(0|d)==(0|(s=(s^l)-((s>>>0>Z>>>0)+s|0)|0))&y>>>0>T>>>0|s>>>0<d>>>0)?d:s,h=y=h?y:T,T=(Z=(s=D>>31)^M)-s|0,y=mr(-1,2147483647,(y=(0|d)==(0|(s=(s^D)-((s>>>0>Z>>>0)+s|0)|0))&y>>>0>T>>>0|s>>>0<d>>>0)?h:T,y?d:s),(0|(d=j))==(0|o)&k>>>0>y>>>0|o>>>0>d>>>0)break i;if(l=Oe(ze(W,N,J,l),j,v,R),k=j+g|0,k=(o=l+Y|0)>>>0<l>>>0?k+1|0:k,l=ze(l=_-o|0,o=L-((o>>>0>_>>>0)+k|0)|0,l,o),Y=j,k=Oe(ze(W,N,B,G),j,v,R),o=j+O|0,o=k>>>0>(_=k+w|0)>>>0?o+1|0:o,u=ze(k=u-_|0,o=K-((_>>>0>u>>>0)+o|0)|0,k,o),o=j+Y|0,o=(_=u+l|0)>>>0<u>>>0?o+1|0:o,l=_,u=Oe(ze(W,N,M,D),j,v,R),k=j+C|0,k=(_=u+I|0)>>>0<u>>>0?k+1|0:k,u=ze(u=p-_|0,_=q-((_>>>0>p>>>0)+k|0)|0,u,_),o=j+o|0,_=ce(ze(_=u+l|0,_>>>0<u>>>0?o+1|0:o,v,R),j),p=j,!(o=A[m+20>>2]))break i;k=o-1|0,G=A[A[m+16>>2]+(k>>>3&536870908)>>2],A[m+20>>2]=k,U=1,o=ze(W,N,V,E),u=j,l=(D=ze(v,R,Q,x))+o|0,o=j+u|0,o=l>>>0<D>>>0?o+1|0:o,s=l,u=ze(_,p,H,$),k=s+(G=(l=G>>>k&1)?0-u|0:u)|0,s=o,o=j,o=s+(l?0-(o+!!(0|u)|0)|0:o)|0,ir=m,fr=Oe(k,k>>>0<G>>>0?o+1|0:o,v,R),A[ir+12>>2]=fr,o=ze(W,N,H,$),k=j,s=o,o=ze(v,R,z,S),k=j+k|0,k=o>>>0>(u=s+o|0)>>>0?k+1|0:k,_=0-(o=ze(_,p,V,E))|0,p=j,d=(l?p:0-(!!(0|o)+p|0)|0)+k|0,ir=m,fr=Oe(_=(s=u)+(u=l?o:_)|0,_>>>0<u>>>0?d+1|0:d,v,R),A[ir+8>>2]=fr;break i}}if(s=m,(0|a)>(0|p))o=p<<1;else{if((0|a)<=0){A[m+8>>2]=0,A[m+12>>2]=0;break f}o=(a<<1)-2|0}o=(o<<2)+i|0,A[s+8>>2]=A[o>>2],A[m+12>>2]=A[o+4>>2]}U=1}F=t+80|0,t=U}if(p=t,!t)break e;if(!(A[r+8>>2]<=0)){for(k=A[r+32>>2],t=0;(0|(_=A[(o=t<<2)+er>>2]))>(0|(u=A[r+16>>2]))?A[o+k>>2]=u:(o=o+k|0,u=A[r+12>>2],A[o>>2]=(0|u)>(0|_)?u:_),(0|(t=t+1|0))<(0|(o=A[r+8>>2])););if(t=0,!((0|o)<=0))for(R=(o=a<<3)+i|0,U=e+o|0;u=(o=A[(v=t<<2)+U>>2])+(_=A[k+v>>2])|0,o=(o>>31)+(_>>31)|0,o=_>>>0>u>>>0?o+1|0:o,_=u,(s=u>>>0>(l=A[r+16>>2])>>>0)&(0|(l>>=31))<=(0|o)|(0|o)>(0|l)?_=u-A[r+20>>2]|0:(0|(l=(u=A[r+12>>2])>>31))<=(0|o)&_>>>0>=u>>>0|(0|o)>(0|l)||(_=(u=A[r+20>>2])+_|0),A[v+R>>2]=_,(0|(t=t+1|0))<A[r+8>>2];);}if((0|P)==(0|(a=a+1|0)))break}return F=n+16|0,0|p}Ti(),c()},function(r){var e;return A[(r|=0)>>2]=4992,A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),0|r},function(r){var e;A[(r|=0)>>2]=4992,A[r>>2]=2964,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),fr(r)},cf,ai,Af,rf,Ni,Jr,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o=0,n=0,k=0,u=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=b=F-32|0,A[(r|=0)+68>>2]=t;r:{if(t=A[r+56>>2],l=A[t+4>>2]-A[t>>2]>>2,!((0|(y=d(a,l)))>(0|f)||(A[b+24>>2]=0,A[b+16>>2]=0,A[b+20>>2]=0,(0|l)<=0)))for(v=r+60|0,m=r+112|0;;){if(t=A[r+56>>2],a=A[t>>2],A[t+4>>2]-a>>2>>>0<=s>>>0)break r;if(A[b+4>>2]=A[a+(s<<2)>>2],er(v,b+4|0,b+16|0),o=((a=(n=A[b+20>>2])>>31)^n)-a+(((t=(k=A[b+16>>2])>>31)^k)-t)|0,t=((a=(_=A[b+24>>2])>>31)^_)-a|0,a=0,(a=(u=t)>>>0>(t=t+o|0)>>>0?1:a)|t?(k=Oe(ze(o=A[r+108>>2],p=o>>31,k,k>>31),j,t,a),A[b+16>>2]=k,a=Oe(ze(o,p,n,n>>31),j,t,a),A[b+20>>2]=a,a=(t=((t=a)^(a>>=31))-a|0)+(((a=k>>31)^k)-a|0)|0,A[b+24>>2]=(0|_)>=0?o-a:a-o):A[b+16>>2]=A[r+108>>2],a=Ie(m),t=A[b+16>>2],a?(A[b+24>>2]=0-A[b+24>>2],o=0-A[b+20>>2]|0,A[b+20>>2]=o,t=0-t|0,A[b+16>>2]=t):o=A[b+20>>2],(0|t)>=0?(a=(t=A[r+108>>2])+A[b+24>>2]|0,t=t+o|0):((0|o)<0?t=((a=A[b+24>>2])^(t=a>>31))-t|0:(t=(a=A[b+24>>2])>>31,t=A[r+100>>2]+(t-(a^t)|0)|0),(0|a)<0?a=((a=o>>31)^o)-a|0:(a=o>>31,a=A[r+100>>2]+(a-(a^o)|0)|0)),o=A[r+100>>2],a|t?(0|a)!=(0|o)|t?(0|t)!=(0|o)|a?t||(0|(n=A[r+108>>2]))>=(0|a)?(0|t)!=(0|o)||(0|(n=A[r+108>>2]))<=(0|a)?(0|a)!=(0|o)||(0|(o=A[r+108>>2]))<=(0|t)?a||(a=0,(0|(o=A[r+108>>2]))>=(0|t)||(t=(o<<1)-t|0)):t=(o<<1)-t|0:a=(n<<1)-a|0:(a=(n<<1)-a|0,t=0):a=t:t=a:t=a=o,A[b+12>>2]=a,A[b+8>>2]=t,!(A[r+8>>2]<=0)){for(k=A[r+32>>2],t=0;(0|(o=A[(a=t<<2)+(b+8|0)>>2]))>(0|(n=A[r+16>>2]))?A[a+k>>2]=n:(a=a+k|0,n=A[r+12>>2],A[a>>2]=(0|n)>(0|o)?n:o),(0|(t=t+1|0))<(0|(a=A[r+8>>2])););if(t=0,!((0|a)<=0))for(p=(a=s<<3)+i|0,N=e+a|0;n=(a=A[(_=t<<2)+N>>2])+(o=A[k+_>>2])|0,a=(a>>31)+(o>>31)|0,a=o>>>0>n>>>0?a+1|0:a,(n=(o=n)>>>0>(u=A[r+16>>2])>>>0)&(0|(u>>=31))<=(0|a)|(0|a)>(0|u)?o=o-A[r+20>>2]|0:(0|(u=(n=A[r+12>>2])>>31))<=(0|a)&o>>>0>=n>>>0|(0|a)>(0|u)||(o=(n=A[r+20>>2])+o|0),A[_+p>>2]=o,(0|(t=t+1|0))<A[r+8>>2];);}if((0|l)==(0|(s=s+1|0)))break}return F=b+32|0,(0|f)>=(0|y)|0}Ti(),c()},tf,sf,Fi,Pi,er,Wi,kf,Af,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o=0,n=0,k=0,c=0,_=0,s=0,p=0,l=0,y=0,d=0;if(A[(r|=0)+8>>2]=a,Lr(r+32|0,a),b=ni(t=a>>>0>1073741823?-1:a<<2),t&&u(b,0,t),!((0|(o=A[r+8>>2]))<=0)){for(c=A[r+32>>2];(0|(o=A[(t=k<<2)+b>>2]))>(0|(n=A[r+16>>2]))?A[t+c>>2]=n:(t=t+c|0,n=A[r+12>>2],A[t>>2]=(0|n)>(0|o)?n:o),(0|(o=A[r+8>>2]))>(0|(k=k+1|0)););if(!((0|o)<=0))for(k=0;t=(o=A[(p=k<<2)+e>>2])+(n=A[c+p>>2])|0,o=(o>>31)+(n>>31)|0,o=t>>>0<n>>>0?o+1|0:o,(t=(n=t)>>>0>(_=A[r+16>>2])>>>0)&(0|(_>>=31))<=(0|o)|(0|o)>(0|_)?n=n-A[r+20>>2]|0:(0|(_=(t=A[r+12>>2])>>31))<=(0|o)&t>>>0<=n>>>0|(0|o)>(0|_)||(n=(t=A[r+20>>2])+n|0),A[i+p>>2]=n,(0|(o=A[r+8>>2]))>(0|(k=k+1|0)););}if(!((0|f)<=(0|a)|(0|o)<=0))for(d=0-a<<2,t=a;;){if(!((0|o)<=0)){for(_=(y=(c=t<<2)+i|0)+d|0,p=A[r+32>>2],k=0;(0|(n=A[(o=k<<2)+_>>2]))>(0|(l=A[r+16>>2]))?A[o+p>>2]=l:(o=o+p|0,l=A[r+12>>2],A[o>>2]=(0|l)>(0|n)?l:n),(0|(o=A[r+8>>2]))>(0|(k=k+1|0)););if(k=0,!((0|o)<=0))for(l=e+c|0;c=(o=A[(_=k<<2)+l>>2])+(n=A[_+p>>2])|0,o=(o>>31)+(n>>31)|0,o=n>>>0>c>>>0?o+1|0:o,(c=(n=c)>>>0>(s=A[r+16>>2])>>>0)&(0|(s>>=31))<=(0|o)|(0|o)>(0|s)?n=n-A[r+20>>2]|0:(0|(s=(c=A[r+12>>2])>>31))<=(0|o)&n>>>0>=c>>>0|(0|o)>(0|s)||(n=(c=A[r+20>>2])+n|0),A[_+y>>2]=n,(0|(o=A[r+8>>2]))>(0|(k=k+1|0)););}if(!((0|(t=a+t|0))<(0|f)))break}return fr(b),1},fi,bi,function(r,e,i){e|=0,i|=0;var f=0;return A[(r|=0)+4>>2]=e,e=A[A[A[e+4>>2]+8>>2]+(i<<2)>>2],A[r+12>>2]=i,A[r+8>>2]=e,r=A[r+8>>2],3==b[r+24|0]&&(f=9==A[r+28>>2]),0|f},function(r,e,i){return e|=0,i|=0,b[A[(r|=0)+4>>2]+36|0]>=2&&(e=0,!Fe(r+24|0,ne(r),i))||(e=we(r+24|0,A[r+16>>2])),0|e},Ji,function(r,e,i){r|=0,e|=0;var a,t=0,b=0,o=0,n=0,k=0,c=0,u=0;return F=a=F-32|0,3==(0|(i|=0))&&(b=A[r+4>>2],o=A[r+12>>2],A[a+28>>2]=-1,A[a+20>>2]=-1,A[a+24>>2]=1065353216,A[a+12>>2]=-1,A[a+16>>2]=-1,-2!=(0|e)&&(u=A[A[A[b+4>>2]+8>>2]+(o<<2)>>2],1==(0|Uf[A[A[b>>2]+8>>2]](b))&&(i=A[A[A[b+4>>2]+8>>2]+(o<<2)>>2],1!=(0|Uf[A[A[b>>2]+8>>2]](b))|e-1>>>0>5||!(c=0|Uf[A[A[b>>2]+36>>2]](b))|!(n=0|Uf[A[A[b>>2]+44>>2]](b,o))||(k=0|Uf[A[A[b>>2]+40>>2]](b,o),6==(0|e)&&(o=A[b+44>>2],t=ni(112),A[t+4>>2]=i,r=A[a+16>>2],A[t+8>>2]=A[a+12>>2],A[t+12>>2]=r,r=A[a+24>>2],A[t+16>>2]=A[a+20>>2],A[t+20>>2]=r,A[t+24>>2]=A[a+28>>2],A[t+40>>2]=n,e=n+12|0,A[t+36>>2]=e,r=k||c,A[t+32>>2]=r,A[t+28>>2]=o,A[t+68>>2]=n,A[t+64>>2]=e,A[t+60>>2]=r,A[t+56>>2]=o,A[t+48>>2]=0,A[t+52>>2]=0,A[t>>2]=k?5864:6876,A[t+88>>2]=1065353216,A[t+92>>2]=-1,A[t+80>>2]=-1,A[t+84>>2]=-1,A[t+72>>2]=1,A[t+76>>2]=-1,A[t+44>>2]=k?6436:7300,f[(r=t+96|0)+5|0]=0,f[r+6|0]=0,f[r+7|0]=0,f[r+8|0]=0,f[r+9|0]=0,f[r+10|0]=0,f[r+11|0]=0,f[r+12|0]=0,A[r>>2]=0,A[r+4>>2]=0)),t)||(t=ni(28),A[t+4>>2]=u,r=A[a+16>>2],A[t+8>>2]=A[a+12>>2],A[t+12>>2]=r,r=A[a+24>>2],A[t+16>>2]=A[a+20>>2],A[t+20>>2]=r,A[t+24>>2]=A[a+28>>2],A[t>>2]=7716))),F=a+32|0,0|t},nf,function(r,e){return 0|Gr((r|=0)+24|0,ne(r),A[r+8>>2])},function(r){return A[(r|=0)>>2]=5864,0|r},function(r){A[(r|=0)>>2]=5864,fr(r)},cf,qi,ti,Af,rf,Ri,Af,function(r){return 3},Cr,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o=0,n=0,k=0,u=0,_=0,s=0,p=0,y=0,m=0,N=0,h=0;F=b=F-48|0,(o=A[(r|=0)+8>>2])-2>>>0<=28&&(A[r+76>>2]=o,o=-2-(u=-1<<o)|0,A[r+84>>2]=o,A[r+80>>2]=-1^u,A[r+92>>2]=o>>>1,l[r+88>>2]=v(2)/v(o>>>0)),A[r+52>>2]=t;r:{if(t=A[r+40>>2],s=A[t+4>>2]-A[t>>2]>>2,!((0|(y=d(a,s)))>(0|f)||(A[b+16>>2]=0,A[b+8>>2]=0,A[b+12>>2]=0,(0|s)<=0)))for(m=r+8|0,N=r+44|0,h=r+96|0,u=0;;){if(t=A[r+40>>2],a=A[t>>2],A[t+4>>2]-a>>2>>>0<=u>>>0)break r;if(A[b+4>>2]=A[a+(u<<2)>>2],L(N,b+4|0,b+8|0),o=((a=(n=A[b+12>>2])>>31)^n)-a+(((t=(k=A[b+8>>2])>>31)^k)-t)|0,t=((a=(p=A[b+16>>2])>>31)^p)-a|0,a=0,(a=(_=t)>>>0>(t=t+o|0)>>>0?1:a)|t?(k=Oe(ze(o=A[r+92>>2],_=o>>31,k,k>>31),j,t,a),A[b+8>>2]=k,a=Oe(ze(o,_,n,n>>31),j,t,a),A[b+12>>2]=a,a=(t=(a^(t=a>>31))-t|0)+(((a=k>>31)^k)-a|0)|0,A[b+16>>2]=(0|p)>=0?o-a:a-o):A[b+8>>2]=A[r+92>>2],a=Ie(h),t=A[b+8>>2],a?(A[b+16>>2]=0-A[b+16>>2],o=0-A[b+12>>2]|0,A[b+12>>2]=o,t=0-t|0,A[b+8>>2]=t):o=A[b+12>>2],(0|t)>=0?(a=(t=A[r+92>>2])+A[b+16>>2]|0,t=t+o|0):((0|o)<0?t=((a=A[b+16>>2])^(t=a>>31))-t|0:(t=(a=A[b+16>>2])>>31,t=A[r+84>>2]+(t-(a^t)|0)|0),(0|a)<0?a=((a=o>>31)^o)-a|0:(a=o>>31,a=A[r+84>>2]+(a-(a^o)|0)|0)),o=A[r+84>>2],a|t?(0|a)!=(0|o)|t?(0|t)!=(0|o)|a?t||(0|(n=A[r+92>>2]))>=(0|a)?(0|t)!=(0|o)||(0|(n=A[r+92>>2]))<=(0|a)?(0|a)!=(0|o)||(0|(o=A[r+92>>2]))<=(0|t)?a||(a=0,(0|(o=A[r+92>>2]))>=(0|t)||(t=(o<<1)-t|0)):t=(o<<1)-t|0:a=(n<<1)-a|0:(a=(n<<1)-a|0,t=0):a=t:t=a:t=a=o,k=A[(n=(o=u<<3)+e|0)>>2],n=A[n+4>>2],A[b+36>>2]=a,A[b+32>>2]=t,A[b+24>>2]=k,A[b+28>>2]=n,cr(b+40|0,m,b+32|0,b+24|0),A[(a=i+o|0)>>2]=A[b+40>>2],A[a+4>>2]=A[b+44>>2],(0|s)==(0|(u=u+1|0)))break}return F=b+48|0,(0|f)>=(0|y)|0}Ti(),c()},tf,sf,Fi,Pi,L,function(r){return A[(r|=0)>>2]=6876,0|r},function(r){A[(r|=0)>>2]=6876,fr(r)},cf,ti,Af,rf,Ri,Cr,function(r,e,i,f,a,t){e|=0,i|=0,f|=0,a|=0,t|=0;var b,o=0,n=0,k=0,u=0,_=0,s=0,p=0,y=0,m=0,N=0,h=0;F=b=F-48|0,(o=A[(r|=0)+8>>2])-2>>>0<=28&&(A[r+76>>2]=o,o=-2-(u=-1<<o)|0,A[r+84>>2]=o,A[r+80>>2]=-1^u,A[r+92>>2]=o>>>1,l[r+88>>2]=v(2)/v(o>>>0)),A[r+52>>2]=t;r:{if(t=A[r+40>>2],s=A[t+4>>2]-A[t>>2]>>2,!((0|(y=d(a,s)))>(0|f)||(A[b+16>>2]=0,A[b+8>>2]=0,A[b+12>>2]=0,(0|s)<=0)))for(m=r+8|0,N=r+44|0,h=r+96|0,u=0;;){if(t=A[r+40>>2],a=A[t>>2],A[t+4>>2]-a>>2>>>0<=u>>>0)break r;if(A[b+4>>2]=A[a+(u<<2)>>2],er(N,b+4|0,b+8|0),o=((a=(n=A[b+12>>2])>>31)^n)-a+(((t=(k=A[b+8>>2])>>31)^k)-t)|0,t=((a=(p=A[b+16>>2])>>31)^p)-a|0,a=0,(a=(_=t)>>>0>(t=t+o|0)>>>0?1:a)|t?(k=Oe(ze(o=A[r+92>>2],_=o>>31,k,k>>31),j,t,a),A[b+8>>2]=k,a=Oe(ze(o,_,n,n>>31),j,t,a),A[b+12>>2]=a,a=(t=(a^(t=a>>31))-t|0)+(((a=k>>31)^k)-a|0)|0,A[b+16>>2]=(0|p)>=0?o-a:a-o):A[b+8>>2]=A[r+92>>2],a=Ie(h),t=A[b+8>>2],a?(A[b+16>>2]=0-A[b+16>>2],o=0-A[b+12>>2]|0,A[b+12>>2]=o,t=0-t|0,A[b+8>>2]=t):o=A[b+12>>2],(0|t)>=0?(a=(t=A[r+92>>2])+A[b+16>>2]|0,t=t+o|0):((0|o)<0?t=((a=A[b+16>>2])^(t=a>>31))-t|0:(t=(a=A[b+16>>2])>>31,t=A[r+84>>2]+(t-(a^t)|0)|0),(0|a)<0?a=((a=o>>31)^o)-a|0:(a=o>>31,a=A[r+84>>2]+(a-(a^o)|0)|0)),o=A[r+84>>2],a|t?(0|a)!=(0|o)|t?(0|t)!=(0|o)|a?t||(0|(n=A[r+92>>2]))>=(0|a)?(0|t)!=(0|o)||(0|(n=A[r+92>>2]))<=(0|a)?(0|a)!=(0|o)||(0|(o=A[r+92>>2]))<=(0|t)?a||(a=0,(0|(o=A[r+92>>2]))>=(0|t)||(t=(o<<1)-t|0)):t=(o<<1)-t|0:a=(n<<1)-a|0:(a=(n<<1)-a|0,t=0):a=t:t=a:t=a=o,k=A[(n=(o=u<<3)+e|0)>>2],n=A[n+4>>2],A[b+36>>2]=a,A[b+32>>2]=t,A[b+24>>2]=k,A[b+28>>2]=n,cr(b+40|0,m,b+32|0,b+24|0),A[(a=i+o|0)>>2]=A[b+40>>2],A[a+4>>2]=A[b+44>>2],(0|s)==(0|(u=u+1|0)))break}return F=b+48|0,(0|f)>=(0|y)|0}Ti(),c()},tf,sf,Fi,Pi,er,tf,sf,kf,Af,kf,Li,rf,function(r,e){r|=0;var i,f,a,t=0,o=0,n=0,k=0,c=0;return k=A[(e|=0)+8>>2],i=t=A[e+12>>2],t=A[e+20>>2],k>>>0<(f=(o=A[e+16>>2])+4|0)>>>0&(0|(a=f>>>0<4?t+1|0:t))>=(0|i)|(0|a)>(0|i)||(n=o+A[e>>2]|0,n=b[0|n]|b[n+1|0]<<8|b[n+2|0]<<16|b[n+3|0]<<24,A[e+16>>2]=f,A[e+20>>2]=a,k>>>0<(o=o+8|0)>>>0&(0|(t=o>>>0<8?t+1|0:t))>=(0|i)|(0|t)>(0|i)||(A[e+16>>2]=o,A[e+20>>2]=t,1&n&&((e=N(n))-2>>>0>28||(e=32-e|0,A[r+8>>2]=e,k=-2-(e=-1<<e)|0,A[r+16>>2]=k,A[r+12>>2]=-1^e,c=1,A[r+24>>2]=k>>>1,l[r+20>>2]=v(2)/v(k>>>0))))),0|c},function(r,e,i,f,a,t){r|=0,e|=0,i|=0,f|=0,t|=0;var b,o=0,n=0,k=0,c=0,_=0,s=0,p=0;if(F=t=F-32|0,b=ni(o=(a|=0)>>>0>1073741823?-1:a<<2),o&&u(b,0,o),o=A[e>>2],n=A[e+4>>2],c=A[b+4>>2],A[t+16>>2]=A[b>>2],A[t+20>>2]=c,A[t+8>>2]=o,A[t+12>>2]=n,cr(t+24|0,n=r+8|0,t+16|0,t+8|0),A[i>>2]=A[t+24>>2],A[i+4>>2]=A[t+28>>2],(0|f)>(0|a))for(c=0-a<<2,r=a;s=A[(k=(o=r<<2)+e|0)>>2],k=A[k+4>>2],p=A[(_=(o=i+o|0)+c|0)+4>>2],A[t+16>>2]=A[_>>2],A[t+20>>2]=p,A[t+8>>2]=s,A[t+12>>2]=k,cr(t+24|0,n,t+16|0,t+8|0),A[o>>2]=A[t+24>>2],A[o+4>>2]=A[t+28>>2],(0|f)>(0|(r=r+a|0)););return fr(b),F=t+32|0,1},function(r){var e=0;return A[(r|=0)>>2]=7904,A[r+24>>2]=1676,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),A[r>>2]=2188,e=A[r+20>>2],A[r+20>>2]=0,e&&Uf[A[A[e>>2]+4>>2]](e),A[r>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),0|r},function(r){var e=0;A[(r|=0)>>2]=7904,A[r+24>>2]=1676,(e=A[r+32>>2])&&(A[r+36>>2]=e,fr(e)),A[r>>2]=2188,e=A[r+20>>2],A[r+20>>2]=0,e&&Uf[A[A[e>>2]+4>>2]](e),A[r>>2]=1972,e=A[r+16>>2],A[r+16>>2]=0,e&&ge(e),fr(r)},function(r,e,i){var f;return e|=0,i|=0,A[(r|=0)+4>>2]=e,f=A[A[A[e+4>>2]+8>>2]+(i<<2)>>2],A[r+12>>2]=i,A[r+8>>2]=f,9==A[A[A[A[e+4>>2]+8>>2]+(i<<2)>>2]+28>>2]|0},function(r,e,i){return e|=0,b[A[(r|=0)+4>>2]+36|0]>=2&&(e=0,!(0|Uf[A[A[r>>2]+52>>2]](r)))||(e=we(r+24|0,A[r+16>>2])),0|e},Ji,function(r,e){return e|=0,0|Uf[A[A[(r|=0)>>2]+56>>2]](r,e)},function(r){var e,i=0;return e=(r|=0)+24|0,(i=ne(r))||(i=A[r+8>>2]),0|Tr(e,i,A[A[r+4>>2]+32>>2])},function(r,e){return 0|vr((r|=0)+24|0,ne(r),A[r+8>>2])},function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=9984,(i=A[r+20>>2])&&(A[r+24>>2]=i,fr(i)),e=A[r+8>>2]){if((0|(f=A[r+12>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+8>>2]}A[r+12>>2]=e,fr(i)}return 0|r},pf,Af,Af,function(r){return A[(r|=0)+44>>2]?0|Uf[A[A[r>>2]+48>>2]](r):0},function(r){var e=0,i=0,f=0,a=0,t=0,o=0,n=0,k=0,s=0,p=0,l=0,y=0,d=0,v=0;if(e=A[(r|=0)+32>>2],t=A[e+8>>2],(0|(o=A[e+12>>2]))<=(0|(n=A[e+20>>2]))&(i=A[e+16>>2])>>>0>=t>>>0|(0|o)<(0|n))return 0;o=b[A[e>>2]+i|0],t=e,e=n,e=(i=i+1|0)?e:e+1|0,A[t+16>>2]=i,A[t+20>>2]=e;r:if(o){for(;;){if(0|Uf[A[A[r>>2]+16>>2]](r,f)){if((0|o)!=(0|(f=f+1|0)))continue;break r}break}return 0}r:{if((0|(f=A[r+8>>2]))!=(0|(e=A[r+12>>2])))for(;;){if(i=A[f>>2],!(0|Uf[A[A[i>>2]+8>>2]](i,r,A[r+4>>2])))break r;if((0|e)==(0|(f=f+4|0)))break}if(o){for(f=0;;){if(e=A[A[r+8>>2]+(f<<2)>>2],!(0|Uf[A[A[e>>2]+12>>2]](e,A[r+32>>2])))break r;if((0|o)==(0|(f=f+1|0)))break}for(;;){f=0;e:if(e=A[(l=s<<2)+A[r+8>>2]>>2],!((0|(y=0|Uf[A[A[e>>2]+24>>2]](e)))<=0)){i:{for(;;){f:{e=A[A[r+8>>2]+l>>2];a:{t:if(!((n=0|Uf[A[A[e>>2]+20>>2]](e,f))>>>0<(t=(p=(a=A[r+24>>2])-(e=A[r+20>>2])|0)>>2)>>>0)){if((i=n+1|0)>>>0>t>>>0){if(i>>>0<=(k=A[r+28>>2]-e|0)>>2>>>0){(i=i-t<<2)&&u(a,0,i),A[r+24>>2]=i+a;break t}if(i>>>0>=1073741824)break f;if(a=k>>1,(a=k>>>0>=2147483644?1073741823:i>>>0<a>>>0?a:i)>>>0>=1073741824)break i;if(a=(v=ni(d=a<<2))+p|0,(k=i-t<<2)&&u(a,0,k),i=a-(t<<2)|0,p&&_(i,e,p),A[r+28>>2]=d+v,A[r+24>>2]=a+k,A[r+20>>2]=i,!e)break a;fr(e),i=A[r+20>>2];break a}i>>>0>=t>>>0||(A[r+24>>2]=e+(i<<2))}i=e}if(A[(n<<2)+i>>2]=s,(0|y)!=(0|(f=f+1|0)))continue;break e}break}uf(),c()}ji(),c()}if((0|(s=s+1|0))==(0|o))break}}return 0|Uf[A[A[r>>2]+28>>2]](r)?0|Uf[A[A[r>>2]+32>>2]](r):0}return 0},function(r){var e,i=0,f=0;if((0|(i=A[(r|=0)+8>>2]))==(0|(e=A[r+12>>2])))return 1;for(;f=A[i>>2],(f=0|Uf[A[A[f>>2]+16>>2]](f,A[r+32>>2]))&&(0|e)!=(0|(i=i+4|0)););return 0|f},Af,kf,rf,rf,function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=8132,i=A[r+48>>2],A[r+48>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),A[r>>2]=9984,(i=A[r+20>>2])&&(A[r+24>>2]=i,fr(i)),e=A[r+8>>2]){if((0|(f=A[r+12>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+8>>2]}A[r+12>>2]=e,fr(i)}return 0|r},function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=8132,i=A[r+48>>2],A[r+48>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),A[r>>2]=9984,(i=A[r+20>>2])&&(A[r+24>>2]=i,fr(i)),e=A[r+8>>2]){if((0|(f=A[r+12>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+8>>2]}A[r+12>>2]=e,fr(i)}fr(r)},function(r){var e,i=0,a=0,o=0,n=0;if(a=A[(r|=0)+32>>2],o=A[a+8>>2],(0|(n=A[a+12>>2]))<=(0|(e=A[a+20>>2]))&(i=A[a+16>>2])>>>0>=o>>>0|(0|n)<(0|e))return 0;n=b[A[a>>2]+i|0],o=a,a=e,a=(i=i+1|0)?a:a+1|0,A[o+16>>2]=i,A[o+20>>2]=a,a=A[r+48>>2],A[r+48>>2]=0,a&&Uf[A[A[a>>2]+4>>2]](a);r:{e:{i:{f:switch(0|n){case 0:a=ni(384),A[a>>2]=8240,u(a+4|0,0,80),A[a+96>>2]=0,A[a+100>>2]=0,A[a+92>>2]=-1,A[a+84>>2]=-1,A[a+88>>2]=-1,A[a+104>>2]=0,A[a+108>>2]=0,A[a+112>>2]=0,A[a+116>>2]=0,A[a+120>>2]=0,A[a+124>>2]=0,A[a+128>>2]=0,A[a+132>>2]=0,A[a+136>>2]=0,A[a+140>>2]=0,A[a+144>>2]=0,A[a+148>>2]=0,A[a+156>>2]=0,A[a+160>>2]=0,A[a+152>>2]=1065353216,A[a+164>>2]=0,A[a+168>>2]=0,A[a+172>>2]=0,A[a+176>>2]=0,A[a+180>>2]=0,A[a+184>>2]=0,A[a+188>>2]=0,A[a+192>>2]=0,A[a+196>>2]=0,A[a+200>>2]=0,A[a+204>>2]=0,A[a+208>>2]=0,A[a+212>>2]=-1,A[a+216>>2]=0,A[a+220>>2]=0,A[a+224>>2]=0,t[(i=a+232|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,t[(i=a+272|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,f[(i=a+312|0)+5|0]=0,f[i+6|0]=0,f[i+7|0]=0,f[i+8|0]=0,f[i+9|0]=0,f[i+10|0]=0,f[i+11|0]=0,f[i+12|0]=0,A[i>>2]=0,A[i+4>>2]=0,t[(i=a+328|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,A[a+376>>2]=0,A[a+368>>2]=0,A[a+372>>2]=0;break i;case 2:break f;default:break e}a=ni(440),A[a>>2]=8292,u(a+4|0,0,80),A[a+96>>2]=0,A[a+100>>2]=0,A[a+92>>2]=-1,A[a+84>>2]=-1,A[a+88>>2]=-1,A[a+104>>2]=0,A[a+108>>2]=0,A[a+112>>2]=0,A[a+116>>2]=0,A[a+120>>2]=0,A[a+124>>2]=0,A[a+128>>2]=0,A[a+132>>2]=0,A[a+136>>2]=0,A[a+140>>2]=0,A[a+144>>2]=0,A[a+148>>2]=0,A[a+156>>2]=0,A[a+160>>2]=0,A[a+152>>2]=1065353216,A[a+164>>2]=0,A[a+168>>2]=0,A[a+172>>2]=0,A[a+176>>2]=0,A[a+180>>2]=0,A[a+184>>2]=0,A[a+188>>2]=0,A[a+192>>2]=0,A[a+196>>2]=0,A[a+200>>2]=0,A[a+204>>2]=0,A[a+208>>2]=0,A[a+212>>2]=-1,A[a+216>>2]=0,A[a+220>>2]=0,A[a+224>>2]=0,t[(i=a+232|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,t[(i=a+272|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,f[(i=a+312|0)+5|0]=0,f[i+6|0]=0,f[i+7|0]=0,f[i+8|0]=0,f[i+9|0]=0,f[i+10|0]=0,f[i+11|0]=0,f[i+12|0]=0,A[i>>2]=0,A[i+4>>2]=0,t[(i=a+328|0)+38>>1]=0,A[i>>2]=0,A[i+8>>2]=0,A[i+12>>2]=0,A[i+16>>2]=0,A[i+20>>2]=0,A[i+24>>2]=0,A[i+28>>2]=0,f[i+29|0]=0,f[i+30|0]=0,f[i+31|0]=0,f[i+32|0]=0,f[i+33|0]=0,f[i+34|0]=0,f[i+35|0]=0,f[i+36|0]=0,A[a+392>>2]=0,A[a+396>>2]=0,A[a+384>>2]=0,A[a+388>>2]=0,A[a+376>>2]=0,A[a+380>>2]=0,A[a+368>>2]=0,A[a+372>>2]=0,A[a+416>>2]=0,A[a+420>>2]=0,A[a+408>>2]=2,A[a+412>>2]=7,A[a+400>>2]=-1,A[a+404>>2]=-1,A[a+424>>2]=0,A[a+428>>2]=0,A[a+432>>2]=0,A[a+436>>2]=0}if(i=A[r+48>>2],A[r+48>>2]=a,!i)break r;Uf[A[A[i>>2]+4>>2]](i)}if(!(a=A[r+48>>2]))return 0}return 0|Uf[A[A[a>>2]+8>>2]](a,r)},function(r,e){return e|=0,r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+20>>2]](r,e)},function(r){return r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+28>>2]](r)},function(r){return r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+36>>2]](r)},function(r,e){return e|=0,r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+12>>2]](r,e)},function(r,e){return e|=0,r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+16>>2]](r,e)},function(r){return r=A[(r|=0)+48>>2],0|Uf[A[A[r>>2]+24>>2]](r)},Vr,function(r){fr(Vr(r|=0))},Qi,xr,qr,I,function(r){var e,i=0,a=0,n=0,k=0,c=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,E=0,Y=0;if(F=e=F+-64|0,A[(r|=0)+132>>2]=0,A[r+148>>2]){if(a=A[r+144>>2])for(;i=A[a>>2],fr(a),a=i,i;);A[r+144>>2]=0,(i=A[r+140>>2])&&(i<<=2)&&u(A[r+136>>2],0,i),A[r+148>>2]=0}if(me(1,e+60|0,A[A[r+4>>2]+32>>2])&&(A[r+156>>2]=A[e+60>>2],me(1,e+56|0,A[A[r+4>>2]+32>>2])&&!((_=A[e+56>>2])>>>0>1431655765)&&!((i=A[r+156>>2])>>>0>(a=d(_,3))>>>0)&&(n=a>>>1|0,k=ze(i-1|0,(a=i>>31)-!i|0,i,a),!(!(i=(a=j)>>>1|0)&(a=(1&a)<<31|k>>>1)>>>0<n>>>0)&&(i=A[A[r+4>>2]+32>>2],k=A[i+8>>2],!((0|(y=A[i+12>>2]))<=(0|(a=A[i+20>>2]))&(n=A[i+16>>2])>>>0>=k>>>0|(0|a)>(0|y))&&(k=b[n+A[i>>2]|0],a=(n=n+1|0)?a:a+1|0,A[i+16>>2]=n,A[i+20>>2]=a,me(1,e+52|0,i)&&!((N=A[e+52>>2])>>>0>_>>>0|_>>>0>N+((N>>>0)/3|0)>>>0)&&me(1,e+48|0,A[A[r+4>>2]+32>>2])&&!((i=A[e+48>>2])>>>0>N>>>0)&&(A[r+28>>2]=A[r+24>>2],n=Ze(ni(88)),a=A[r+8>>2],A[r+8>>2]=n,(!a||(Ye(a),A[r+8>>2]))&&(A[r+164>>2]=A[r+160>>2],Qe(r+160|0,_),A[r+176>>2]=A[r+172>>2],Qe(r+172|0,_),A[r+64>>2]=0,A[r+92>>2]=-1,A[r+84>>2]=-1,A[r+88>>2]=-1,A[r+40>>2]=A[r+36>>2],A[r+52>>2]=A[r+48>>2],A[r+76>>2]=A[r+72>>2],De(G=r+216|0),rr(G,k),Xr(A[r+8>>2],_,i+A[r+156>>2]|0)&&(a=A[r+156>>2],f[e+8|0]=1,te(r+120|0,i+a|0,v=e+8|0),-1!=(0|or(r,A[A[r+4>>2]+32>>2])))))))))){A[(i=r+232|0)+144>>2]=r,a=A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2],a=A[a>>2]+A[a+16>>2]|0,n=A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2],n=A[n+8>>2]-A[n+16>>2]|0,E=i,Y=o[A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2]+38>>1],t[E+38>>1]=Y,A[i>>2]=a,A[i+16>>2]=0,A[i+20>>2]=0,A[i+8>>2]=n,A[i+12>>2]=0,A[r+372>>2]=k,t[v+38>>1]=0,A[v>>2]=0,A[v+8>>2]=0,A[v+12>>2]=0,A[v+16>>2]=0,A[v+20>>2]=0,A[v+24>>2]=0,A[v+28>>2]=0,f[v+29|0]=0,f[v+30|0]=0,f[v+31|0]=0,f[v+32|0]=0,f[v+33|0]=0,f[v+34|0]=0,f[v+35|0]=0,f[v+36|0]=0,a=0,F=y=F-16|0,n=A[i+36>>2],A[i+72>>2]=A[i+32>>2],A[i+76>>2]=n,n=A[i+28>>2],A[i+64>>2]=A[i+24>>2],A[i+68>>2]=n,n=A[i+20>>2],A[i+56>>2]=A[i+16>>2],A[i+60>>2]=n,n=A[i+12>>2],A[i+48>>2]=A[i+8>>2],A[i+52>>2]=n,n=A[i+4>>2],A[i+40>>2]=A[i>>2],A[i+44>>2]=n,ri(i+40|0,1,y+8|0)&&(n=A[i+76>>2],A[i+32>>2]=A[i+72>>2],A[i+36>>2]=n,n=A[i+68>>2],A[i+24>>2]=A[i+64>>2],A[i+28>>2]=n,c=_=A[i+60>>2],n=A[i+56>>2],A[i+16>>2]=n,A[i+20>>2]=_,l=k=A[i+52>>2],_=A[i+48>>2],A[i+8>>2]=_,A[i+12>>2]=k,k=A[i+44>>2],A[i>>2]=A[i+40>>2],A[i+4>>2]=k,(0|(s=A[y+12>>2]))==(0|(l=l-((n>>>0>_>>>0)+c|0)|0))&(k=_-n|0)>>>0>=(_=A[y+8>>2])>>>0|s>>>0<l>>>0)&&(k=c+s|0,k=(n=n+_|0)>>>0<_>>>0?k+1|0:k,A[i+16>>2]=n,A[i+20>>2]=k,Wr(i+80|0,i)&&Or(i)&&(a=A[i+36>>2],A[v+32>>2]=A[i+32>>2],A[v+36>>2]=a,a=A[i+28>>2],A[v+24>>2]=A[i+24>>2],A[v+28>>2]=a,a=A[i+20>>2],A[v+16>>2]=A[i+16>>2],A[v+20>>2]=a,a=A[i+12>>2],A[v+8>>2]=A[i+8>>2],A[v+12>>2]=a,a=A[i+4>>2],A[v>>2]=A[i>>2],A[v+4>>2]=a,a=1)),F=y+16|0;r:if(a){y=0,F=n=F-80|0,A[n+64>>2]=0,A[n+56>>2]=0,A[n+60>>2]=0,A[n+40>>2]=0,A[n+44>>2]=0,A[n+32>>2]=0,A[n+36>>2]=0,A[n+48>>2]=1065353216,A[n+28>>2]=0,A[n+20>>2]=0,A[n+24>>2]=0,_=r,R=A[r+124>>2];e:{i:{if((0|N)>0){for(V=A[r+216>>2]!=A[r+220>>2];;){f:{a:{t:{A:{b:{o:{n:{k:if(1==b[_+308|0]){c:{if(!((r=(p=A[_+296>>2])+((i=A[_+304>>2])>>>3|0)|0)>>>0>=(s=A[_+300>>2])>>>0)&&(a=b[0|r],r=i+1|0,A[_+304>>2]=r,a>>>(7&i)&1))switch(k=0,(a=p+(c=r>>>3|0)|0)>>>0>=s>>>0?a=r:(k=b[0|a],a=i+2|0,A[_+304>>2]=a,c=a>>>3|0,k=k>>>(7&r)&1),l=-1,(r=c+p|0)>>>0<s>>>0&&(r=b[0|r],A[_+304>>2]=a+1,k|=r>>>(7&a)<<1&2),k<<1){case 6:break n;case 0:break k;case 2:case 4:break c;default:break i}if((0|(r=A[n+60>>2]))==A[n+56>>2]){l=-1;break i}if(k=-1,p=A[_+8>>2],h=A[p+24>>2],i=-1,-1!=(0|(a=A[(U=r-4|0)>>2]))&&(i=-1,-1!=(0|(r=((r=a+1|0)>>>0)%3|0?r:a-2|0))&&(i=A[A[p>>2]+(r<<2)>>2])),-1!=(0|(r=A[h+(i<<2)>>2]))&&(k=((k=r+1|0)>>>0)%3|0?k:r-2|0),(0|a)==(0|k)){l=-1;break i}if(-1!=(0|a)&&(l=-1,-1!=A[A[p+12>>2]+(a<<2)>>2]))break i;if(r=A[p+12>>2],-1!=(0|k)&&(l=-1,-1!=A[r+(k<<2)>>2]))break i;c=(s=d(y,3))+1|0,A[r+(a<<2)>>2]=c,A[(W=c<<2)+r>>2]=a,m=s+2|0,A[r+(k<<2)>>2]=m,A[r+(Z=m<<2)>>2]=k,r=-1,c=-1;u:if(-1!=(0|a)){if((a>>>0)%3|0)a=a-1|0;else if(c=-1,-1==(0|(a=a+2|0)))break u;c=A[A[p>>2]+(a<<2)>>2]}if(a=c,-1!=(0|k)&&-1!=(0|(k=((c=k+1|0)>>>0)%3|0?c:k-2|0))&&(r=A[A[p>>2]+(k<<2)>>2]),l=-1,(0|i)==(0|a)|(0|r)==(0|i))break i;k=A[p>>2],A[k+(s<<2)>>2]=i,A[k+W>>2]=r,A[k+Z>>2]=a,-1!=(0|a)&&(A[h+(a<<2)>>2]=m),r=A[_+120>>2]+(i>>>3&536870908)|0,a=A[r>>2],E=r,Y=Gi(i)&a,A[E>>2]=Y,A[U>>2]=s;break f}if((0|(a=A[n+60>>2]))==A[n+56>>2])break i;if(a=A[a-4>>2],r=A[_+8>>2],i=A[r+12>>2],-1!=(0|a)&-1!=A[(c=i+(a<<2)|0)>>2])break i;if(p=d(y,3),A[(h=(m=p+((k=2==(0|k))?2:1)|0)<<2)+i>>2]=a,A[c>>2]=m,i=A[r+28>>2],A[n+76>>2]=i,c=A[r+32>>2],A[n+8>>2]=r+24,A[n+4>>2]=8280,A[n>>2]=n+76,i>>>0<c>>>0?(A[i>>2]=-1,i=i+4|0):($r(n),i=A[n+76>>2]),A[r+28>>2]=i,c=A[_+8>>2],s=A[c+24>>2],(0|R)<A[c+28>>2]-s>>2)break i;if(W=(c=A[c>>2])+h|0,h=(i-(r=A[r+24>>2])>>2)-1|0,A[W>>2]=h,(0|r)!=(0|i)&&(A[s+(h<<2)>>2]=m),r=k?p:p+2|0,h=(c+(p<<2)|0)+(k<<2)|0,-1!=(0|a)){c:{u:{if((a>>>0)%3|0)k=a-1|0;else if(-1==(0|(k=a+2|0)))break u;if(i=A[c+(k<<2)>>2],A[c+(r<<2)>>2]=i,-1==(0|i))break c;A[s+(i<<2)>>2]=r;break c}A[c+(r<<2)>>2]=-1}r=-1,-1!=(0|(i=((i=a+1|0)>>>0)%3|0?i:a-2|0))&&(r=A[c+(i<<2)>>2])}else A[c+(r<<2)>>2]=-1,r=-1;A[h>>2]=r,A[A[n+60>>2]-4>>2]=p;break o}if(l=-1,(0|(r=A[n+60>>2]))==(0|(m=A[n+56>>2])))break i;p=A[(i=r-4|0)>>2],A[n+60>>2]=i;k:if(s=A[n+36>>2])if(A[n+44>>2])if(k=A[n+32>>2],a=s+2147483647&y,(h=Ui(s)>>>0>1)&&((a=y)>>>0<s>>>0||(a=(a>>>0)%(s>>>0)|0)),a=A[k+((c=a)<<2)>>2])if(a=A[a>>2]){c:{if(!h){for(k=s-1|0;;){u:{if((0|(s=A[a+4>>2]))!=(0|y)){if((0|c)==(k&s))break u;r=i;break k}if(A[a+8>>2]==(0|y))break c}if(!(a=A[a>>2]))break}r=i;break k}for(;;){u:{if((0|(k=A[a+4>>2]))!=(0|y)){if(k>>>0>=s>>>0&&(k=(k>>>0)%(s>>>0)|0),(0|k)==(0|c))break u;r=i;break k}if(A[a+8>>2]==(0|y))break c}if(!(a=A[a>>2]))break}r=i;break k}A[n+76>>2]=i,k=A[n+64>>2],A[n+4>>2]=a+12,A[n+8>>2]=n+56,A[n>>2]=n+76,i>>>0<k>>>0?A[i>>2]=A[a+12>>2]:($r(n),r=A[n+76>>2]),A[n+60>>2]=r,m=A[n+56>>2]}else r=i;else r=i;else r=i;else r=i;if((0|r)==(0|m))break i;if((0|(i=A[r-4>>2]))==(0|p))break i;if(k=-1==(0|i),c=i<<2,s=A[_+8>>2],!k&-1!=A[c+A[s+12>>2]>>2])break i;if(a=A[s+12>>2],-1!=(0|p)&-1!=A[(Z=a+(p<<2)|0)>>2])break i;if(h=(m=d(y,3))+2|0,A[a+c>>2]=h,A[(c=h<<2)+a>>2]=i,l=m+1|0,A[Z>>2]=l,A[(U=l<<2)+a>>2]=p,k)break b;if((i>>>0)%3|0){k=i-1|0;break A}if(-1!=(0|(k=i+2|0)))break A;l=A[s>>2],k=-1;break t}if(A[n+72>>2]=d(y,3),i=A[_+8>>2],r=A[i+28>>2],A[n+76>>2]=r,a=A[i+32>>2],A[n+8>>2]=i+24,A[n+4>>2]=8280,A[n>>2]=n+76,r>>>0<a>>>0?(A[r>>2]=-1,a=r+4|0):($r(n),a=A[n+76>>2]),A[i+28>>2]=a,c=A[n+72>>2]<<2,r=A[_+8>>2],m=(s=(k=a-(p=A[i+24>>2])|0)>>2)-1|0,A[c+A[r>>2]>>2]=m,i=A[r+28>>2],A[n+76>>2]=i,h=A[r+32>>2],A[n+8>>2]=r+24,A[n+4>>2]=8280,A[n>>2]=n+76,i>>>0<h>>>0?(A[i>>2]=-1,i=i+4|0):($r(n),i=A[n+76>>2]),A[r+28>>2]=i,A[4+(c+A[r>>2]|0)>>2]=(i-A[r+24>>2]>>2)-1,c=A[n+72>>2],r=A[_+8>>2],i=A[r+28>>2],A[n+76>>2]=i,h=A[r+32>>2],A[n+8>>2]=r+24,A[n+4>>2]=8280,A[n>>2]=n+76,i>>>0<h>>>0?(A[i>>2]=-1,i=i+4|0):($r(n),i=A[n+76>>2]),A[r+28>>2]=i,A[8+(A[r>>2]+(c<<2)|0)>>2]=(i-A[r+24>>2]>>2)-1,r=A[_+8>>2],i=A[r+24>>2],(0|R)<A[r+28>>2]-i>>2)break i;c=A[n+72>>2],((0|a)!=(0|p)&&(A[i+(m<<2)>>2]=c,r=0,-4==(0|k))||(A[i+k>>2]=c+1,-1!=(0|(r=s+1|0))))&&(A[i+(r<<2)>>2]=A[n+72>>2]+2),r=A[n+60>>2],A[n+76>>2]=r,i=A[n+64>>2],A[n+8>>2]=n+56,A[n+4>>2]=n+72,A[n>>2]=n+76,r>>>0<i>>>0?(A[r>>2]=A[n+72>>2],r=r+4|0):($r(n),r=A[n+76>>2]),A[n+60>>2]=r}if((0|(a=A[_+40>>2]))==A[_+36>>2])break f;for(k=N+(-1^y)|0;;){if((r=A[a-8>>2])>>>0>k>>>0)break i;if((0|r)!=(0|k))break f;if(c=b[a-4|0],i=A[(r=a-12|0)>>2],A[_+40>>2]=r,(0|i)<0)break i;r=A[A[n+60>>2]-4>>2],A[n+16>>2]=N+(-1^i),i=n+16|0,A[n+72>>2]=i,A[n+76>>2]=n+32,tr(n,n+76|0,i,n+72|0),a=A[n>>2];o:if(1&c){if(i=-1,-1==(0|r))break o;i=((i=r+1|0)>>>0)%3|0?i:r-2|0}else i=-1,-1!=(0|r)&&(i=r-1|0,(r>>>0)%3|0||(i=r+2|0));if(A[a+12>>2]=i,(0|(a=A[_+40>>2]))==A[_+36>>2])break}break f}k=-1,l=A[s>>2],A[l+(m<<2)>>2]=-1,a=-1;break a}l=A[s>>2],k=A[l+(k<<2)>>2]}A[(m<<2)+l>>2]=k,a=-1,-1!=(0|(i=((W=i+1|0)>>>0)%3|0?W:i-2|0))&&(a=A[(i<<2)+l>>2])}if(A[l+U>>2]=a,-1!=(0|p)){a:{t:{if((p>>>0)%3|0)a=p-1|0;else if(-1==(0|(a=p+2|0)))break t;if(i=A[(a<<2)+l>>2],A[c+l>>2]=i,-1==(0|i))break a;A[A[s+24>>2]+(i<<2)>>2]=h;break a}A[c+l>>2]=-1}a=-1,i=-1,-1!=(0|(c=((c=p+1|0)>>>0)%3|0?c:p-2|0))&&(a=A[A[s>>2]+(c<<2)>>2],i=c)}else A[c+l>>2]=-1,a=-1,i=-1;A[n+72>>2]=a,l=A[s+24>>2],-1!=(0|k)&&(A[l+(k<<2)>>2]=A[l+(a<<2)>>2]),a=i;a:{for(;;){if(-1==(0|a))break a;if(A[A[s>>2]+(a<<2)>>2]=k,c=-1,-1!=(0|(a=((p=a+1|0)>>>0)%3|0?p:a-2|0))&&(c=-1,-1!=(0|(a=A[A[s+12>>2]+(a<<2)>>2]))&&(c=((c=a+1|0)>>>0)%3|0?c:a-2|0)),(0|i)==(0|(a=c)))break}l=-1;break i}i=A[n+72>>2],A[l+(i<<2)>>2]=-1,V||(r=A[n+24>>2],A[n+76>>2]=r,a=A[n+28>>2],A[n+8>>2]=n+20,A[n+4>>2]=n+72,A[n>>2]=n+76,r>>>0<a>>>0?(A[r>>2]=i,r=r+4|0):($r(n),r=A[n+76>>2]),A[n+24>>2]=r,r=A[n+60>>2]),A[r-4>>2]=m}if((0|N)==(0|(y=y+1|0)))break}y=N}if(l=-1,c=A[_+8>>2],!((0|R)<A[c+28>>2]-A[c+24>>2]>>2)){if((0|(a=A[n+60>>2]))!=A[n+56>>2]){for(h=_+72|0,V=_+60|0,U=_+312|0;;){if(i=A[(r=a-4|0)>>2],A[n+60>>2]=r,A[n+72>>2]=i,Ie(U)){if(s=A[_+8>>2],m=A[s>>2],((A[s+4>>2]-m>>2>>>0)/3|0)<=(0|y))break i;if(k=-1,a=-1,R=A[s+24>>2],r=-1,-1!=(0|(p=A[n+72>>2]))&&(r=-1,-1!=(0|(N=((N=p+1|0)>>>0)%3|0?N:p-2|0))&&(r=A[m+(N<<2)>>2])),-1!=(0|(i=A[R+((N=r)<<2)>>2]))?(c=1,r=-1,-1!=(0|(i=((W=i+1|0)>>>0)%3|0?W:i-2|0))&&(c=0,k=i,r=-1!=(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0))?A[m+(r<<2)>>2]:-1)):(c=1,r=-1),-1!=(0|(i=A[(r<<2)+R>>2]))&&(a=((a=i+1|0)>>>0)%3|0?a:i-2|0),(0|k)==(0|p)|(0|a)==(0|p)|-1!=(0|p)&-1!=A[A[s+12>>2]+(p<<2)>>2]|(0|a)==(0|k))break i;if(!c&-1!=A[A[s+12>>2]+(k<<2)>>2])break i;if(c=-1,R=-1,-1!=(0|a)){if(-1!=A[A[s+12>>2]+(a<<2)>>2])break i;R=-1,-1!=(0|(i=((i=a+1|0)>>>0)%3|0?i:a-2|0))&&(R=A[m+(i<<2)>>2])}m=d(y,3),A[n>>2]=m,i=A[s+12>>2],A[i+(m<<2)>>2]=p,A[i+(p<<2)>>2]=m,p=A[n>>2]+1|0,A[i+(p<<2)>>2]=k,A[i+(k<<2)>>2]=p,k=A[n>>2]+2|0,A[i+(k<<2)>>2]=a,A[i+(a<<2)>>2]=k,k=A[s>>2],i=A[n>>2],A[(a=k+(i<<2)|0)>>2]=r,A[a+8>>2]=N,A[a+4>>2]=R,N=A[_+120>>2],a=r,s=A[(p=N+((a=(r=i+1|0)?a:-1)>>>3&536870908)|0)>>2],E=p,Y=Gi(a)&s,A[E>>2]=Y,c=-1!=(0|r)?A[k+(r<<2)>>2]:c,a=A[(r=N+(c>>>3&536870908)|0)>>2],E=r,Y=Gi(c)&a,A[E>>2]=Y,a=-1,-1!=(0|(r=i+2|0))&&(a=A[k+(r<<2)>>2]),i=A[(r=N+(a>>>3&536870908)|0)>>2],E=r,Y=Gi(a)&i,A[E>>2]=Y,f[n+76|0]=1,Sr(V,n+76|0),Xe(h,n),y=y+1|0}else f[0|n]=0,Sr(V,n),r=A[_+76>>2],A[n+76>>2]=r,i=A[_+80>>2],A[n+8>>2]=h,A[n+4>>2]=n+72,A[n>>2]=n+76,r>>>0<i>>>0?(A[r>>2]=A[n+72>>2],A[_+76>>2]=r+4):($r(n),A[_+76>>2]=A[n+76>>2]);if((0|(a=A[n+60>>2]))==A[n+56>>2])break}c=A[_+8>>2]}if(((A[c+4>>2]-A[c>>2]>>2>>>0)/3|0)==(0|y)){if(l=A[c+28>>2]-A[c+24>>2]>>2,(0|(k=A[n+20>>2]))==(0|(N=A[n+24>>2])))break e;for(;;){if(i=A[c+24>>2],-1==A[(r=i+((a=l-1|0)<<2)|0)>>2])for(;a=l-2|0,l=l-1|0,-1==A[(r=i+(a<<2)|0)>>2];);if((i=A[k>>2])>>>0<=a>>>0){if(A[n>>2]=c,r=A[r>>2],f[n+12|0]=1,A[n+8>>2]=r,A[n+4>>2]=r,-1!=(0|r)){for(;;){if(r=A[A[_+8>>2]>>2]+(r<<2)|0,A[r>>2]!=(0|a)){l=-1;break i}if(A[r>>2]=i,Fr(n),-1==(0|(r=A[n+8>>2])))break}c=A[_+8>>2]}r=(y=A[c+24>>2])+(a<<2)|0,-1!=(0|i)&&(A[y+(i<<2)>>2]=A[r>>2]),A[r>>2]=-1,r=1<<i,i=(y=A[_+120>>2])+(i>>>3&536870908)|0,y=y+(a>>>3&536870908)|0,a=1<<a,A[y>>2]&a?r|=A[i>>2]:r=A[i>>2]&(-1^r),A[i>>2]=r,A[y>>2]=A[y>>2]&(-1^a),l=l-1|0}if((0|N)==(0|(k=k+4|0)))break}}}}k=A[n+20>>2]}if(k&&(A[n+24>>2]=k,fr(k)),a=A[n+40>>2])for(;r=A[a>>2],fr(a),a=r,r;);if(r=A[n+32>>2],A[n+32>>2]=0,r&&fr(r),(r=A[n+56>>2])&&(A[n+60>>2]=r,fr(r)),F=n+80|0,-1!=(0|l)){i=(r=A[v+16>>2])+A[v>>2]|0,a=A[v+8>>2]-r|0,r=A[A[_+4>>2]+32>>2],t[r+38>>1]=o[r+38>>1],A[r>>2]=i,A[r+16>>2]=0,A[r+20>>2]=0,A[r+8>>2]=a,A[r+12>>2]=0;e:if(A[_+216>>2]!=A[_+220>>2]&&(r=A[_+8>>2],A[r+4>>2]!=A[r>>2])){for(a=0;;){if(A[e+4>>2]=a,nr(_,e+4|0)){if(a=a+3|0,r=A[_+8>>2],a>>>0<A[r+4>>2]-A[r>>2]>>2>>>0)continue;break e}break}break r}if(1==b[_+308|0]&&(f[_+308|0]=0,a=A[_+292>>2],r=0,r=(n=((n=A[_+304>>2]+7|0)>>>0<7?1:r)<<29|n>>>3)+A[_+288>>2]|0,A[_+288>>2]=r,A[_+292>>2]=r>>>0<n>>>0?a+1|0:a),(0|(a=A[_+216>>2]))!=A[_+220>>2])for(r=0;;){if(Nr(4+((n=d(r,144))+a|0)|0,A[_+8>>2]),i=A[G>>2],(0|(a=A[(k=i+n|0)+132>>2]))!=(0|(k=A[k+136>>2]))){for(;i=A[G>>2],A[e>>2]=A[a>>2],Zr(4+(i+n|0)|0,e),(0|k)!=(0|(a=a+4|0)););i=A[G>>2]}if(!ar(4+(i+n|0)|0))break r;if(r=r+1|0,a=A[_+216>>2],!(r>>>0<(A[_+220>>2]-a|0)/144>>>0))break}if(r=A[_+8>>2],pe(_+184|0,A[r+28>>2]-A[r+24>>2]>>2),(0|(r=A[_+216>>2]))!=A[_+220>>2])for(a=0;r=d(a,144)+r|0,i=A[r+60>>2]-A[r+56>>2]>>2,k=r+104|0,r=A[_+8>>2],pe(k,(0|(r=A[r+28>>2]-A[r+24>>2]>>2))<(0|i)?i:r),a=a+1|0,r=A[_+216>>2],a>>>0<(A[_+220>>2]-r|0)/144>>>0;);T=H(_,l)}}}return F=e- -64|0,0|T},Af,qi,xi,yr,function(r){fr(yr(r|=0))},Qi,xr,qr,I,function(r){var e,i=0,a=0,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,Y=0,D=0,J=0,w=0,B=0;if(F=e=F+-64|0,A[(r|=0)+132>>2]=0,A[r+148>>2]){if(i=A[r+144>>2])for(;a=A[i>>2],fr(i),i=a;);A[r+144>>2]=0,(i=A[r+140>>2])&&(i<<=2)&&u(A[r+136>>2],0,i),A[r+148>>2]=0}if(me(1,e+60|0,A[A[r+4>>2]+32>>2])&&(A[r+156>>2]=A[e+60>>2],me(1,e+56|0,A[A[r+4>>2]+32>>2])&&!((s=A[e+56>>2])>>>0>1431655765)&&!((i=A[r+156>>2])>>>0>(a=d(s,3))>>>0)&&(n=ze(i-1|0,(n=i>>31)-!i|0,i,n),!(!(k=(i=j)>>>1|0)&(i=(1&i)<<31|n>>>1)>>>0<a>>>1>>>0)&&(i=A[A[r+4>>2]+32>>2],k=A[i+8>>2],!((0|(N=A[i+12>>2]))<=(0|(a=A[i+20>>2]))&(n=A[i+16>>2])>>>0>=k>>>0|(0|a)>(0|N))&&(k=b[n+A[i>>2]|0],a=(n=n+1|0)?a:a+1|0,A[i+16>>2]=n,A[i+20>>2]=a,me(1,e+52|0,i)&&!((R=A[e+52>>2])>>>0>s>>>0|s>>>0>R+((R>>>0)/3|0)>>>0)&&me(1,e+48|0,A[A[r+4>>2]+32>>2])&&!((a=A[e+48>>2])>>>0>R>>>0)&&(A[r+28>>2]=A[r+24>>2],n=Ze(ni(88)),i=A[r+8>>2],A[r+8>>2]=n,(!i||(Ye(i),A[r+8>>2]))&&(A[r+164>>2]=A[r+160>>2],Qe(r+160|0,s),A[r+176>>2]=A[r+172>>2],Qe(r+172|0,s),A[r+64>>2]=0,A[r+92>>2]=-1,A[r+84>>2]=-1,A[r+88>>2]=-1,A[r+40>>2]=A[r+36>>2],A[r+52>>2]=A[r+48>>2],A[r+76>>2]=A[r+72>>2],De(T=r+216|0),rr(T,k),Xr(A[r+8>>2],s,a+A[r+156>>2]|0)&&(i=A[r+156>>2],f[e+8|0]=1,te(r+120|0,i+a|0,h=e+8|0),-1!=(0|or(r,A[A[r+4>>2]+32>>2])))))))))){A[(i=r+232|0)+144>>2]=r,n=A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2],n=A[n>>2]+A[n+16>>2]|0,s=A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2],s=A[s+8>>2]-A[s+16>>2]|0,w=i,B=o[A[32+(0|Uf[A[A[r>>2]+32>>2]](r))>>2]+38>>1],t[w+38>>1]=B,A[i>>2]=n,A[i+16>>2]=0,A[i+20>>2]=0,A[i+8>>2]=s,A[i+12>>2]=0,w=i,B=0|Uf[A[A[r>>2]+36>>2]](r),A[w+148>>2]=B,A[r+372>>2]=k,A[r+384>>2]=a+A[r+156>>2],t[h+38>>1]=0,A[h>>2]=0,A[h+8>>2]=0,A[h+12>>2]=0,A[h+16>>2]=0,A[h+20>>2]=0,A[h+24>>2]=0,A[h+28>>2]=0,f[h+29|0]=0,f[h+30|0]=0,f[h+31|0]=0,f[h+32|0]=0,f[h+33|0]=0,f[h+34|0]=0,f[h+35|0]=0,f[h+36|0]=0,F=n=F-16|0;r:if(Wr(i+80|0,i)&&Or(i)&&(a=A[i+36>>2],A[h+32>>2]=A[i+32>>2],A[h+36>>2]=a,a=A[i+28>>2],A[h+24>>2]=A[i+24>>2],A[h+28>>2]=a,a=A[i+20>>2],A[h+16>>2]=A[i+16>>2],A[h+20>>2]=a,a=A[i+12>>2],A[h+8>>2]=A[i+8>>2],A[h+12>>2]=a,a=A[i+4>>2],A[h>>2]=A[i>>2],A[h+4>>2]=a,A[i+176>>2]=2,A[i+180>>2]=7,!((0|(a=A[i+152>>2]))<0))){A[n+12>>2]=0,Ir(i+156|0,a,n+12|0),l=1;e:{i:{f:{if((a=1+(A[i+180>>2]-A[i+176>>2]|0)|0)>>>0>(N=(0|(k=(p=A[i+188>>2])-(s=A[i+184>>2])|0))/12|0)>>>0){if((v=(A[i+192>>2]-s|0)/12|0)>>>0>=a>>>0){(a=12+((a=d(a-N|0,12)-12|0)-((a>>>0)%12|0)|0)|0)&&u(p,0,a),A[i+188>>2]=a+p;break e}if(a>>>0>=357913942)break f;if(p=v<<1,(p=v>>>0>=178956970?357913941:a>>>0<p>>>0?p:a)>>>0>=357913942)break i;if(p=(W=ni(v=d(p,12)))+k|0,(a=12+((a=d(a-N|0,12)-12|0)-((a>>>0)%12|0)|0)|0)&&u(p,0,a),N=p+d((0|k)/-12|0,12)|0,k&&_(N,s,k),A[i+192>>2]=v+W,A[i+188>>2]=a+p,A[i+184>>2]=N,!s)break e;fr(s);break e}if(a>>>0>=N>>>0)break e;if((0|(s=s+d(a,12)|0))!=(0|p))for(;(k=A[(a=p-12|0)>>2])&&(A[p-8>>2]=k,fr(k)),p=a,(0|a)!=(0|s););A[i+188>>2]=s;break e}uf(),c()}ji(),c()}if(Lr(i+196|0,(A[i+188>>2]-A[i+184>>2]|0)/12|0),A[i+188>>2]!=A[i+184>>2]){for(;;){if(me(1,n+8|0,h)&&(a=A[i+148>>2],!((k=(A[a+4>>2]-A[a>>2]>>2>>>0)/3|0)>>>0<(a=A[n+8>>2])>>>0))){if(a&&(Lr((s=d(y,12))+A[i+184>>2]|0,a),E(a,1,h,A[s+A[i+184>>2]>>2]),A[A[i+196>>2]+(y<<2)>>2]=a),(y=y+1|0)>>>0<(A[i+188>>2]-A[i+184>>2]|0)/12>>>0)continue;break r}break}l=0}}F=n+16|0;r:if(l){N=0,F=n=F-96|0,A[n+80>>2]=0,A[n+72>>2]=0,A[n+76>>2]=0,A[n+56>>2]=0,A[n+60>>2]=0,A[n+48>>2]=0,A[n+52>>2]=0,A[n+64>>2]=1065353216,A[n+44>>2]=0,A[n+36>>2]=0,A[n+40>>2]=0,s=r,W=A[r+124>>2];e:{i:{f:{if((0|R)>0){for(Y=r+232|0,D=A[r+216>>2]!=A[r+220>>2];;){a:{t:{A:{if(-1!=(0|(r=A[s+404>>2]))){if(p=-1,i=A[s+428>>2]+(r<<2)|0,r=(a=A[i>>2])-1|0,A[i>>2]=r,(0|a)<=0)break i;if((i=A[A[A[s+416>>2]+d(A[s+404>>2],12)>>2]+(r<<2)>>2])>>>0>4)break i;if(r=A[8848+(i<<2)>>2],A[s+400>>2]=r,i){b:switch(r-1|0){case 2:case 4:if((0|(a=A[n+76>>2]))==A[n+72>>2])break i;if(a=A[a-4>>2],r=A[s+8>>2],k=A[r+12>>2],-1!=(0|a)&-1!=A[(y=k+(a<<2)|0)>>2])break i;if(l=d(N,3),A[(U=(m=l+((v=3==(0|i))?2:1)|0)<<2)+k>>2]=a,A[y>>2]=m,i=A[r+28>>2],A[n+92>>2]=i,k=A[r+32>>2],A[n+16>>2]=r+24,A[n+12>>2]=8280,A[n+8>>2]=n+92,i>>>0<k>>>0?(A[i>>2]=-1,i=i+4|0):($r(n+8|0),i=A[n+92>>2]),A[r+28>>2]=i,k=A[s+8>>2],y=A[k+24>>2],(0|W)<A[k+28>>2]-y>>2)break i;if(p=A[k>>2],k=(i-(r=A[r+24>>2])>>2)-1|0,A[p+U>>2]=k,(0|r)!=(0|i)&&(A[y+(k<<2)>>2]=m),r=v?l:l+2|0,m=(p+(l<<2)|0)+(v<<2)|0,-1!=(0|a)){o:{n:{if((a>>>0)%3|0)k=a-1|0;else if(-1==(0|(k=a+2|0)))break n;if(i=A[p+(k<<2)>>2],A[p+(r<<2)>>2]=i,-1==(0|i))break o;A[y+(i<<2)>>2]=r;break o}A[p+(r<<2)>>2]=-1}r=-1,-1!=(0|(i=((i=a+1|0)>>>0)%3|0?i:a-2|0))&&(r=A[p+(i<<2)>>2])}else A[p+(r<<2)>>2]=-1,r=-1;A[m>>2]=r,A[A[n+76>>2]-4>>2]=l;break t;case 0:break b;case 6:break A;default:break i}if((0|(r=A[n+76>>2]))==(0|(m=A[n+72>>2])))break i;l=A[(i=r-4|0)>>2],A[n+76>>2]=i;b:if(v=A[n+52>>2])if(A[n+60>>2])if(k=A[n+48>>2],a=v+2147483647&N,(U=Ui(v)>>>0>1)&&((a=N)>>>0<v>>>0||(a=(a>>>0)%(v>>>0)|0)),a=A[k+((y=a)<<2)>>2])if(k=A[a>>2]){o:{if(!U){for(a=v-1|0;;){n:{if((0|(v=A[k+4>>2]))!=(0|N)){if((0|y)==(a&v))break n;r=i;break b}if(A[k+8>>2]==(0|N))break o}if(!(k=A[k>>2]))break}r=i;break b}for(;;){n:{if((0|(a=A[k+4>>2]))!=(0|N)){if(a>>>0>=v>>>0&&(a=(a>>>0)%(v>>>0)|0),(0|a)==(0|y))break n;r=i;break b}if(A[k+8>>2]==(0|N))break o}if(!(k=A[k>>2]))break}r=i;break b}A[n+92>>2]=i,a=A[n+80>>2],A[n+12>>2]=k+12,A[n+16>>2]=n+72,A[n+8>>2]=n+92,i>>>0<a>>>0?A[i>>2]=A[k+12>>2]:($r(n+8|0),r=A[n+92>>2]),A[n+76>>2]=r,m=A[n+72>>2]}else r=i;else r=i;else r=i;else r=i;if((0|r)==(0|m))break i;if((0|(a=A[r-4>>2]))==(0|l))break i;if(k=-1==(0|a),V=a<<2,y=A[s+8>>2],!k&-1!=A[V+A[y+12>>2]>>2])break i;if(i=A[y+12>>2],-1!=(0|l)&-1!=A[(Z=i+(l<<2)|0)>>2])break i;U=(v=d(N,3))+2|0,A[i+V>>2]=U,A[(m=U<<2)+i>>2]=a,p=v+1|0,A[Z>>2]=p,A[(G=p<<2)+i>>2]=l;b:{o:{n:{if(!k){if((a>>>0)%3|0){i=a-1|0;break n}if(-1!=(0|(i=a+2|0)))break n;p=A[y>>2],i=-1;break o}i=-1,p=A[y>>2],A[p+(v<<2)>>2]=-1,k=-1;break b}p=A[y>>2],i=A[p+(i<<2)>>2]}A[(v<<2)+p>>2]=i,k=-1,-1!=(0|(a=((V=a+1|0)>>>0)%3|0?V:a-2|0))&&(k=A[(a<<2)+p>>2])}if(A[p+G>>2]=k,-1!=(0|l)){b:{o:{if((l>>>0)%3|0)k=l-1|0;else if(-1==(0|(k=l+2|0)))break o;if(a=A[(k<<2)+p>>2],A[p+m>>2]=a,-1==(0|a))break b;A[A[y+24>>2]+(a<<2)>>2]=U;break b}A[p+m>>2]=-1}k=-1,a=-1,-1!=(0|(p=((p=l+1|0)>>>0)%3|0?p:l-2|0))&&(k=A[A[y>>2]+(p<<2)>>2],a=p)}else A[p+m>>2]=-1,k=-1,a=-1;A[n+88>>2]=k,p=A[s+388>>2],A[(l=p+(m=i<<2)|0)>>2]=A[l>>2]+A[p+(k<<2)>>2],l=A[y+24>>2],-1!=(0|i)&&(A[l+m>>2]=A[l+(A[n+88>>2]<<2)>>2]),k=a;b:{for(;;){if(-1==(0|k))break b;if(A[A[y>>2]+(k<<2)>>2]=i,p=-1,-1!=(0|(k=((m=k+1|0)>>>0)%3|0?m:k-2|0))&&(p=-1,-1!=(0|(k=A[A[y+12>>2]+(k<<2)>>2]))&&(p=((p=k+1|0)>>>0)%3|0?p:k-2|0)),(0|a)==(0|(k=p)))break}p=-1;break i}i=A[n+88>>2],A[l+(i<<2)>>2]=-1,D||(r=A[n+40>>2],A[n+92>>2]=r,a=A[n+44>>2],A[n+16>>2]=n+36,A[n+12>>2]=n+88,A[n+8>>2]=n+92,r>>>0<a>>>0?(A[r>>2]=i,r=r+4|0):($r(n+8|0),r=A[n+92>>2]),A[n+40>>2]=r,r=A[n+76>>2]),A[(r=r-4|0)>>2]=v,r=A[r>>2]}else{if((0|(r=A[n+76>>2]))==A[n+72>>2])break i;if(l=-1,v=A[s+8>>2],U=A[v+24>>2],a=-1,-1!=(0|(k=A[(G=r-4|0)>>2]))&&(a=-1,-1!=(0|(r=((r=k+1|0)>>>0)%3|0?r:k-2|0))&&(a=A[A[v>>2]+(r<<2)>>2])),-1!=(0|(r=A[U+(a<<2)>>2]))&&(l=((i=r+1|0)>>>0)%3|0?i:r-2|0),-1!=(0|k)&-1!=A[(r=k<<2)+A[v+12>>2]>>2]|(0|k)==(0|l))break i;if(i=A[v+12>>2],-1!=(0|l)&-1!=A[(Z=i+(l<<2)|0)>>2])break i;m=r+i|0,y=(r=d(N,3))+1|0,A[m>>2]=y,A[(V=y<<2)+i>>2]=k,m=r+2|0,A[Z>>2]=m,A[(Z=m<<2)+i>>2]=l,i=-1,y=-1;b:if(-1!=(0|k)){if((k>>>0)%3|0)k=k-1|0;else if(y=-1,-1==(0|(k=k+2|0)))break b;y=A[A[v>>2]+(k<<2)>>2]}if(k=y,-1!=(0|l)&&-1!=(0|(y=((y=l+1|0)>>>0)%3|0?y:l-2|0))&&(i=A[A[v>>2]+(y<<2)>>2]),(0|a)==(0|k)|(0|i)==(0|a))break i;p=A[v>>2],A[p+(r<<2)>>2]=a,A[p+V>>2]=i,A[p+Z>>2]=k,-1!=(0|k)&&(A[U+(k<<2)>>2]=m),i=A[s+120>>2]+(a>>>3&536870908)|0,k=A[i>>2],w=i,B=Gi(a)&k,A[w>>2]=B,A[G>>2]=r}A[n+32>>2]=r,sr(Y,n+32|0);break a}A[s+400>>2]=7}if(A[n+88>>2]=d(N,3),i=A[s+8>>2],r=A[i+28>>2],A[n+92>>2]=r,a=A[i+32>>2],A[n+16>>2]=i+24,A[n+12>>2]=8280,A[n+8>>2]=n+92,r>>>0<a>>>0?(A[r>>2]=-1,a=r+4|0):($r(n+8|0),a=A[n+92>>2]),A[i+28>>2]=a,p=A[n+88>>2]<<2,r=A[s+8>>2],l=(v=(k=a-(y=A[i+24>>2])|0)>>2)-1|0,A[p+A[r>>2]>>2]=l,i=A[r+28>>2],A[n+92>>2]=i,m=A[r+32>>2],A[n+16>>2]=r+24,A[n+12>>2]=8280,A[n+8>>2]=n+92,i>>>0<m>>>0?(A[i>>2]=-1,i=i+4|0):($r(n+8|0),i=A[n+92>>2]),A[r+28>>2]=i,A[4+(p+A[r>>2]|0)>>2]=(i-A[r+24>>2]>>2)-1,p=A[n+88>>2],r=A[s+8>>2],i=A[r+28>>2],A[n+92>>2]=i,m=A[r+32>>2],A[n+16>>2]=r+24,A[n+12>>2]=8280,A[n+8>>2]=n+92,i>>>0<m>>>0?(A[i>>2]=-1,i=i+4|0):($r(n+8|0),i=A[n+92>>2]),A[r+28>>2]=i,A[8+(A[r>>2]+(p<<2)|0)>>2]=(i-A[r+24>>2]>>2)-1,i=A[s+8>>2],r=A[i+24>>2],(0|W)<A[i+28>>2]-r>>2)break f;i=A[n+88>>2],((0|a)!=(0|y)&&(A[r+(l<<2)>>2]=i,l=0,-4==(0|k))||(A[r+k>>2]=i+1,-1!=(0|(l=v+1|0))))&&(A[r+(l<<2)>>2]=A[n+88>>2]+2),r=A[n+76>>2],A[n+92>>2]=r,i=A[n+80>>2],A[n+16>>2]=n+72,A[n+12>>2]=n+88,A[n+8>>2]=n+92,r>>>0<i>>>0?(A[r>>2]=A[n+88>>2],r=r+4|0):($r(n+8|0),r=A[n+92>>2]),A[n+76>>2]=r,l=A[r-4>>2]}if(A[n+32>>2]=l,sr(Y,n+32|0),(0|(k=A[s+40>>2]))!=A[s+36>>2])for(a=R+(-1^N)|0;;){if(p=-1,(r=A[k-8>>2])>>>0>a>>>0)break i;if((0|r)!=(0|a))break a;if(y=b[k-4|0],i=A[(r=k-12|0)>>2],A[s+40>>2]=r,(0|i)<0)break i;r=A[A[n+76>>2]-4>>2],A[n+28>>2]=R+(-1^i),i=n+28|0,A[n+88>>2]=i,A[n+92>>2]=n+48,tr(n+8|0,n+92|0,i,n+88|0),k=A[n+8>>2];t:if(1&y){if(i=-1,-1==(0|r))break t;i=((i=r+1|0)>>>0)%3|0?i:r-2|0}else i=-1,-1!=(0|r)&&(i=r-1|0,(r>>>0)%3|0||(i=r+2|0));if(A[k+12>>2]=i,(0|(k=A[s+40>>2]))==A[s+36>>2])break}}if((0|R)==(0|(N=N+1|0)))break}N=R}if(p=-1,y=A[s+8>>2],(0|W)<A[y+28>>2]-A[y+24>>2]>>2)break i;if((0|(k=A[n+76>>2]))!=A[n+72>>2]){for(Y=s+72|0,U=s+60|0,D=s+312|0;;){if(i=A[(r=k-4|0)>>2],A[n+76>>2]=r,A[n+88>>2]=i,Ie(D)){if(v=A[s+8>>2],W=A[v>>2],((A[v+4>>2]-W>>2>>>0)/3|0)<=(0|N))break i;if(i=-1,k=-1,m=A[v+24>>2],r=-1,-1!=(0|(l=A[n+88>>2]))&&(r=-1,-1!=(0|(R=((R=l+1|0)>>>0)%3|0?R:l-2|0))&&(r=A[W+(R<<2)>>2])),-1!=(0|(a=A[m+((R=r)<<2)>>2]))?(y=1,r=-1,-1!=(0|(a=((G=a+1|0)>>>0)%3|0?G:a-2|0))&&(y=0,i=a,r=-1!=(0|(r=((r=a+1|0)>>>0)%3|0?r:i-2|0))?A[W+(r<<2)>>2]:-1)):(y=1,r=-1),-1!=(0|(a=A[(r<<2)+m>>2]))&&(k=((k=a+1|0)>>>0)%3|0?k:a-2|0),(0|i)==(0|l)|(0|k)==(0|l)|-1!=(0|l)&-1!=A[A[v+12>>2]+(l<<2)>>2]|(0|i)==(0|k))break i;if(!y&-1!=A[A[v+12>>2]+(i<<2)>>2])break i;if(y=-1,m=-1,-1!=(0|k)){if(-1!=A[A[v+12>>2]+(k<<2)>>2])break i;m=-1,-1!=(0|(a=((a=k+1|0)>>>0)%3|0?a:k-2|0))&&(m=A[W+(a<<2)>>2])}W=d(N,3),A[n+8>>2]=W,a=A[v+12>>2],A[a+(W<<2)>>2]=l,A[a+(l<<2)>>2]=W,l=A[n+8>>2]+1|0,A[a+(l<<2)>>2]=i,A[a+(i<<2)>>2]=l,i=A[n+8>>2]+2|0,A[a+(i<<2)>>2]=k,A[a+(k<<2)>>2]=i,a=A[v>>2],i=A[n+8>>2],A[(k=a+(i<<2)|0)>>2]=r,A[k+8>>2]=R,A[k+4>>2]=m,R=A[s+120>>2],k=r,v=A[(l=R+((k=(r=i+1|0)?k:-1)>>>3&536870908)|0)>>2],w=l,B=Gi(k)&v,A[w>>2]=B,y=-1!=(0|r)?A[a+(r<<2)>>2]:y,k=A[(r=R+(y>>>3&536870908)|0)>>2],w=r,B=Gi(y)&k,A[w>>2]=B,k=-1,-1!=(0|(r=i+2|0))&&(k=A[a+(r<<2)>>2]),i=A[(r=R+(k>>>3&536870908)|0)>>2],w=r,B=Gi(k)&i,A[w>>2]=B,f[n+92|0]=1,Sr(U,n+92|0),Xe(Y,n+8|0),N=N+1|0}else f[n+8|0]=0,Sr(U,n+8|0),r=A[s+76>>2],A[n+92>>2]=r,i=A[s+80>>2],A[n+16>>2]=Y,A[n+12>>2]=n+88,A[n+8>>2]=n+92,r>>>0<i>>>0?(A[r>>2]=A[n+88>>2],A[s+76>>2]=r+4):($r(n+8|0),A[s+76>>2]=A[n+92>>2]);if((0|(k=A[n+76>>2]))==A[n+72>>2])break}y=A[s+8>>2]}if(((A[y+4>>2]-A[y>>2]>>2>>>0)/3|0)!=(0|N))break i;if(p=A[y+28>>2]-A[y+24>>2]>>2,(0|(l=A[n+36>>2]))==(0|(N=A[n+40>>2])))break e;for(;;){if(i=A[y+24>>2],-1==A[(r=i+((k=p-1|0)<<2)|0)>>2])for(;k=p-2|0,p=p-1|0,-1==A[(r=i+(k<<2)|0)>>2];);if((i=A[l>>2])>>>0<=k>>>0){if(A[n+8>>2]=y,r=A[r>>2],f[n+20|0]=1,A[n+16>>2]=r,A[n+12>>2]=r,-1!=(0|r)){for(;;){if(r=A[A[s+8>>2]>>2]+(r<<2)|0,A[r>>2]!=(0|k)){p=-1;break i}if(A[r>>2]=i,Fr(n+8|0),-1==(0|(r=A[n+16>>2])))break}y=A[s+8>>2]}r=(a=A[y+24>>2])+(k<<2)|0,-1!=(0|i)&&(A[a+(i<<2)>>2]=A[r>>2]),A[r>>2]=-1,r=1<<i,i=(a=A[s+120>>2])+(i>>>3&536870908)|0,a=a+(k>>>3&536870908)|0,k=1<<k,A[a>>2]&k?r|=A[i>>2]:r=A[i>>2]&(-1^r),A[i>>2]=r,A[a>>2]=A[a>>2]&(-1^k),p=p-1|0}if((0|N)==(0|(l=l+4|0)))break}break i}p=-1}l=A[n+36>>2]}if(l&&(A[n+40>>2]=l,fr(l)),r=A[n+56>>2])for(;i=A[r>>2],fr(r),r=i;);if(r=A[n+48>>2],A[n+48>>2]=0,r&&fr(r),(r=A[n+72>>2])&&(A[n+76>>2]=r,fr(r)),F=n+96|0,-1!=(0|p)){i=(r=A[h+16>>2])+A[h>>2]|0,a=A[h+8>>2]-r|0,r=A[A[s+4>>2]+32>>2],t[r+38>>1]=o[r+38>>1],A[r>>2]=i,A[r+16>>2]=0,A[r+20>>2]=0,A[r+8>>2]=a,A[r+12>>2]=0;e:if(A[s+216>>2]!=A[s+220>>2]&&(r=A[s+8>>2],A[r+4>>2]!=A[r>>2])){for(i=0;;){if(A[e+4>>2]=i,nr(s,e+4|0)){if(i=i+3|0,r=A[s+8>>2],i>>>0<A[r+4>>2]-A[r>>2]>>2>>>0)continue;break e}break}break r}if(1==b[s+308|0]&&(f[s+308|0]=0,a=A[s+292>>2],r=0,i=(n=((n=A[s+304>>2]+7|0)>>>0<7?1:r)<<29|n>>>3)+A[s+288>>2]|0,r=a,A[s+288>>2]=i,A[s+292>>2]=i>>>0<n>>>0?r+1|0:r),(0|(i=A[s+216>>2]))!=A[s+220>>2])for(r=0;;){if(Nr(4+((n=d(r,144))+i|0)|0,A[s+8>>2]),a=A[T>>2],(0|(i=A[(k=a+n|0)+132>>2]))!=(0|(k=A[k+136>>2]))){for(;a=A[T>>2],A[e>>2]=A[i>>2],Zr(4+(n+a|0)|0,e),(0|k)!=(0|(i=i+4|0)););a=A[T>>2]}if(!ar(4+(a+n|0)|0))break r;if(r=r+1|0,i=A[s+216>>2],!(r>>>0<(A[s+220>>2]-i|0)/144>>>0))break}if(r=A[s+8>>2],pe(s+184|0,A[r+28>>2]-A[r+24>>2]>>2),(0|(r=A[s+216>>2]))!=A[s+220>>2])for(i=0;r=d(i,144)+r|0,a=A[r+60>>2]-A[r+56>>2]>>2,k=r+104|0,r=A[s+8>>2],pe(k,(0|(r=A[r+28>>2]-A[r+24>>2]>>2))<(0|a)?a:r),i=i+1|0,r=A[s+216>>2],i>>>0<(A[s+220>>2]-r|0)/144>>>0;);J=H(s,p)}}}return F=e- -64|0,0|J},Af,qi,xi,Ai,function(r){var e=0;A[(r|=0)>>2]=8580,(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=8836,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),fr(r)},ye,function(r){var e=0;return A[(r|=0)>>2]=8836,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)>>2]=8836,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),fr(r)},function(r){var e=0;return A[(r|=0)+8>>2]=9088,A[r>>2]=8876,(e=A[r+96>>2])&&(A[r+100>>2]=e,fr(e)),(e=A[r+80>>2])&&(A[r+84>>2]=e,fr(e)),(e=A[r+68>>2])&&(A[r+72>>2]=e,fr(e)),(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=9328,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)+8>>2]=9088,A[r>>2]=8876,(e=A[r+96>>2])&&(A[r+100>>2]=e,fr(e)),(e=A[r+80>>2])&&(A[r+84>>2]=e,fr(e)),(e=A[r+68>>2])&&(A[r+72>>2]=e,fr(e)),(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=9328,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),fr(r)},function(r,e){e|=0;var i,a,t,b=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0,p=0;if(a=A[(r|=0)+12>>2],b=A[A[r+108>>2]+80>>2],f[e+84|0]=0,Dr(e+68|0,b,9076),b=A[r+108>>2],(0|(k=A[b+100>>2]))==(0|(i=A[b+96>>2])))return 1;for(b=A[b+80>>2],t=(k=(k-i|0)/12|0)>>>0<=1?1:k;k=0,!(1431655765==(0|s)||(n=(o=d(s,12))+A[a>>2]|0,-1==(0|(u=A[n>>2]))||(c=A[(o=o+i|0)>>2])>>>0>=b>>>0||(p=A[A[r+112>>2]+12>>2],(_=A[p+(u<<2)>>2])>>>0>=b>>>0||(u=A[e+68>>2],A[u+(c<<2)>>2]=_,-1==(0|(c=A[n+4>>2]))||(_=A[o+4>>2])>>>0>=b>>>0||(c=A[(c<<2)+p>>2])>>>0>=b>>>0||(A[u+(_<<2)>>2]=c,-1==(0|(n=A[n+8>>2]))||(o=A[o+8>>2])>>>0>=b>>>0||(n=A[(n<<2)+p>>2])>>>0>=b>>>0||(A[u+(o<<2)>>2]=n,k=1,(0|t)==(0|(s=s+1|0)))))))););return 0|k},function(r){var e,i,f=0,a=0,t=0,b=0,o=0,n=0,k=0;F=e=F-16|0,i=A[(r|=0)+4>>2],b=A[i>>2];r:{if(f=A[r+12>>2],!((o=A[f+28>>2]-A[f+24>>2]|0)>>>0<=A[i+8>>2]-b>>>0)){if((0|o)<0)break r;if(k=A[i+4>>2],n=(f=ni(o))+o|0,(0|b)!=(0|k))for(a=b,t=f;A[t>>2]=A[a>>2],t=t+4|0,(0|k)!=(0|(a=a+4|0)););A[i+8>>2]=n,A[i+4>>2]=f+(k-b|0),A[i>>2]=f,b&&(fr(b),f=A[r+12>>2],o=A[f+28>>2]-A[f+24>>2]|0)}b=r+8|0,a=0,A[e+4>>2]=0,Ir(r+96|0,o>>2,e+4|0);e:if(f=A[r+116>>2]){if((0|(n=A[f>>2]))==A[f+4>>2]){t=1;break e}for(;;){if(A[e+8>>2]=A[(a<<2)+n>>2],!(t=B(b,e+8|0)))break e;if(f=A[r+116>>2],n=A[f>>2],!((a=a+1|0)>>>0<A[f+4>>2]-n>>2>>>0))break}}else if(r=A[r+12>>2],r=((f=A[r+4>>2]-A[r>>2]>>2)>>>0)/3|0,f>>>0<3)t=1;else for(;;){if(A[e+12>>2]=d(a,3),!(t=B(b,e+12|0)))break e;if((0|r)==(0|(a=a+1|0)))break}return F=e+16|0,0|t}uf(),c()},function(r){var e=0;return A[(r|=0)>>2]=9088,(e=A[r+88>>2])&&(A[r+92>>2]=e,fr(e)),(e=A[r+72>>2])&&(A[r+76>>2]=e,fr(e)),(e=A[r+60>>2])&&(A[r+64>>2]=e,fr(e)),(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)>>2]=9088,(e=A[r+88>>2])&&(A[r+92>>2]=e,fr(e)),(e=A[r+72>>2])&&(A[r+76>>2]=e,fr(e)),(e=A[r+60>>2])&&(A[r+64>>2]=e,fr(e)),(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),fr(r)},function(r,e,i){e|=0,i|=0;var a,t=0;F=a=F-16|0,A[(r|=0)+4>>2]=e,t=A[e>>2],e=A[e+4>>2],f[a+15|0]=0,te(r+24|0,(e-t>>2>>>0)/3|0,a+15|0),e=A[r+4>>2],t=A[e+24>>2],e=A[e+28>>2],f[a+14|0]=0,te(r+36|0,e-t>>2,a+14|0),e=A[i+12>>2],A[r+16>>2]=A[i+8>>2],A[r+20>>2]=e,e=A[i+4>>2],A[r+8>>2]=A[i>>2],A[r+12>>2]=e,F=a+16|0},function(r){var e=0;return A[(r|=0)>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),fr(r)},function(r){var e=0;return A[(r|=0)+8>>2]=9512,A[r>>2]=9348,(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=9328,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)+8>>2]=9512,A[r>>2]=9348,(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=9328,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),fr(r)},function(r,e){e|=0;var i,a,t,b=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0,p=0;if(a=A[(r|=0)+12>>2],b=A[A[r+68>>2]+80>>2],f[e+84|0]=0,Dr(e+68|0,b,9076),b=A[r+68>>2],(0|(k=A[b+100>>2]))==(0|(i=A[b+96>>2])))return 1;for(b=A[b+80>>2],t=(k=(k-i|0)/12|0)>>>0<=1?1:k;k=0,!(1431655765==(0|s)||(n=(o=d(s,12))+A[a>>2]|0,-1==(0|(u=A[n>>2]))||(c=A[(o=o+i|0)>>2])>>>0>=b>>>0||(p=A[A[r+72>>2]+12>>2],(_=A[p+(u<<2)>>2])>>>0>=b>>>0||(u=A[e+68>>2],A[u+(c<<2)>>2]=_,-1==(0|(c=A[n+4>>2]))||(_=A[o+4>>2])>>>0>=b>>>0||(c=A[(c<<2)+p>>2])>>>0>=b>>>0||(A[u+(_<<2)>>2]=c,-1==(0|(n=A[n+8>>2]))||(o=A[o+8>>2])>>>0>=b>>>0||(n=A[(n<<2)+p>>2])>>>0>=b>>>0||(A[u+(o<<2)>>2]=n,k=1,(0|t)==(0|(s=s+1|0)))))))););return 0|k},function(r){var e,i=0,f=0,a=0,t=0,b=0,o=0,n=0;F=e=F-16|0,t=A[(r|=0)+4>>2],f=A[t>>2];r:{if(i=A[r+12>>2],!((i=A[i+28>>2]-A[i+24>>2]|0)>>>0<=A[t+8>>2]-f>>>0)){if((0|i)<0)break r;if(o=A[t+4>>2],n=(b=ni(i))+i|0,(0|f)!=(0|o))for(i=f,a=b;A[a>>2]=A[i>>2],a=a+4|0,(0|o)!=(0|(i=i+4|0)););A[t+8>>2]=n,A[t+4>>2]=b+(o-f|0),A[t>>2]=b,f&&fr(f)}b=r+8|0;e:if(i=A[r+76>>2]){if((0|(f=A[i>>2]))==A[i+4>>2]){a=1;break e}for(i=0;;){if(A[e+8>>2]=A[(i<<2)+f>>2],!(a=P(b,e+8|0)))break e;if(t=A[r+76>>2],f=A[t>>2],!((i=i+1|0)>>>0<A[t+4>>2]-f>>2>>>0))break}}else if(r=A[r+12>>2],f=((r=A[r+4>>2]-A[r>>2]>>2)>>>0)/3|0,r>>>0<3)a=1;else for(i=0;;){if(A[e+12>>2]=d(i,3),!(a=P(b,e+12|0)))break e;if((0|f)==(0|(i=i+1|0)))break}return F=e+16|0,0|a}uf(),c()},function(r){var e=0;return A[(r|=0)>>2]=9512,(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)>>2]=9512,(e=A[r+48>>2])&&(A[r+52>>2]=e,fr(e)),A[r>>2]=9328,(e=A[r+36>>2])&&fr(e),(e=A[r+24>>2])&&fr(e),fr(r)},function(r){var e=0;return A[(r|=0)+8>>2]=8580,A[r>>2]=9640,(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=8836,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),0|r},function(r){var e=0;A[(r|=0)+8>>2]=8580,A[r>>2]=9640,(e=A[r+56>>2])&&(A[r+60>>2]=e,fr(e)),A[r+8>>2]=8836,(e=A[r+44>>2])&&fr(e),(e=A[r+32>>2])&&fr(e),fr(r)},function(r,e){e|=0;var i,a,t,b=0,o=0,n=0,k=0,c=0,u=0,_=0,s=0,p=0;if(o=A[(r|=0)+12>>2],b=A[A[r+68>>2]+80>>2],f[e+84|0]=0,Dr(e+68|0,b,9076),b=A[r+68>>2],(0|(k=A[b+100>>2]))==(0|(i=A[b+96>>2])))return 1;for(b=A[b+80>>2],a=(k=(k-i|0)/12|0)>>>0<=1?1:k,t=A[o+28>>2];k=0,n=d(s,12),!(-1==(0|(u=A[(o=n+t|0)>>2]))||(c=A[(n=n+i|0)>>2])>>>0>=b>>>0||(p=A[A[r+72>>2]+12>>2],(_=A[p+(u<<2)>>2])>>>0>=b>>>0||(u=A[e+68>>2],A[u+(c<<2)>>2]=_,-1==(0|(c=A[o+4>>2]))||(_=A[n+4>>2])>>>0>=b>>>0||(c=A[(c<<2)+p>>2])>>>0>=b>>>0||(A[u+(_<<2)>>2]=c,-1==(0|(o=A[o+8>>2]))||(n=A[n+8>>2])>>>0>=b>>>0||(o=A[(o<<2)+p>>2])>>>0>=b>>>0||(A[u+(n<<2)>>2]=o,k=1,(0|a)==(0|(s=s+1|0))))))););return 0|k},function(r){var e,i=0,f=0,a=0,t=0,b=0,o=0,n=0;F=e=F-16|0,t=A[(r|=0)+4>>2],f=A[t>>2];r:{if(i=A[r+12>>2],!((i=A[i+56>>2]-A[i+52>>2]|0)>>>0<=A[t+8>>2]-f>>>0)){if((0|i)<0)break r;if(o=A[t+4>>2],n=(b=ni(i))+i|0,(0|f)!=(0|o))for(i=f,a=b;A[a>>2]=A[i>>2],a=a+4|0,(0|o)!=(0|(i=i+4|0)););A[t+8>>2]=n,A[t+4>>2]=b+(o-f|0),A[t>>2]=b,f&&fr(f)}b=r+8|0;e:if(i=A[r+76>>2]){if((0|(f=A[i>>2]))==A[i+4>>2]){a=1;break e}for(i=0;;){if(A[e+8>>2]=A[(i<<2)+f>>2],!(a=z(b,e+8|0)))break e;if(t=A[r+76>>2],f=A[t>>2],!((i=i+1|0)>>>0<A[t+4>>2]-f>>2>>>0))break}}else if(r=A[A[r+12>>2]+64>>2],f=((r=A[r+4>>2]-A[r>>2]>>2)>>>0)/3|0,r>>>0<3)a=1;else for(i=0;;){if(A[e+12>>2]=d(i,3),!(a=z(b,e+12|0)))break e;if((0|f)==(0|(i=i+1|0)))break}return F=e+16|0,0|a}uf(),c()},function(r){var e,i=0,f=0;if(A[(r|=0)>>2]=9984,(i=A[r+20>>2])&&(A[r+24>>2]=i,fr(i)),e=A[r+8>>2]){if((0|(f=A[r+12>>2]))!=(0|(i=e))){for(;i=A[(f=f-4|0)>>2],A[f>>2]=0,i&&Uf[A[A[i>>2]+4>>2]](i),(0|f)!=(0|e););i=A[r+8>>2]}A[r+12>>2]=e,fr(i)}fr(r)},function(r,e){r|=0,e|=0;var i=0,f=0;i=ni(64),f=ni(12),A[f+8>>2]=A[A[r+4>>2]+80>>2],A[f>>2]=9920,A[f+4>>2]=0,f=Me(i,f);r:{if((0|e)<0)r=f;else if(i=A[r+8>>2],A[r+12>>2]-i>>2<=(0|e)&&(Mr(r+8|0,e+1|0),i=A[r+8>>2]),r=A[(i=i+(e<<2)|0)>>2],A[i>>2]=f,!r)break r;Uf[A[A[r>>2]+4>>2]](r)}return(-1^e)>>>31|0},function(r){var e,i=0,f=0,a=0,t=0,n=0,k=0,_=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=e=F-48|0;r:if(Ge(1,e+24|0,A[(r|=0)+32>>2])&&Ge(1,e+20|0,A[r+32>>2])&&!((y=A[e+24>>2])>>>0>1431655765||(f=A[r+32>>2],s=Oe((a=A[f+8>>2])-(i=A[f+16>>2])|0,(_=A[f+12>>2])-((t=A[f+20>>2])+(i>>>0>a>>>0)|0)|0,3,0),!j&s>>>0<y>>>0|(0|t)>=(0|_)&i>>>0>=a>>>0|(0|t)>(0|_)))){_=b[i+A[f>>2]|0],a=t,a=(i=i+1|0)?a:a+1|0,A[f+16>>2]=i,A[f+20>>2]=a,l=A[e+20>>2];e:{i:{if(!_){F=a=F-32|0,i=d(y,3);f:{a:{if(y){if(i>>>0>=1073741824)break a;k=ni(f=d(y,12)),f&&u(k,0,f)}t:{A:if(!(f=E(i,1,A[r+32>>2],k))|!y){if(!k)break t}else{for(s=0;;){b:{if(p=(i=A[(_=(n<<2)+k|0)>>2])>>>1|0,1&i){if((0|s)<(0|p))break b;p=0-p|0}else if((2147483647^s)>>>0<p>>>0)break b;if(!((0|(t=s+p|0))<0|t>>>0>=l>>>0)){if(A[a>>2]=t,s=(i=A[_+4>>2])>>>1|0,1&i){if(t>>>0<s>>>0)break b;s=0-s|0}else if((2147483647^t)>>>0<s>>>0)break b;if(!((0|(i=t+s|0))<0|i>>>0>=l>>>0)){if(A[a+4>>2]=i,s=(p=A[_+8>>2])>>>1|0,1&p){if(i>>>0<s>>>0)break b;s=0-s|0}else if((2147483647^i)>>>0<s>>>0)break b;if(!((0|(s=i+s|0))<0|s>>>0>=l>>>0)){if(A[a+8>>2]=s,i=A[r+44>>2],p=A[i+100>>2],A[a+12>>2]=p,_=A[i+104>>2],A[a+24>>2]=i+96,A[a+20>>2]=a,A[a+16>>2]=a+12,n=n+3|0,_>>>0>p>>>0?(A[p>>2]=t,A[p+4>>2]=A[a+4>>2],A[p+8>>2]=A[a+8>>2],t=p+12|0):(gr(a+16|0),t=A[a+12>>2]),A[i+100>>2]=t,(0|(v=v+1|0))!=(0|y))continue;break A}}}}break}f=0}fr(k)}F=a+32|0;break f}uf(),c()}if(f)break i;break r}if(l>>>0<=255){if(!y)break i;for(s=0;;){if(A[e+16>>2]=0,A[e+8>>2]=0,A[e+12>>2]=0,f=A[r+32>>2],p=A[f+8>>2],!((0|(i=k=A[f+12>>2]))<=(0|(a=A[f+20>>2]))&(t=A[f+16>>2])>>>0>=p>>>0|(0|i)<(0|a)||(v=A[f>>2],_=b[v+t|0],i=a,i=(n=t+1|0)?i:i+1|0,A[f+16>>2]=n,A[f+20>>2]=i,_>>>0>=l>>>0||(A[e+8>>2]=_,(0|i)>=(0|k)&n>>>0>=p>>>0|(0|i)>(0|k)||(m=b[n+v|0],i=a,i=(n=t+2|0)>>>0<2?i+1|0:i,A[f+16>>2]=n,A[f+20>>2]=i,l>>>0<=m>>>0||(A[e+12>>2]=m,(0|i)>=(0|k)&n>>>0>=p>>>0|(0|i)>(0|k)||(i=b[n+v|0],a=(t=t+3|0)>>>0<3?a+1|0:a,A[f+16>>2]=t,A[f+20>>2]=a,i>>>0>=l>>>0))))))){if(A[e+16>>2]=i,i=A[r+44>>2],f=A[i+100>>2],A[e+28>>2]=f,a=A[i+104>>2],A[e+40>>2]=i+96,A[e+36>>2]=e+8,A[e+32>>2]=e+28,f>>>0<a>>>0?(A[f>>2]=_,A[f+4>>2]=A[e+12>>2],A[f+8>>2]=A[e+16>>2],t=f+12|0):(gr(e+32|0),t=A[e+28>>2]),A[i+100>>2]=t,(0|y)!=(0|(s=s+1|0)))continue;break i}break}break r}if(l>>>0<=65535){if(!y)break i;for(s=0;;){if(A[e+16>>2]=0,A[e+8>>2]=0,A[e+12>>2]=0,n=A[r+32>>2],f=A[n+8>>2],a=A[n+12>>2],t=i=A[n+20>>2],!(f>>>0<(k=(p=A[n+16>>2])+2|0)>>>0&(0|(i=k>>>0<2?i+1|0:i))>=(0|a)|(0|i)>(0|a)||(m=A[n>>2],v=b[0|(_=m+p|0)]|b[_+1|0]<<8,A[n+16>>2]=k,A[n+20>>2]=i,l>>>0<=v>>>0||(A[e+8>>2]=v,i=t,f>>>0<(_=p+4|0)>>>0&(0|(i=_>>>0<4?i+1|0:i))>=(0|a)|(0|i)>(0|a)||(k=b[0|(k=k+m|0)]|b[k+1|0]<<8,A[n+16>>2]=_,A[n+20>>2]=i,k>>>0>=l>>>0||(A[e+12>>2]=k,i=t,f>>>0<(t=p+6|0)>>>0&(0|(i=t>>>0<6?i+1|0:i))>=(0|a)|(0|i)>(0|a)||(f=b[0|(f=_+m|0)]|b[f+1|0]<<8,A[n+16>>2]=t,A[n+20>>2]=i,f>>>0>=l>>>0))))))){if(A[e+16>>2]=f,i=A[r+44>>2],f=A[i+100>>2],A[e+28>>2]=f,a=A[i+104>>2],A[e+40>>2]=i+96,A[e+36>>2]=e+8,A[e+32>>2]=e+28,f>>>0<a>>>0?(A[f>>2]=v,A[f+4>>2]=A[e+12>>2],A[f+8>>2]=A[e+16>>2],t=f+12|0):(gr(e+32|0),t=A[e+28>>2]),A[i+100>>2]=t,(0|y)!=(0|(s=s+1|0)))continue;break i}break}break r}if(!(l>>>0>2097151||(65535&((i=o[r+36>>1])<<8|i>>>8))>>>0<514)){if(!y)break i;for(;;){if(A[e+16>>2]=0,A[e+8>>2]=0,A[e+12>>2]=0,Ge(1,i=e+32|0,A[r+32>>2])&&!((f=A[e+32>>2])>>>0>=l>>>0)&&(A[e+8>>2]=f,Ge(1,i,A[r+32>>2])&&!((f=A[e+32>>2])>>>0>=l>>>0)&&(A[e+12>>2]=f,Ge(1,i,A[r+32>>2])&&!((i=A[e+32>>2])>>>0>=l>>>0)))){if(A[e+16>>2]=i,i=A[r+44>>2],f=A[i+100>>2],A[e+28>>2]=f,a=A[i+104>>2],A[e+40>>2]=i+96,A[e+36>>2]=e+8,A[e+32>>2]=e+28,f>>>0<a>>>0?(A[f>>2]=A[e+8>>2],A[f+4>>2]=A[e+12>>2],A[f+8>>2]=A[e+16>>2],t=f+12|0):(gr(e+32|0),t=A[e+28>>2]),A[i+100>>2]=t,(0|y)!=(0|(p=p+1|0)))continue;break i}break}break r}if(y)for(s=0;;){if(A[e+16>>2]=0,A[e+8>>2]=0,A[e+12>>2]=0,n=A[r+32>>2],f=A[n+8>>2],a=A[n+12>>2],t=i=A[n+20>>2],f>>>0<(k=(p=A[n+16>>2])+4|0)>>>0&(0|(i=k>>>0<4?i+1|0:i))>=(0|a)|(0|i)>(0|a))break e;if(m=A[n>>2],v=b[0|(_=m+p|0)]|b[_+1|0]<<8|b[_+2|0]<<16|b[_+3|0]<<24,A[n+16>>2]=k,A[n+20>>2]=i,l>>>0<=v>>>0)break e;if(A[e+8>>2]=v,i=t,f>>>0<(_=p+8|0)>>>0&(0|(i=_>>>0<8?i+1|0:i))>=(0|a)|(0|i)>(0|a))break e;if(k=b[0|(k=k+m|0)]|b[k+1|0]<<8|b[k+2|0]<<16|b[k+3|0]<<24,A[n+16>>2]=_,A[n+20>>2]=i,k>>>0>=l>>>0)break e;if(A[e+12>>2]=k,i=t,f>>>0<(t=p+12|0)>>>0&(0|(i=t>>>0<12?i+1|0:i))>=(0|a)|(0|i)>(0|a))break e;if(f=b[0|(f=_+m|0)]|b[f+1|0]<<8|b[f+2|0]<<16|b[f+3|0]<<24,A[n+16>>2]=t,A[n+20>>2]=i,f>>>0>=l>>>0)break e;if(A[e+16>>2]=f,i=A[r+44>>2],f=A[i+100>>2],A[e+28>>2]=f,a=A[i+104>>2],A[e+40>>2]=i+96,A[e+36>>2]=e+8,A[e+32>>2]=e+28,f>>>0<a>>>0?(A[f>>2]=v,A[f+4>>2]=A[e+12>>2],A[f+8>>2]=A[e+16>>2],t=f+12|0):(gr(e+32|0),t=A[e+28>>2]),A[i+100>>2]=t,(0|y)==(0|(s=s+1|0)))break}}A[A[r+4>>2]+80>>2]=l,N=1}}return F=e+48|0,0|N},tf,sf,function(r,e){return f[(e|=0)+84|0]=1,A[e+72>>2]=A[e+68>>2],1},function(r){var e=0,i=0,f=0,a=0;r:{if(!((0|(e=A[(r|=0)+8>>2]))<0||(Qr(A[r+4>>2],e),(0|(i=A[r+8>>2]))<=0)))for(r=A[r+4>>2],f=A[r>>2],a=A[r+4>>2]-f>>2,r=0;;){if((0|r)==(0|a))break r;if(A[(r<<2)+f>>2]=r,(0|i)==(0|(r=r+1|0)))break}return(-1^e)>>>31|0}Ti(),c()},pf,kf,Af,function(r){var e=0;return A[(r|=0)>>2]=10144,(e=A[r+96>>2])&&(A[r+100>>2]=e,fr(e)),(e=A[r+84>>2])&&(A[r+88>>2]=e,fr(e)),0|be(r)},function(r){var e=0;A[(r|=0)>>2]=10144,(e=A[r+96>>2])&&(A[r+100>>2]=e,fr(e)),(e=A[r+84>>2])&&(A[r+88>>2]=e,fr(e)),fr(be(r))},function(r,e,i){var f,a=0,t=0,b=0,o=0,n=0;if(hr(r|=0,e|=0,i|=0),(i=A[r+88>>2])-(f=A[r+84>>2])>>2<=(0|e))r:{e:{i:{if((a=e+1|0)>>>0>(t=(b=(e=i)-f|0)>>2)>>>0){if(a>>>0<=(i=A[r+92>>2]-f|0)>>2>>>0){for(i=(a-t<<2)+e|0;A[e>>2]=1,(0|i)!=(0|(e=e+4|0)););A[r+88>>2]=i;break r}if(a>>>0>=1073741824)break i;if(e=i>>1,(o=i>>>0>=2147483644?1073741823:e>>>0>a>>>0?e:a)>>>0>=1073741824)break e;for(a=(i=(n=ni(o<<2))+b|0)+(a-t<<2)|0,e=i;A[e>>2]=1,(0|a)!=(0|(e=e+4|0)););if(e=i-(t<<2)|0,b&&_(e,f,b),A[r+92>>2]=(o<<2)+n,A[r+88>>2]=a,A[r+84>>2]=e,!f)break r;fr(f);break r}if(a>>>0>=t>>>0)break r;A[r+88>>2]=(a<<2)+f;break r}uf(),c()}ji(),c()}},function(r,e){var i=0,f=0,a=0;ir(r|=0,e|=0),(0|e)<0||(f=A[r+88>>2])-(i=A[r+84>>2])>>2<=(0|e)||((a=f-(i=(e=i+(e<<2)|0)+4|0)|0)&&_(e,i,a),A[r+88>>2]=f-4)},be,function(r){fr(be(r|=0))},hr,ir,tf,sf,Wf,Wf,function(r,e,i){e|=0,i|=0;var a,t=0,b=0,o=0,n=0;F=a=F-80|0;r:{if(t=1,A[(r|=0)+4>>2]!=A[e+4>>2]){F=t=F+-64|0,b=A[e>>2],o=(n=A[b-8>>2])+e|0,b=A[b-4>>2];e:if(A[b+4>>2]!=A[2735]){if(!((0|e)>=(0|o)&&(A[t+20>>2]=0,A[t+24>>2]=0,A[t+16>>2]=0,A[t+12>>2]=10936,A[t+8>>2]=e,A[t+4>>2]=b,A[t+28>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+40>>2]=0,A[t+44>>2]=0,A[t+48>>2]=0,A[t+60>>2]=0,A[t+52>>2]=1,A[t+56>>2]=16777216,Uf[A[A[b>>2]+20>>2]](b,t+4|0,o,o,1,0),A[t+28>>2]))){A[t+20>>2]=0,A[t+24>>2]=0,A[t+16>>2]=0,A[t+12>>2]=10888,A[t+8>>2]=e,A[t+4>>2]=10936,A[t+28>>2]=0,A[t+32>>2]=0,A[t+36>>2]=0,A[t+40>>2]=0,A[t+44>>2]=0,A[t+48>>2]=0,f[t+51|0]=0,f[t+52|0]=0,f[t+53|0]=0,f[t+54|0]=0,f[t+55|0]=0,f[t+56|0]=0,f[t+57|0]=0,f[t+58|0]=0,A[t+60>>2]=0,f[t+59|0]=1,Uf[A[A[b>>2]+24>>2]](b,t+4|0,o,1,0),e=0;i:switch(A[t+40>>2]){case 0:e=1==A[t+44>>2]&&1==A[t+32>>2]&&1==A[t+36>>2]?A[t+24>>2]:0;break e;case 1:break i;default:break e}1!=A[t+28>>2]&&A[t+44>>2]|1!=A[t+32>>2]|1!=A[t+36>>2]||(e=A[t+20>>2])}}else e=n?0:o;if(F=t- -64|0,t=0,e){if(!(t=A[i>>2]))break r;u(a+24|0,0,56),f[a+75|0]=1,A[a+32>>2]=-1,A[a+28>>2]=r,A[a+20>>2]=e,A[a+68>>2]=1,Uf[A[A[e>>2]+28>>2]](e,a+20|0,t,1),1==(0|(r=A[a+44>>2]))&&(A[i>>2]=A[a+36>>2]),t=1==(0|r)}}return F=a+80|0,0|t}A[a+8>>2]=1271,A[a+4>>2]=487,A[a>>2]=1148,vf(),c()},function(r,e,i,f,a,t){i|=0,f|=0,a|=0,t|=0,Te(r|=0,A[(e|=0)+8>>2],t)&&le(e,i,f,a)},function(r,e,i,a,t){i|=0,a|=0,t|=0;r:{if(Te(r|=0,A[(e|=0)+8>>2],t)){if(1==A[e+28>>2]|A[e+4>>2]!=(0|i))break r;return void(A[e+28>>2]=a)}if(Te(r,A[e>>2],t)){if(!(A[e+16>>2]!=(0|i)&A[e+20>>2]!=(0|i))){if(1!=(0|a))break r;return void(A[e+32>>2]=1)}A[e+20>>2]=i,A[e+32>>2]=a,A[e+40>>2]=A[e+40>>2]+1,1!=A[e+36>>2]|2!=A[e+24>>2]||(f[e+54|0]=1),A[e+44>>2]=4}}},function(r,e,i,f){e|=0,i|=0,f|=0,A[(r|=0)+4>>2]==A[A[e+8>>2]+4>>2]&&Je(e,i,f)},sf,function(r,e,i,f,a,t){i|=0,f|=0,a|=0,t|=0,Te(r|=0,A[(e|=0)+8>>2],t)?le(e,i,f,a):(r=A[r+8>>2],Uf[A[A[r>>2]+20>>2]](r,e,i,f,a,t))},function(r,e,i,a,o){i|=0,a|=0,o|=0;r:{if(Te(r|=0,A[(e|=0)+8>>2],o)){if(1==A[e+28>>2]|A[e+4>>2]!=(0|i))break r;return void(A[e+28>>2]=a)}if(Te(r,A[e>>2],o)){if(!(A[e+16>>2]!=(0|i)&A[e+20>>2]!=(0|i))){if(1!=(0|a))break r;return void(A[e+32>>2]=1)}A[e+32>>2]=a;e:if(4!=A[e+44>>2]){if(t[e+52>>1]=0,r=A[r+8>>2],Uf[A[A[r>>2]+20>>2]](r,e,i,i,1,o),1==b[e+53|0]){if(A[e+44>>2]=3,!b[e+52|0])break e;break r}A[e+44>>2]=4}if(A[e+20>>2]=i,A[e+40>>2]=A[e+40>>2]+1,1!=A[e+36>>2]|2!=A[e+24>>2])break r;return void(f[e+54|0]=1)}r=A[r+8>>2],Uf[A[A[r>>2]+24>>2]](r,e,i,a,o)}},function(r,e,i,f){e|=0,i|=0,f|=0,A[(r|=0)+4>>2]!=A[A[e+8>>2]+4>>2]?(r=A[r+8>>2],Uf[A[A[r>>2]+28>>2]](r,e,i,f)):Je(e,i,f)},sf,function(r){return 1237},af,qi,af,af];function Gf(){return i.byteLength>>16}return{d:Object.create(Object.prototype,{grow:{value:function(r){r|=0;var a=0|Gf(),n=a+r|0;if(a<n&&n<65536&&n<=32768){var k=new ArrayBuffer(n<<16);new Int8Array(k).set(f),f=new Int8Array(k),t=new Int16Array(k),A=new Int32Array(k),b=new Uint8Array(k),o=new Uint16Array(k),p=new Uint32Array(k),l=new Float32Array(k),y=new Float64Array(k),i=k,e=b}return a}},buffer:{get:function(){return i}}}),e:function(){},f:sf,g:fr,h:function(r){return 0|D(r|=0)},i:D,j:ff,k:function(){var r;return r=ni(40),t[r+38>>1]=0,A[r>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,f[r+29|0]=0,f[r+30|0]=0,f[r+31|0]=0,f[r+32|0]=0,f[r+33|0]=0,f[r+34|0]=0,f[r+35|0]=0,f[r+36|0]=0,0|r},l:function(r,e,i){e|=0,i|=0,A[(r|=0)+16>>2]=0,A[r+20>>2]=0,A[r>>2]=e,A[r+8>>2]=i,A[r+12>>2]=0},m:ff,n:function(){var r,e;return e=ni(40),A[e>>2]=-1,A[(r=e+8|0)+16>>2]=0,A[r+20>>2]=0,A[r+8>>2]=0,A[r>>2]=0,A[r+4>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,0|e},o:ef,p:function(r){var e=0;(r|=0)&&((e=A[r+8>>2])&&(A[r+12>>2]=e,fr(e)),fr(r))},q:function(){return 0|Ke(ni(64))},r:ff,s:function(){var r;return r=Ke(ni(96)),A[r+64>>2]=0,A[r+68>>2]=0,A[r+88>>2]=0,A[r+72>>2]=0,A[r+76>>2]=0,f[r+77|0]=0,f[r+78|0]=0,f[r+79|0]=0,f[r+80|0]=0,f[r+81|0]=0,f[r+82|0]=0,f[r+83|0]=0,f[r+84|0]=0,0|r},t:Hi,u:function(r){return A[(r|=0)+88>>2]},v:function(r){return A[(r|=0)+56>>2]},w:Pi,x:function(r){return f[(r|=0)+24|0]},y:function(r){return b[(r|=0)+32|0]},z:function(r){return A[(r|=0)+40>>2]},A:function(r){return A[(r|=0)+48>>2]},B:function(r){return A[(r|=0)+60>>2]},C:ge,D:function(){var r;return r=ni(24),A[r+8>>2]=0,A[r+12>>2]=0,A[r+4>>2]=-1,A[r>>2]=1676,A[r+16>>2]=0,A[r+20>>2]=0,0|r},E:Ei,F:qi,G:function(r,e){return e|=0,v(l[A[(r|=0)+8>>2]+(e<<2)>>2])},H:function(r){return v(l[(r|=0)+20>>2])},I:Mi,J:function(){var r;return r=ni(8),A[r+4>>2]=-1,A[r>>2]=1032,0|r},K:Ei,L:qi,M:Mi,N:function(){var r;return r=ni(84),A[r>>2]=10204,u(r+4|0,0,80),0|r},O:Ii,P:Hi,Q:Mi,R:function(){var r;return r=ni(108),A[r>>2]=10204,u(r+4|0,0,80),A[r+84>>2]=0,A[r+88>>2]=0,A[r>>2]=10144,A[r+92>>2]=0,A[r+96>>2]=0,A[r+100>>2]=0,A[r+104>>2]=0,0|r},S:function(r){return(A[(r|=0)+100>>2]-A[r+96>>2]|0)/12|0},T:Ii,U:Hi,V:Mi,W:function(){var r;return r=ni(24),A[r+16>>2]=0,A[r+20>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r>>2]=r+4,A[r+12>>2]=r+16,0|r},X:function(r){var e,i=0;F=e=F-16|0,(r|=0)&&(i=A[r+16>>2],A[e+12>>2]=r+12,Be(e+12|0,i),i=A[r+4>>2],A[e+8>>2]=r,$e(e+8|0,i),fr(r)),F=e+16|0},Y:ef,Z:function(r){return 0|!A[(r|=0)>>2]},_:function(r){return 0|(f[(r|=0)+15|0]<0?A[r+4>>2]:r+4)},$:function(r){(r|=0)&&(f[r+15|0]<0&&fr(A[r+4>>2]),fr(r))},aa:Zi,ba:function(r,e){return e|=0,v(l[A[(r|=0)>>2]+(e<<2)>>2])},ca:gi,da:Vi,ea:Zi,fa:function(r,e){return e|=0,f[A[(r|=0)>>2]+e|0]},ga:Ci,ha:Vi,ia:Zi,ja:function(r,e){return e|=0,b[A[(r|=0)>>2]+e|0]},ka:Ci,la:Vi,ma:Zi,na:function(r,e){return e|=0,t[A[(r|=0)>>2]+(e<<1)>>1]},oa:Oi,pa:Vi,qa:Zi,ra:function(r,e){return e|=0,o[A[(r|=0)>>2]+(e<<1)>>1]},sa:Oi,ta:Vi,ua:Zi,va:Di,wa:gi,xa:Vi,ya:Zi,za:Di,Aa:gi,Ba:Vi,Ca:function(){var r;return r=ni(28),A[r+24>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r>>2]=0,A[r+4>>2]=0,0|r},Da:function(r,e,i){r|=0,e|=0;var a=0,t=0,b=0,o=0,n=0,k=0,u=0;if(F=r=F-16|0,(a=Ee(i|=0))>>>0<2147483639){a>>>0<=10?(f[r+15|0]=a,t=r+4|0):(t=ni((b=2147483640&a)+8|0),A[r+12>>2]=b-2147483640,A[r+8>>2]=a,A[r+4>>2]=t),a&&_(t,i,a),f[a+t|0]=0,a=f[r+15|0],i=0;r:if(e=A[e+4>>2]){for(t=(i=(0|a)<0)?A[r+8>>2]:a,b=i?A[r+4>>2]:r+4|0;;){if(!((u=Ve(b,n=(o=(0|(i=f[e+27|0]))<0)?A[e+16>>2]:e+16|0,k=(o=(i=o?A[e+20>>2]:i)>>>0<t>>>0)?i:t))?(0|u)<0:i>>>0>t>>>0)){if(i=1,1!=(0|((n=Ve(n,b,k))?(0|n)<0:o)))break r;e=e+4|0}if(!(e=A[e>>2]))break}i=0}e=i,(0|a)<0&&fr(A[r+4>>2]),F=r+16|0}else _f(),c();return 0|e},Ea:function(r,e,i){r|=0,e|=0,i|=0;var a,t=0,o=0,n=0,k=0,u=0,s=0;if(F=a=F-16|0,A[a+12>>2]=0,(t=Ee(i))>>>0<2147483639){t>>>0<=10?(f[a+11|0]=t,r=a):(r=ni((o=2147483640&t)+8|0),A[a+8>>2]=o-2147483640,A[a+4>>2]=t,A[a>>2]=r),t&&_(r,i,t),f[r+t|0]=0;r:if(r=A[e+4>>2]){s=e+4|0,i=(t=(0|(e=f[a+11|0]))<0)?A[a>>2]:a,e=t?A[a+4>>2]:e;e:{for(;;){if(1==(0|((u=Ve(i,t=(n=(0|(o=f[r+27|0]))<0)?A[r+16>>2]:r+16|0,k=(n=(o=n?A[r+20>>2]:o)>>>0<e>>>0)?o:e))?(0|u)<0:e>>>0<o>>>0))){if(r=A[r>>2])continue;break r}if(1!=(0|((t=Ve(t,i,k))?(0|t)<0:n)))break e;if(!(r=A[r+4>>2]))break}break r}(0|r)!=(0|s)&&4==((e=A[r+32>>2])-(r=A[r+28>>2])|0)&&(A[a+12>>2]=b[0|r]|b[r+1|0]<<8|b[r+2|0]<<16|b[r+3|0]<<24)}r=A[a+12>>2],f[a+11|0]<0&&fr(A[a>>2]),F=a+16|0}else _f(),c();return 0|r},Fa:function(r,e,i,a){r|=0,e|=0,a|=0;var t=0,b=0,o=0,n=0,k=0,u=0,s=0,p=0;if(F=r=F-32|0,(t=Ee(i|=0))>>>0<2147483639){t>>>0<=10?(f[r+31|0]=t,o=r+20|0):(o=ni((n=2147483640&t)+8|0),A[r+28>>2]=n-2147483640,A[r+24>>2]=t,A[r+20>>2]=o),t&&_(o,i,t),f[t+o|0]=0,A[r+16>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,t=r+20|0,o=r+8|0;r:if(i=A[e+4>>2]){p=e+4|0,n=(b=(0|(e=f[t+11|0]))<0)?A[t>>2]:t,e=b?A[t+4>>2]:e;e:{for(;;){if(1==(0|((s=Ve(n,t=(k=(0|(b=f[i+27|0]))<0)?A[i+16>>2]:i+16|0,u=(k=(b=k?A[i+20>>2]:b)>>>0<e>>>0)?b:e))?(0|s)<0:e>>>0<b>>>0))){if(i=A[i>>2])continue;break r}if(1!=(0|((t=Ve(t,n,u))?(0|t)<0:k)))break e;if(!(i=A[i+4>>2]))break}break r}(0|i)!=(0|p)&&(0|(e=A[i+28>>2]))!=(0|(t=A[i+32>>2]))&&(3&(e=t-e|0)||(Lr(o,e>>>2|0),(0|(e=A[o>>2]))==A[o+4>>2]?(Ti(),c()):(t=(t=A[i+32>>2])-(i=A[i+28>>2])|0)&&_(e,i,t)))}(e=A[a>>2])&&(A[a+4>>2]=e,fr(e)),A[a>>2]=A[r+8>>2],A[a+4>>2]=A[r+12>>2],A[a+8>>2]=A[r+16>>2],f[r+31|0]<0&&fr(A[r+20>>2]),F=r+32|0}else _f(),c()},Ga:function(r,e,i){r|=0,e|=0,i|=0;var a=0,t=0,o=0,n=0,k=0,u=0,s=0,p=0;if(F=r=F-32|0,A[r+24>>2]=0,A[r+28>>2]=0,(a=Ee(i))>>>0<2147483639){a>>>0<=10?(f[r+23|0]=a,o=r+12|0):(o=ni((t=2147483640&a)+8|0),A[r+20>>2]=t-2147483640,A[r+16>>2]=a,A[r+12>>2]=o),a&&_(o,i,a),f[a+o|0]=0,a=r+12|0;r:if(i=A[e+4>>2]){s=e+4|0,o=(t=(0|(e=f[a+11|0]))<0)?A[a>>2]:a,e=t?A[a+4>>2]:e;e:{for(;;){if(1==(0|((u=Ve(o,a=(n=(0|(t=f[i+27|0]))<0)?A[i+16>>2]:i+16|0,k=(n=(t=n?A[i+20>>2]:t)>>>0<e>>>0)?t:e))?(0|u)<0:e>>>0<t>>>0))){if(i=A[i>>2])continue;break r}if(1!=(0|((a=Ve(a,o,k))?(0|a)<0:n)))break e;if(!(i=A[i+4>>2]))break}break r}(0|i)!=(0|s)&&(e=A[i+28>>2],8==(A[i+32>>2]-e|0)&&(i=b[e+4|0]|b[e+5|0]<<8|b[e+6|0]<<16|b[e+7|0]<<24,A[r+24>>2]=b[0|e]|b[e+1|0]<<8|b[e+2|0]<<16|b[e+3|0]<<24,A[r+28>>2]=i))}p=y[r+24>>3],f[r+23|0]<0&&fr(A[r+12>>2]),F=r+32|0}else _f(),c();return+p},Ha:function(r,e,i){r|=0,e|=0;var a,t=0,b=0,o=0;return F=a=F-16|0,(t=Ee(i|=0))>>>0<2147483639?(t>>>0<=10?(f[a+15|0]=t,b=a+4|0):(b=ni((o=2147483640&t)+8|0),A[a+12>>2]=o-2147483640,A[a+8>>2]=t,A[a+4>>2]=b),t&&_(b,i,t),i=0,f[t+b|0]=0,Pr(t=e,a+4|0,e=r+16|0)&&(i=f[r+27|0]<0?A[r+16>>2]:e),f[a+15|0]<0&&fr(A[a+4>>2]),F=a+16|0):(_f(),c()),0|i},Ia:function(r,e){return A[(e|=0)+8>>2]},Ja:function(r,e,i){e|=0;var a,t=0,b=0,o=0,n=0,k=0,u=0;if(a=i|=0,i=r|=0,A[r+12>>2]!=(0|e)){if(b=e,(0|(r=A[r+4>>2]))!=(0|(t=A[i>>2])))for(;e=r-12|0,f[r-1|0]<0&&fr(A[e>>2]),r=e,(0|e)!=(0|t););if(A[i+12>>2]=b,A[i+4>>2]=t,(0|(e=A[b>>2]))!=(0|(u=b+4|0)))for(;;){r:if(p[i+8>>2]>t>>>0){if(f[e+27|0]>=0){A[t+8>>2]=A[e+24>>2],r=A[e+20>>2],A[t>>2]=A[e+16>>2],A[t+4>>2]=r,r=t+12|0;break r}wi(t,A[e+16>>2],A[e+20>>2]),r=t+12|0}else{k=0;e:{i:{if(r=A[i>>2],(b=1+((0|(t=A[i+4>>2]-r|0))/12|0)|0)>>>0<357913942){if(n=(o=(A[i+8>>2]-r|0)/12|0)<<1,o=o>>>0>=178956970?357913941:b>>>0<n>>>0?n:b){if(o>>>0>=357913942)break i;k=ni(d(o,12))}b=t+k|0,f[e+27|0]>=0?(A[b+8>>2]=A[e+24>>2],n=A[e+20>>2],A[b>>2]=A[e+16>>2],A[b+4>>2]=n):(wi(b,A[e+16>>2],A[e+20>>2]),r=A[i>>2],t=A[i+4>>2]-r|0),n=b+d((0|t)/-12|0,12)|0,t&&_(n,r,t),A[i+8>>2]=d(o,12)+k,t=b+12|0,A[i+4>>2]=t,A[i>>2]=n,r&&fr(r),r=t;break e}uf(),c()}ji(),c()}}t=r,A[i+4>>2]=r;r:{if(r=A[e+4>>2])for(;;)if(!(r=A[(e=r)>>2]))break r;for(;r=e,e=A[e+8>>2],(0|r)!=A[e>>2];);}if((0|e)==(0|u))break}}return e=0,(0|a)<0||(r=A[i>>2],(A[i+4>>2]-r|0)/12>>>0<=a>>>0||(r=r+d(a,12)|0,e=f[r+11|0]<0?A[r>>2]:r)),0|e},Ka:function(r){var e=0,i=0,a=0;if(r|=0){if(f[r+27|0]<0&&fr(A[r+16>>2]),e=A[r>>2]){if(i=e,(0|e)!=(0|(a=A[r+4>>2]))){for(;i=a-12|0,f[a-1|0]<0&&fr(A[i>>2]),(0|(a=i))!=(0|e););i=A[r>>2]}A[r+4>>2]=e,fr(i)}fr(r)}},La:function(){var r;return r=ni(40),A[r+16>>2]=0,A[r+20>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0,A[r+32>>2]=0,A[r+36>>2]=0,A[r>>2]=r+4,A[r+12>>2]=r+16,0|r},Ma:function(r,e,i,a){var b,o;r|=0,e|=0,i|=0,a|=0,F=a=F+-64|0,t[a+46>>1]=0,A[a+8>>2]=0,A[a+16>>2]=0,A[a+20>>2]=0,A[a+24>>2]=0,A[a+28>>2]=0,A[a+32>>2]=0,A[a+36>>2]=0,f[a+37|0]=0,f[a+38|0]=0,f[a+39|0]=0,f[a+40|0]=0,f[a+41|0]=0,f[a+42|0]=0,f[a+43|0]=0,f[a+44|0]=0,A[a+24>>2]=0,A[a+28>>2]=0,A[a+8>>2]=e,A[a+16>>2]=i,A[a+20>>2]=0,jr(a+48|0),A[r+24>>2]=A[a+48>>2],e=r+28|0,o=r+24|0,i=a+52|0,b=f[a+63|0];r:{e:{if(f[r+39|0]<0)qe(e,(r=(0|b)<0)?A[a+52>>2]:i,r?A[a+56>>2]:b);else{if((0|b)>=0)break e;_i(e,A[a+52>>2],A[a+56>>2])}if(f[a+63|0]>=0)break r;fr(A[a+52>>2]);break r}A[e+8>>2]=A[i+8>>2],r=A[i+4>>2],A[e>>2]=A[i>>2],A[e+4>>2]=r}return F=a- -64|0,0|o},Na:function(r,e,i,a){r|=0,e|=0,i|=0,a|=0;var b,o=0;F=b=F+-64|0,t[(o=b+8|0)+38>>1]=0,A[o>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o+24>>2]=0,A[o+28>>2]=0,f[o+29|0]=0,f[o+30|0]=0,f[o+31|0]=0,f[o+32|0]=0,f[o+33|0]=0,f[o+34|0]=0,f[o+35|0]=0,f[o+36|0]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o>>2]=e,A[o+8>>2]=i,A[o+12>>2]=0,Y(b+48|0,r,o,a),A[r+24>>2]=A[b+48>>2],o=r+28|0,e=r+24|0,a=b+52|0,i=f[b+63|0];r:{e:{if(f[r+39|0]<0)qe(o,(r=(0|i)<0)?A[b+52>>2]:a,r?A[b+56>>2]:i);else{if((0|i)>=0)break e;_i(o,A[b+52>>2],A[b+56>>2])}if(f[b+63|0]>=0)break r;fr(A[b+52>>2]);break r}A[o+8>>2]=A[a+8>>2],r=A[a+4>>2],A[o>>2]=A[a>>2],A[o+4>>2]=r}return F=b- -64|0,0|e},Oa:function(r,e,i){return 0|ci(e|=0,i|=0)},Pa:function(r,e,i){r|=0,e|=0;var a=0,t=0,b=0;return F=r=F-32|0,(a=Ee(i|=0))>>>0<2147483639?(a>>>0<=10?(f[r+31|0]=a,t=r+20|0):(t=ni((b=2147483640&a)+8|0),A[r+28>>2]=b-2147483640,A[r+24>>2]=a,A[r+20>>2]=t),a&&_(t,i,a),f[a+t|0]=0,f[r+12|0]=0,A[r+8>>2]=1701667182,f[r+19|0]=4,i=-1,(a=A[e+4>>2])&&(i=-1,(a=fe(a,r+8|0,r+20|0))&&(i=Pe(e,A[a+24>>2]))),e=i,f[r+19|0]<0&&fr(A[r+8>>2]),f[r+31|0]<0&&fr(A[r+20>>2]),F=r+32|0):(_f(),c()),0|e},Qa:function(r,e,i,a){r|=0,e|=0,a|=0;var t=0,b=0,o=0;return F=r=F-32|0,(t=Ee(i|=0))>>>0>=2147483639||(t>>>0<=10?(f[r+31|0]=t,b=r+20|0):(b=ni((o=2147483640&t)+8|0),A[r+28>>2]=o-2147483640,A[r+24>>2]=t,A[r+20>>2]=b),t&&_(b,i,t),f[t+b|0]=0,(i=Ee(a))>>>0>=2147483639)?(_f(),c()):(i>>>0<=10?(f[r+19|0]=i,b=r+8|0):(b=ni((t=2147483640&i)+8|0),A[r+16>>2]=t-2147483640,A[r+12>>2]=i,A[r+8>>2]=b),i&&_(b,a,i),f[i+b|0]=0,i=-1,(a=A[e+4>>2])&&(i=-1,(a=fe(a,r+20|0,r+8|0))&&(i=Pe(e,A[a+24>>2]))),e=i,f[r+19|0]<0&&fr(A[r+8>>2]),f[r+31|0]<0&&fr(A[r+20>>2]),F=r+32|0),0|e},Ra:function(r,e,i){return i|=0,A[A[(e|=0)+8>>2]+(i<<2)>>2]},Sa:function(r,e,i){r|=0,i|=0;var f=0,a=0;r=0;r:if((0|(f=A[(e|=0)+12>>2]))!=(0|(e=A[e+8>>2]))){f=(r=f-e>>2)>>>0<=1?1:r,r=0;e:{for(;;){if(a=A[e+(r<<2)>>2],A[a+60>>2]==(0|i))break e;if((0|f)==(0|(r=r+1|0)))break}r=0;break r}r=-1!=(0|r)?a:0}return 0|r},Ta:function(r,e){return A[(e|=0)+4>>2]},Ua:function(r,e,i){r|=0,i|=0;var f,a=0;if((f=A[(e|=0)+4>>2])&&!((0|(e=A[A[A[e+8>>2]+(i<<2)>>2]+60>>2]))<0)&&(0|(r=A[f+24>>2]))!=(0|(i=A[f+28>>2])))r:{for(;;){if(a=A[r>>2],(0|e)==A[a+24>>2])break r;if((0|i)==(0|(r=r+4|0)))break}a=0}return 0|a},Va:function(r,e,i,f){return r|=0,i|=0,f|=0,e=A[(e|=0)+96>>2],r=ni(12),e=e+d(i,12)|0,A[r+8>>2]=A[e+8>>2],i=A[e+4>>2],A[r>>2]=A[e>>2],A[r+4>>2]=i,(e=A[f>>2])&&(A[f+4>>2]=e,fr(e)),A[f>>2]=r,r=r+12|0,A[f+8>>2]=r,A[f+4>>2]=r,1},Wa:function(r,e,i){r|=0,e|=0;var a,t,o,n,k,s,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0,G=0,Z=0,V=0,T=0,j=0,E=0,Y=0,D=0,J=0,w=0,B=0,I=0,M=0,Q=0,g=0,O=0;s=i|=0,i=0,F=a=F-96|0,u(t=a+16|0,0,76),A[a+92>>2]=-1,A[a+12>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,F=o=F-32|0,A[t+68>>2]=0,A[t+72>>2]=0,A[t>>2]=e,F=n=F-16|0,k=e,r=A[e+20>>2],(A[e+24>>2]-r|0)<=0||-1!=(0|(r=A[r>>2]))&&(i=A[A[e+8>>2]+(r<<2)>>2]);r:{e:{if(i){l=A[k+96>>2],p=A[k+100>>2],A[n+12>>2]=0,A[n+4>>2]=0,A[n+8>>2]=0,e=(0|(r=p-l|0))/12|0;i:if((0|p)!=(0|l)){if(e>>>0>=357913942)break e;if(p=ni(r),A[n+4>>2]=p,A[n+12>>2]=r+p,(r=12+((r=r-12|0)-((r>>>0)%12|0)|0)|0)&&u(p,0,r),A[n+8>>2]=r+p,b[i+84|0]){if(r=0,e>>>0>=2){for(m=1&e,v=536870910&e,e=0;y=d(r,12),N=A[(i=y+l|0)>>2],W=A[i+4>>2],A[(y=p+y|0)+8>>2]=A[i+8>>2],A[y>>2]=N,A[y+4>>2]=W,y=d(1|r,12),N=A[(i=y+l|0)>>2],W=A[i+4>>2],A[(y=p+y|0)+8>>2]=A[i+8>>2],A[y>>2]=N,A[y+4>>2]=W,r=r+2|0,(0|v)!=(0|(e=e+2|0)););if(!m)break i}e=d(r,12),i=A[(r=e+l|0)>>2],l=A[r+4>>2],A[(e=e+p|0)+8>>2]=A[r+8>>2],A[e>>2]=i,A[e+4>>2]=l}else for(m=e>>>0<=1?1:e,r=A[i+68>>2],e=0;y=d(e,12),v=A[r+(A[(i=y+l|0)>>2]<<2)>>2],N=A[r+(A[i+4>>2]<<2)>>2],A[(y=p+y|0)+8>>2]=A[r+(A[i+8>>2]<<2)>>2],A[y+4>>2]=N,A[y>>2]=v,(0|m)!=(0|(e=e+1|0)););}F=B=F-16|0,v=ni(88),A[v+56>>2]=0,A[v+48>>2]=0,A[v+52>>2]=0,A[v+40>>2]=0,A[v+44>>2]=0,A[v+32>>2]=0,A[v+36>>2]=0,A[v+24>>2]=0,A[v+28>>2]=0,A[v+16>>2]=0,A[v+20>>2]=0,A[v+8>>2]=0,A[v+12>>2]=0,A[v>>2]=0,A[v+4>>2]=0,A[v+64>>2]=0,A[v+68>>2]=0,A[v+72>>2]=0,A[v+76>>2]=0,A[v+80>>2]=0,A[v+84>>2]=0,A[v+60>>2]=v,F=w=F-16|0,A[v+80>>2]=0,A[v+84>>2]=0,r=A[v+76>>2],A[v+76>>2]=0,r&&fr(r),A[v+68>>2]=0,A[v+72>>2]=0,r=A[v+64>>2],A[v+64>>2]=0,r&&fr(r),Qr(v,A[n+8>>2]-A[n+4>>2]>>2);i:if((0|(p=A[n+8>>2]))!=(0|(e=A[n+4>>2]))){if(i=A[v>>2],r=0,(p=(p-e|0)/12|0)>>>0>=2){for(m=1&p,N=-2&p,y=0;p=(l=d(r,12))+i|0,l=e+l|0,A[p>>2]=A[l>>2],A[p+4>>2]=A[l+4>>2],A[p+8>>2]=A[l+8>>2],p=(l=d(1|r,12))+i|0,l=e+l|0,A[p>>2]=A[l>>2],A[p+4>>2]=A[l+4>>2],A[p+8>>2]=A[l+8>>2],r=r+2|0,(0|N)!=(0|(y=y+2|0)););if(!m)break i}p=i,e=e+(i=d(r,12))|0,A[(r=p+i|0)>>2]=A[e>>2],A[r+4>>2]=A[e+4>>2],A[r+8>>2]=A[e+8>>2]}A[w+12>>2]=-1,e=0,p=0,l=0,F=W=F-16|0;i:{f:{if(J=w+12|0){if(Dr(v+12|0,A[v+4>>2]-A[v>>2]>>2,10132),A[W+12>>2]=0,A[W+4>>2]=0,A[W+8>>2]=0,r=(i=A[v+4>>2])-(m=A[v>>2])|0,!(y=(0|i)==(0|m))){if((0|r)<0)break f;e=ni(r),A[W+8>>2]=e,A[W+4>>2]=e,A[W+12>>2]=r+e}if(y)T=r>>2;else{for(;(r=A[(p<<2)+m>>2])>>>0>=A[W+8>>2]-e>>2>>>0&&(A[W>>2]=0,Ir(W+4|0,r+1|0,W),m=A[v>>2],i=A[v+4>>2],e=A[W+4>>2]),A[(r=(r<<2)+e|0)>>2]=A[r>>2]+1,(p=p+1|0)>>>0<(T=(r=i-m|0)>>2)>>>0;);if((0|i)!=(0|m)){if(T>>>0>=536870912)break f;p=ni(r<<=1),(r&=-8)&&u(p,255,r)}else p=0}Y=(i=(r=A[W+8>>2])-e|0)>>2;a:if((0|r)!=(0|e)){if(Y>>>0>=1073741824)break f;if(r=0,l=ni(i),i&&u(l,0,i),N=3&(y=Y>>>0<=1?1:Y),i=0,Y>>>0>=4){for(U=1073741820&y;A[(y=r<<2)+l>>2]=i,E=4|y,i=A[e+y>>2]+i|0,A[E+l>>2]=i,V=8|y,i=i+A[e+E>>2]|0,A[V+l>>2]=i,y|=12,i=i+A[e+V>>2]|0,A[y+l>>2]=i,i=i+A[e+y>>2]|0,r=r+4|0,(0|U)!=(0|(R=R+4|0)););if(!N)break a}for(R=0;A[(y=r<<2)+l>>2]=i,r=r+1|0,i=A[e+y>>2]+i|0,(0|N)!=(0|(R=R+1|0)););}if(T)for(;;){r=(D=h<<2)+m|0,U=-1,-1!=(0|(i=((y=h+1|0)>>>0)%3|0?y:h-2|0))&&(U=A[(i<<2)+m>>2]),R=A[r>>2];a:{t:{if(!((h>>>0)%3|0)){if(N=-1,-1!=(0|(r=h+2|0))&&(N=A[(r<<2)+m>>2]),!((0|R)==(0|U)|(0|N)==(0|R))&(0|N)!=(0|U))break t;A[v+40>>2]=A[v+40>>2]+1,h=h+3|0;break a}N=A[r-4>>2]}t:{A:if(!((0|(V=A[(r=N<<2)+e>>2]))<=0))for(r=A[r+l>>2],i=0;;){if(-1==(0|(Z=A[(E=(r<<3)+p|0)>>2])))break A;if((0|U)==(0|Z)&&(0|(Z=-1!=(0|(E=A[E+4>>2]))?A[(E<<2)+m>>2]:-1))!=(0|R)){b:if(!((0|V)<=(0|(R=i+1|0))))for(;;){if(Z=A[(I=((i=r+1|0)<<3)+p|0)>>2],A[(M=(r<<3)+p|0)+4>>2]=A[I+4>>2],A[M>>2]=Z,-1==(0|Z))break b;if(r=i,!((0|V)>(0|(R=R+1|0))))break}if(A[(r<<3)+p>>2]=-1,-1==(0|E))break A;r=A[v+12>>2],A[r+D>>2]=E,A[r+(E<<2)>>2]=h;break t}if(r=r+1|0,(0|V)==(0|(i=i+1|0)))break}if(!((0|(U=A[(r=U<<2)+e>>2]))<=0))for(r=A[r+l>>2],i=0;;){if(-1==A[(R=(r<<3)+p|0)>>2]){A[R+4>>2]=h,A[R>>2]=N;break t}if(r=r+1|0,(0|U)==(0|(i=i+1|0)))break}}h=y}if(!(T>>>0>h>>>0))break}A[J>>2]=Y,l&&fr(l),p&&fr(p),(r=A[W+4>>2])&&(A[W+8>>2]=r,fr(r))}if(F=W+16|0,J=!!(0|J)){if(r=0,N=0,(0|(i=A[v+4>>2]))!=(0|(h=A[v>>2]))){if((0|(e=i-h>>2))<0)break f;N=ni(e=4+(e-1>>>3&536870908)|0),e&&u(N,0,e)}for(;;){if(m=0,W=0,(0|i)!=(0|h)){for(;;){e=r;a:if(!(A[((i=m)>>>3&536870908)+N>>2]>>>i&1)){for(;y=i,!(-1==(0|(i=((p=i+1|0)>>>0)%3|0?p:i-2|0))||-1==(0|(i=A[A[v+12>>2]+(i<<2)>>2]))||(0|m)==(0|(i=((p=i+1|0)>>>0)%3|0?p:i-2|0))|-1==(0|i)||A[(i>>>3&536870908)+N>>2]>>>i&1););l=y;t:{A:{b:{o:{for(;;){A[(i=(l>>>3&536870908)+N|0)>>2]=A[i>>2]|1<<l,h=A[v>>2],E=A[h+((Y=((i=l+1|0)>>>0)%3|0?i:l-2|0)<<2)>>2],V=(Z=(l>>>0)%3|0)?-1:2;n:if(!(D=(0|r)==(0|e))){if(p=r,i=r,-1==(0|(U=l+V|0)))for(;;){if((0|E)==A[p>>2]&&-1!=(0|(R=A[p+4>>2])))break o;if((0|(p=p+8|0))==(0|e))break n}for(;;){if((0|E)==A[i>>2]&&(R=A[i+4>>2],p=A[v+12>>2],(0|R)!=(0|(T=A[p+(U<<2)>>2])))){if(i=-1,e=-1,-1==(0|R))break t;break A}if((0|(i=i+8|0))==(0|e))break}}if(i=A[((l<<2)+h|0)+(V<<2)>>2],e>>>0<j>>>0)A[e+4>>2]=Y,A[e>>2]=i;else{if((p=(R=(h=e-r|0)>>3)+1|0)>>>0>=536870912)break f;if(T=(U=j-r|0)>>2,(p=U>>>0>=2147483640?536870911:p>>>0<T>>>0?T:p)>>>0>=536870912)break b;if(T=ni(U=p<<3),A[(h=T+h|0)+4>>2]=Y,A[h>>2]=i,i=r,p=R=h-(R<<3)|0,!D)for(;A[p>>2]=A[i>>2],A[p+4>>2]=A[i+4>>2],p=p+8|0,(0|(i=i+8|0))!=(0|e););j=U+T|0,r&&fr(r),r=R,e=h}n:{if(Z)i=l-1|0;else if(-1==(0|(i=l+2|0)))break n;if(-1!=(0|(i=A[A[v+12>>2]+(i<<2)>>2]))&&(0|y)!=(0|(l=i+((i>>>0)%3|0?-1:2)|0))&&(e=e+8|0,-1!=(0|l)))continue}break}h=A[v>>2];break a}p=A[v+12>>2],T=-1,U=-1;break A}ji(),c()}i=A[(R<<2)+p>>2],e=R}-1!=(0|T)&&(A[(T<<2)+p>>2]=-1),-1!=(0|i)&&(A[(i<<2)+p>>2]=-1),A[(U<<2)+p>>2]=-1,A[(e<<2)+p>>2]=-1,W=1}if(!((m=m+1|0)>>>0<(i=A[v+4>>2])-h>>2>>>0))break}if(W)continue}break}if(r&&fr(r),N&&fr(N),e=0,R=0,U=0,T=0,r=A[w+12>>2],A[v+36>>2]=r,Dr(v+24|0,r,10132),r){if((0|r)<0)break f;e=ni((U=(i=r-1>>>5|0)+1|0)<<2),(i=4+(i<<2)|0)&&u(e,0,i)}if(p=(i=A[v+4>>2])-(N=A[v>>2])|0,(0|i)!=(0|N)){if((0|(l=p>>2))<0)break f;R=ni(l=4+(l-1>>>3&536870908)|0),l&&u(R,0,l)}a:if(p>>>0<9)p=r;else{p=r;t:{for(;;){if(E=d(T,3),(0|(y=A[(l=(E<<2)+N|0)>>2]))!=(0|(m=A[l+4>>2]))&&(0|(l=A[l+8>>2]))!=(0|y)&&(W=0,(0|l)!=(0|m))){for(;;){if(!(A[((m=W+E|0)>>>3&536870908)+R>>2]>>>m&1)){if(Y=(N=1<<(y=A[A[v>>2]+(m<<2)>>2]))&(j=A[((l=y>>>5|0)<<2)+e>>2])){if((N=A[v+28>>2])>>>0<(l=A[v+32>>2])>>>0)A[N>>2]=-1,i=N+4|0;else{if((i=(V=(j=N-(h=A[v+24>>2])|0)>>2)+1|0)>>>0>=1073741824)break f;if(Z=(l=l-h|0)>>1,(i=l>>>0>=2147483644?1073741823:i>>>0<Z>>>0?Z:i)>>>0>=1073741824)break t;if(D=ni(Z=i<<2),A[(l=D+j|0)>>2]=-1,i=l+4|0,j=V=l-(V<<2)|0,(0|N)!=(0|(l=h)))for(;A[j>>2]=A[l>>2],j=j+4|0,(0|N)!=(0|(l=l+4|0)););A[v+32>>2]=Z+D,A[v+28>>2]=i,A[v+24>>2]=V,h&&fr(h)}if(A[v+28>>2]=i,(N=A[v+52>>2])>>>0<(l=A[v+56>>2])>>>0)A[N>>2]=y,y=N+4|0;else{if((i=(V=(j=N-(h=A[v+48>>2])|0)>>2)+1|0)>>>0>=1073741824)break f;if(Z=(l=l-h|0)>>1,(i=l>>>0>=2147483644?1073741823:i>>>0<Z>>>0?Z:i)>>>0>=1073741824)break t;if(l=j,Z=ni(j=i<<2),A[(i=l+Z|0)>>2]=y,y=i+4|0,l=V=i-(V<<2)|0,(0|N)!=(0|(i=h)))for(;A[l>>2]=A[i>>2],l=l+4|0,(0|N)!=(0|(i=i+4|0)););A[v+56>>2]=j+Z,A[v+52>>2]=y,A[v+48>>2]=V,h&&fr(h)}A[v+52>>2]=y;A:if(U<<5==(0|p)){if(p>>>0>=2147483647)break f;if(y=2147483647,p>>>0<=1073741822){if((y=(i=U<<6)>>>0>(l=32+(1073741792&p)|0)>>>0?i:l)>>>0<=p>>>0){i=e;break A}if((0|y)<0)break f}i=ni((U=1+(y-1>>>5|0)|0)<<2),(l=p?4+(p-1>>>3&536870908)|0:0)&&_(i,e,l),fr(e)}else i=e;l=A[(e=(p>>>3&536870908)+i|0)>>2],g=e,O=Gi(p)&l,A[g>>2]=O,N=1<<r,p=p+1|0,j=A[((l=r>>>5|0)<<2)+i>>2],y=r,r=r+1|0}else i=e;h=r,A[(l<<2)+i>>2]=N|j,r=m;A:{b:{o:{for(;;){if(-1==(0|r))break o;if(A[(e=(r>>>3&536870908)+R|0)>>2]=A[e>>2]|1<<r,A[A[v+24>>2]+(y<<2)>>2]=r,Y&&(A[A[v>>2]+(r<<2)>>2]=y),e=-1,-1!=(0|(r=((l=r+1|0)>>>0)%3|0?l:r-2|0))&&(e=-1,-1!=(0|(r=A[A[v+12>>2]+(r<<2)>>2]))&&(e=((e=r+1|0)>>>0)%3|0?e:r-2|0)),(0|m)==(0|(r=e)))break}if(-1!=(0|m))break A;r=1;break b}if((m>>>0)%3|0)r=m-1|0;else if(-1==(0|(r=m+2|0)))break A}if(-1!=(0|(r=A[A[v+12>>2]+(r<<2)>>2]))){if((r>>>0)%3|0)r=r-1|0;else if(-1==(0|(r=r+2|0)))break A;for(;;){if(A[(e=(r>>>3&536870908)+R|0)>>2]=A[e>>2]|1<<r,Y&&(A[A[v>>2]+(r<<2)>>2]=y),(r>>>0)%3|0)r=r-1|0;else if(-1==(0|(r=r+2|0)))break A;if(-1==(0|(r=A[A[v+12>>2]+(r<<2)>>2])))break A;if(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0)))break}}}e=i,r=h}if(3==(0|(W=W+1|0)))break}N=A[v>>2],i=A[v+4>>2]}if(!((T=T+1|0)>>>0<(i-N>>2>>>0)/3>>>0))break}break a}ji(),c()}if(i=0,A[v+44>>2]=0,(r=p>>>3&536870908)|(p&=31))for(l=r+e|0,y=e,r=0;A[y>>2]>>>r&1||(i=i+1|0,A[v+44>>2]=i),(0|l)!=(0|(y=((m=31==(0|r))?4:0)+y|0))|(0|(r=m?0:r+1|0))!=(0|p););R&&fr(R),e&&fr(e)}F=w+16|0,J?G=v:(A[B+12>>2]=0,Ye(v)),F=B+16|0,r=G;break i}uf(),c()}(e=A[n+4>>2])&&(A[n+8>>2]=e,fr(e))}else r=0;F=n+16|0;break r}uf(),c()}if(i=A[t+4>>2],e=r,A[t+4>>2]=r,h=a+4|0,i&&(Ye(i),e=A[t+4>>2]),e&&(r=A[k+96>>2],i=A[k+100>>2],f[o+16|0]=0,te(t+56|0,(i-r|0)/12|0,o+16|0),(0|(r=A[k+100>>2]))!=(0|(i=A[k+96>>2]))))for(v=t+44|0,l=0;;){if(!(A[A[t+56>>2]+(l>>>3&536870908)>>2]>>>l&1)){if(r=d(l,3),A[o+16>>2]=r,q(t,0,i=o+16|0),p=A[t+8>>2],y=A[t+12>>2],A[o+16>>2]=r+1,q(t,1,i),m=A[t+20>>2],G=A[t+24>>2],A[o+16>>2]=r+2,q(t,2,i),R=(0|p)==(0|y)?-1:0,p=(r=G-m>>2)>>>0>(i=y-p>>2)>>>0,p=A[t+36>>2]-A[t+32>>2]>>2>>>0>(p?r:i)>>>0?2:p?1:R,A[t+68>>2]<=0||(i=A[t+76>>2],A[o+8>>2]=i,r=A[a+8>>2],A[o+12>>2]=r,y=A[a+12>>2],A[o+24>>2]=h,A[o+20>>2]=o+8,A[o+16>>2]=o+12,r>>>0<y>>>0?(A[r>>2]=i,r=r+4|0):(oe(o+16|0),r=A[o+12>>2]),A[a+8>>2]=r,(0|(i=A[v+(p<<2)>>2]))<0?i=-1:(y=(i>>>0)/3|0,i=A[(A[A[t>>2]+96>>2]+d(y,12)|0)+(i-d(y,3)<<2)>>2]),A[o+8>>2]=i,A[o+12>>2]=r,y=A[a+12>>2],A[o+24>>2]=h,A[o+20>>2]=o+8,A[o+16>>2]=o+12,r>>>0<y>>>0?(A[r>>2]=i,r=r+4|0):(oe(o+16|0),r=A[o+12>>2]),A[a+8>>2]=r,y=A[t+72>>2],A[t+72>>2]=y+2,1&y&&(A[o+8>>2]=i,A[o+12>>2]=r,y=A[a+12>>2],A[o+24>>2]=h,A[o+20>>2]=o+8,A[o+16>>2]=o+12,r>>>0<y>>>0?(A[r>>2]=i,r=r+4|0):(oe(o+16|0),r=A[o+12>>2]),A[a+8>>2]=r,A[t+72>>2]=A[t+72>>2]+1)),y=0,F=i=F-32|0,A[t+68>>2]=A[t+68>>2]+1,r=d(p,12)+t|0,(0|(R=A[r+12>>2]-A[r+8>>2]>>2))>0)for(r=A[44+((p<<2)+t|0)>>2];;){m=(r>>>0)/3|0,p=-1==(0|r)?-1:m,G=A[t+56>>2]+(p>>>3&536870908)|0,A[G>>2]=A[G>>2]|1<<p,A[t+72>>2]=A[t+72>>2]+1;r:{e:{i:if(y)if(p=(0|r)<0?-1:A[(A[A[t>>2]+96>>2]+d(m,12)|0)+((r>>>0)%3<<2)>>2],A[t+76>>2]=p,A[i+8>>2]=p,G=A[a+8>>2],A[i+12>>2]=G,N=A[a+12>>2],A[i+24>>2]=h,A[i+20>>2]=i+8,A[i+16>>2]=i+12,N>>>0>G>>>0?(A[G>>2]=p,p=G+4|0):(oe(i+16|0),p=A[i+12>>2]),A[a+8>>2]=p,1&y){if(p=-1,-1==(0|r))break r;if((0|d(m,3))!=(0|r)){r=r-1|0;break e}r=r+2|0}else{if(p=-1,-1==(0|r))break r;r=((p=r+1|0)>>>0)%3|0?p:r-2|0}else{if(p=(0|r)<0?-1:A[(A[A[t>>2]+96>>2]+d(m,12)|0)+((r>>>0)%3<<2)>>2],A[i+8>>2]=p,m=A[a+8>>2],A[i+12>>2]=m,G=A[a+12>>2],A[i+24>>2]=h,A[i+20>>2]=i+8,A[i+16>>2]=i+12,m>>>0<G>>>0?(A[m>>2]=p,p=m+4|0):(oe(i+16|0),p=A[i+12>>2]),A[a+8>>2]=p,m=-1,-1!=(0|r)&&((0|(G=((G=r+1|0)>>>0)%3|0?G:r-2|0))<0||(m=(G>>>0)/3|0,m=A[(A[A[t>>2]+96>>2]+d(m,12)|0)+(G-d(m,3)<<2)>>2])),A[i+8>>2]=m,A[i+12>>2]=p,G=A[a+12>>2],A[i+24>>2]=h,A[i+20>>2]=i+8,A[i+16>>2]=i+12,p>>>0<G>>>0?(A[p>>2]=m,p=p+4|0):(oe(i+16|0),p=A[i+12>>2]),A[a+8>>2]=p,m=-1,-1!=(0|r)&&(m=-1,(0|(G=((r>>>0)%3|0?-1:2)+r|0))<0||(m=(G>>>0)/3|0,m=A[(A[A[t>>2]+96>>2]+d(m,12)|0)+(G-d(m,3)<<2)>>2])),A[t+76>>2]=m,A[i+8>>2]=m,A[i+12>>2]=p,G=A[a+12>>2],A[i+24>>2]=h,A[i+20>>2]=i+8,A[i+16>>2]=i+12,p>>>0<G>>>0){A[p>>2]=m,A[a+8>>2]=p+4;break i}oe(i+16|0),A[a+8>>2]=A[i+12>>2]}if(p=-1,-1==(0|r))break r}p=A[A[A[t+4>>2]+12>>2]+(r<<2)>>2]}if(r=p,(0|R)==(0|(y=y+1|0)))break}F=i+32|0,i=A[k+96>>2],r=A[k+100>>2]}if(!((l=l+1|0)>>>0<(r-i|0)/12>>>0))break}return F=o+32|0,e?((r=A[s>>2])&&(A[s+4>>2]=r,fr(r)),A[s>>2]=A[a+4>>2],A[s+4>>2]=A[a+8>>2],A[s+8>>2]=A[a+12>>2],Q=A[a+84>>2]):(r=A[a+4>>2])&&(A[a+8>>2]=r,fr(r)),(r=A[a+72>>2])&&fr(r),(r=A[a+48>>2])&&(A[a+52>>2]=r,fr(r)),(r=A[a+36>>2])&&(A[a+40>>2]=r,fr(r)),(r=A[a+24>>2])&&(A[a+28>>2]=r,fr(r)),r=A[a+20>>2],A[a+20>>2]=0,r&&Ye(r),F=a+96|0,0|Q},Xa:function(r,e,i,f){r|=0,i|=0,f|=0;var a=0,b=0,o=0,n=0,k=0;r=0;r:if(!(p[(e|=0)+80>>2]>65535)){if(r=A[e+100>>2],o=A[e+96>>2],e=(0|(a=d(b=(r-o|0)/12|0,6)))==(0|i),!((0|r)==(0|o)|(0|i)!=(0|a))){if(e=1,r=0,!(b>>>0<2)){for(n=1&b,k=-2&b,i=0;b=d(r,6)+f|0,a=o+d(r,12)|0,t[b>>1]=A[a>>2],t[b+2>>1]=A[a+4>>2],t[b+4>>1]=A[a+8>>2],b=d(a=1|r,6)+f|0,a=o+d(a,12)|0,t[b>>1]=A[a>>2],t[b+2>>1]=A[a+4>>2],t[b+4>>1]=A[a+8>>2],r=r+2|0,(0|k)!=(0|(i=i+2|0)););if(!n){r=1;break r}}i=d(r,6)+f|0,r=o+d(r,12)|0,t[i>>1]=A[r>>2],t[i+2>>1]=A[r+4>>2],t[i+4>>1]=A[r+8>>2]}r=e}return 0|r},Ya:function(r,e,i,f){r|=0,i|=0,f|=0;var a,t=0,b=0,o=0,n=0,k=0;r:if(!((0|(r=A[(e|=0)+100>>2]))==(0|(e=A[e+96>>2]))|(0|i)!=(0|(a=r-e|0)))){if(r=0,(b=(0|i)/12|0)>>>0>=2){for(n=1&b,k=-2&b,b=0;o=(t=d(r,12))+f|0,t=e+t|0,A[o>>2]=A[t>>2],A[o+4>>2]=A[t+4>>2],A[o+8>>2]=A[t+8>>2],o=(t=d(1|r,12))+f|0,t=e+t|0,A[o>>2]=A[t>>2],A[o+4>>2]=A[t+4>>2],A[o+8>>2]=A[t+8>>2],r=r+2|0,(0|k)!=(0|(b=b+2|0)););if(!n)break r}t=f,e=e+(f=d(r,12))|0,A[(r=t+f|0)>>2]=A[e>>2],A[r+4>>2]=A[e+4>>2],A[r+8>>2]=A[e+8>>2]}return(0|i)==(0|a)|0},Za:function(r,e,i,f){r|=0,i|=0,f|=0;var a,t=0,o=0;return F=r=F-32|0,a=b[(e|=0)+24|0],t=A[2531],A[r+8>>2]=A[2530],A[r+12>>2]=t,t=A[2529],A[r>>2]=A[2528],A[r+4>>2]=t,A[r+28>>2]=i,(t=w(e,r+28|0,i=a<<24>>24,r))&&(e=0,i&&(e=ni(i=a<<2),i&&_(e,r,i),o=e+i|0),(i=A[f>>2])&&(A[f+4>>2]=i,fr(i)),A[f+8>>2]=o,A[f+4>>2]=o,A[f>>2]=e),F=r+32|0,0|t},_a:function(r,e,i,a){r|=0,i|=0,a|=0;var t,o,n=0,k=0,c=0,u=0,_=0,s=0,p=0,y=0,v=0,m=0,N=0;F=t=F-16|0,o=A[(e|=0)+80>>2],n=b[i+24|0],e=d(o,n);r:{e:{i:{if(n){if(r=u=ni(c=n<<2),s=1+((_=c-4|0)>>>2|0)&7)for(;A[r>>2]=-1073741824,r=r+4|0,(0|s)!=(0|(k=k+1|0)););if(_>>>0>=28)for(k=c+u|0;A[r+24>>2]=-1073741824,A[r+28>>2]=-1073741824,A[r+16>>2]=-1073741824,A[r+20>>2]=-1073741824,A[r+8>>2]=-1073741824,A[r+12>>2]=-1073741824,A[r>>2]=-1073741824,A[r+4>>2]=-1073741824,(0|k)!=(0|(r=r+32|0)););if(Lr(a,e),o)break i;n=1,fr(u);break r}if(Lr(a,e),o)break e;n=1;break r}for(m=252&n,s=3&n,e=0,N=n>>>0<4,r=0;;){if(A[t+12>>2]=b[i+84|0]?e:A[A[i+68>>2]+(e<<2)>>2],n=w(i,t+12|0,f[i+24|0],u)){v=A[a>>2],p=0,y=0,k=0;i:{if(!N){for(;_=u+(k<<2)|0,l[(c=(r<<2)+v|0)>>2]=l[_>>2],l[c+4>>2]=l[_+4>>2],l[c+8>>2]=l[_+8>>2],l[c+12>>2]=l[_+12>>2],k=k+4|0,r=r+4|0,(0|m)!=(0|(y=y+4|0)););if(!s)break i}for(;l[(r<<2)+v>>2]=l[u+(k<<2)>>2],k=k+1|0,r=r+1|0,(0|s)!=(0|(p=p+1|0)););}if((0|o)!=(0|(e=e+1|0)))continue}break}fr(u);break r}for(r=0;A[t+12>>2]=b[i+84|0]?r:A[A[i+68>>2]+(r<<2)>>2],w(i,t+12|0,f[i+24|0],0),n=1,(0|o)!=(0|(r=r+1|0)););}return F=t+16|0,0|n},$a:pr,ab:function(r,e,i,a){r|=0,i|=0,a|=0;var t,o,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=t=F-16|0,o=A[(e|=0)+80>>2],e=b[i+24|0],r=d(o,e);r:{e:{n=A[i+28>>2];i:if(!(1&f[i+84|0])|1!=(0|n)&2!=(0|n)){e&&u(l=ni(e),0,e);f:if((n=(k=A[a+4>>2])-(s=A[a>>2])|0)>>>0<r>>>0){if((p=A[a+8>>2]-s|0)>>>0>=r>>>0){(r=r-n|0)&&u(k,0,r),A[a+4>>2]=r+k;break f}if((0|r)<0)break e;if(k=p<<1,k=ni(p=p>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r),(y=r-n|0)&&u(n+k|0,0,y),n&&_(k,s,n),A[a+8>>2]=k+p,A[a+4>>2]=r+k,A[a>>2]=k,!s)break f;fr(s)}else r>>>0>=n>>>0||(A[a+4>>2]=r+s);f:if(o){if(!e){for(r=0;;){if(A[t+12>>2]=b[i+84|0]?r:A[A[i+68>>2]+(r<<2)>>2],!(n=x(i,t+12|0,f[i+24|0],l)))break f;if((0|o)==(0|(r=r+1|0)))break}break f}for(m=252&e,p=3&e,s=0,N=e>>>0<4,r=0;;){if(A[t+12>>2]=b[i+84|0]?s:A[A[i+68>>2]+(s<<2)>>2],!(n=x(i,t+12|0,f[i+24|0],l)))break f;y=0,v=0,e=0;a:{if(!N){for(;k=e+l|0,f[A[a>>2]+r|0]=b[0|k],f[1+(A[a>>2]+r|0)|0]=b[k+1|0],f[2+(A[a>>2]+r|0)|0]=b[k+2|0],f[3+(A[a>>2]+r|0)|0]=b[k+3|0],e=e+4|0,r=r+4|0,(0|m)!=(0|(v=v+4|0)););if(!p)break a}for(;f[A[a>>2]+r|0]=b[e+l|0],e=e+1|0,r=r+1|0,(0|p)!=(0|(y=y+1|0)););}if((0|o)==(0|(s=s+1|0)))break}}else if(n=1,!l)break i;fr(l)}else{if(r){if((0|r)<0)break e;n=A[i+48>>2],i=A[A[i>>2]>>2],e=ni(r),r&&_(e,i+n|0,r),r=r+e|0}else e=0,r=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=r,A[a+4>>2]=r,A[a>>2]=e,n=1}F=t+16|0;break r}uf(),c()}return 0|n},bb:function(r,e,i,a){r|=0,i|=0,a|=0;var t,o,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0;F=t=F-16|0,o=A[(e|=0)+80>>2],e=b[i+24|0],r=d(o,e);r:{e:{n=A[i+28>>2];i:if(!(1&f[i+84|0])|1!=(0|n)&2!=(0|n)){e&&u(l=ni(e),0,e);f:if((n=(k=A[a+4>>2])-(s=A[a>>2])|0)>>>0<r>>>0){if((p=A[a+8>>2]-s|0)>>>0>=r>>>0){(r=r-n|0)&&u(k,0,r),A[a+4>>2]=r+k;break f}if((0|r)<0)break e;if(k=p<<1,k=ni(p=p>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r),(y=r-n|0)&&u(n+k|0,0,y),n&&_(k,s,n),A[a+8>>2]=k+p,A[a+4>>2]=r+k,A[a>>2]=k,!s)break f;fr(s)}else r>>>0>=n>>>0||(A[a+4>>2]=r+s);f:if(o){if(!e){for(r=0;;){if(A[t+12>>2]=b[i+84|0]?r:A[A[i+68>>2]+(r<<2)>>2],!(n=S(i,t+12|0,f[i+24|0],l)))break f;if((0|o)==(0|(r=r+1|0)))break}break f}for(m=252&e,p=3&e,s=0,N=e>>>0<4,r=0;;){if(A[t+12>>2]=b[i+84|0]?s:A[A[i+68>>2]+(s<<2)>>2],!(n=S(i,t+12|0,f[i+24|0],l)))break f;y=0,v=0,e=0;a:{if(!N){for(;k=e+l|0,f[A[a>>2]+r|0]=b[0|k],f[1+(A[a>>2]+r|0)|0]=b[k+1|0],f[2+(A[a>>2]+r|0)|0]=b[k+2|0],f[3+(A[a>>2]+r|0)|0]=b[k+3|0],e=e+4|0,r=r+4|0,(0|m)!=(0|(v=v+4|0)););if(!p)break a}for(;f[A[a>>2]+r|0]=b[e+l|0],e=e+1|0,r=r+1|0,(0|p)!=(0|(y=y+1|0)););}if((0|o)==(0|(s=s+1|0)))break}}else if(n=1,!l)break i;fr(l)}else{if(r){if((0|r)<0)break e;n=A[i+48>>2],i=A[A[i>>2]>>2],e=ni(r),r&&_(e,i+n|0,r),r=r+e|0}else e=0,r=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=r,A[a+4>>2]=r,A[a>>2]=e,n=1}F=t+16|0;break r}uf(),c()}return 0|n},cb:function(r,e,i,a){r|=0,i|=0,a|=0;var n,k,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0;F=n=F-16|0,k=A[(e|=0)+80>>2],r=b[i+24|0],e=d(k,r);r:{e:{s=A[i+28>>2];i:if(!(1&f[i+84|0])|3!=(0|s)&4!=(0|s)){f:{if(!r){if(ie(a,e),k)break f;s=1;break i}s=1,l=ni(p=r<<1),p&&u(l,0,p),ie(a,e);a:if(k)for(W=252&r,h=3&r,p=0,U=r>>>0<4,e=0;;){if(A[n+12>>2]=b[i+84|0]?p:A[A[i+68>>2]+(p<<2)>>2],!(s=g(i,n+12|0,f[i+24|0],l)))break a;R=A[a>>2],m=0,N=0,r=0;t:{if(!U){for(;v=(r<<1)+l|0,t[(y=(e<<1)+R|0)>>1]=o[v>>1],t[y+2>>1]=o[v+2>>1],t[y+4>>1]=o[v+4>>1],t[y+6>>1]=o[v+6>>1],r=r+4|0,e=e+4|0,(0|W)!=(0|(N=N+4|0)););if(!h)break t}for(;t[(e<<1)+R>>1]=o[(r<<1)+l>>1],r=r+1|0,e=e+1|0,(0|(m=m+1|0))!=(0|h););}if((0|k)==(0|(p=p+1|0)))break}fr(l);break i}for(e=0;A[n+12>>2]=b[i+84|0]?e:A[A[i+68>>2]+(e<<2)>>2],g(i,n+12|0,f[i+24|0],0),s=1,(0|k)!=(0|(e=e+1|0)););}else{if(e){if((0|e)<0)break e;s=A[i+48>>2],i=A[A[i>>2]>>2],r=ni(e<<=1),e&&_(r,i+s|0,e),e=r+e|0}else r=0,e=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=e,A[a+4>>2]=e,A[a>>2]=r,s=1}F=n+16|0;break r}uf(),c()}return 0|s},db:function(r,e,i,a){r|=0,i|=0,a|=0;var n,k,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0,W=0,U=0;F=n=F-16|0,k=A[(e|=0)+80>>2],r=b[i+24|0],e=d(k,r);r:{e:{s=A[i+28>>2];i:if(!(1&f[i+84|0])|3!=(0|s)&4!=(0|s)){f:{if(!r){if(ie(a,e),k)break f;s=1;break i}s=1,l=ni(p=r<<1),p&&u(l,0,p),ie(a,e);a:if(k)for(W=252&r,h=3&r,p=0,U=r>>>0<4,e=0;;){if(A[n+12>>2]=b[i+84|0]?p:A[A[i+68>>2]+(p<<2)>>2],!(s=M(i,n+12|0,f[i+24|0],l)))break a;R=A[a>>2],m=0,N=0,r=0;t:{if(!U){for(;v=(r<<1)+l|0,t[(y=(e<<1)+R|0)>>1]=o[v>>1],t[y+2>>1]=o[v+2>>1],t[y+4>>1]=o[v+4>>1],t[y+6>>1]=o[v+6>>1],r=r+4|0,e=e+4|0,(0|W)!=(0|(N=N+4|0)););if(!h)break t}for(;t[(e<<1)+R>>1]=o[(r<<1)+l>>1],r=r+1|0,e=e+1|0,(0|(m=m+1|0))!=(0|h););}if((0|k)==(0|(p=p+1|0)))break}fr(l);break i}for(e=0;A[n+12>>2]=b[i+84|0]?e:A[A[i+68>>2]+(e<<2)>>2],M(i,n+12|0,f[i+24|0],0),s=1,(0|k)!=(0|(e=e+1|0)););}else{if(e){if((0|e)<0)break e;s=A[i+48>>2],i=A[A[i>>2]>>2],r=ni(e<<=1),e&&_(r,i+s|0,e),e=r+e|0}else r=0,e=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=e,A[a+4>>2]=e,A[a>>2]=r,s=1}F=n+16|0;break r}uf(),c()}return 0|s},eb:pr,fb:function(r,e,i,a){r|=0,i|=0,a|=0;var t,o,n=0,k=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0;F=t=F-16|0,o=A[(e|=0)+80>>2],r=b[i+24|0],e=d(o,r);r:{e:{n=A[i+28>>2];i:if(!(1&f[i+84|0])|5!=(0|n)&6!=(0|n)){f:{if(!r){if(Lr(a,e),o)break f;n=1;break i}if(k=ni(n=r<<2),n&&u(k,0,n),Lr(a,e),!o){n=1,fr(k);break i}for(h=252&r,m=3&r,R=r>>>0<4,e=0;;){if(A[t+12>>2]=b[i+84|0]?s:A[A[i+68>>2]+(s<<2)>>2],n=Q(i,t+12|0,f[i+24|0],k)){N=A[a>>2],y=0,v=0,r=0;a:{if(!R){for(;l=k+(r<<2)|0,A[(p=(e<<2)+N|0)>>2]=A[l>>2],A[p+4>>2]=A[l+4>>2],A[p+8>>2]=A[l+8>>2],A[p+12>>2]=A[l+12>>2],r=r+4|0,e=e+4|0,(0|h)!=(0|(v=v+4|0)););if(!m)break a}for(;A[(e<<2)+N>>2]=A[k+(r<<2)>>2],r=r+1|0,e=e+1|0,(0|(y=y+1|0))!=(0|m););}if((0|o)!=(0|(s=s+1|0)))continue}break}fr(k);break i}for(e=0;A[t+12>>2]=b[i+84|0]?e:A[A[i+68>>2]+(e<<2)>>2],Q(i,t+12|0,f[i+24|0],0),n=1,(0|o)!=(0|(e=e+1|0)););}else{if(e){if((0|e)<0)break e;n=A[i+48>>2],i=A[A[i>>2]>>2],r=ni(e<<=2),e&&_(r,i+n|0,e),e=r+e|0}else r=0,e=0;(i=A[a>>2])&&(A[a+4>>2]=i,fr(i)),A[a+8>>2]=e,A[a+4>>2]=e,A[a>>2]=r,n=1}F=t+16|0;break r}uf(),c()}return 0|n},gb:function(r,e,i,a,t,o){r|=0,e|=0,t|=0,o|=0;var n=0,k=0,c=0,s=0,p=0,l=0,y=0,v=0,m=0,N=0,h=0,R=0;n=i|=0,i=0;r:{e:{i:{f:switch((a|=0)-1|0){case 0:if(r=0,F=i=F-16|0,s=A[e+80>>2],c=b[n+24|0],(0|d(s,c))==(0|t))if((e=1!=A[n+28>>2])|!(1&(r=b[n+84|0]))){c&&u(l=ni(c),0,c);a:{t:if(s){if(!e){if(c){for(e=0;r=e,r=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],t=A[n+44>>2],(a=A[n+40>>2])&&(p=A[A[n>>2]>>2],v=A[n+48>>2],_(l,(r=(r=ze(a,t,r,0))+v|0)+p|0,a)),c&&_(o+k|0,l,c),k=k+c|0,r=1,(0|s)!=(0|(e=e+1|0)););break a}if(!(1&r)){if(o=A[n>>2],a=A[n+48>>2],v=A[n+68>>2],t=A[n+40>>2],p=A[n+44>>2],r=0,1!=(0|s)){for(y=1&s,n=-2&s,e=0;k=v+(r<<2)|0,(c=!t)||_(l,(s=A[o>>2])+(m=ze(t,p,A[k>>2],0)+a|0)|0,t),c||(c=A[o>>2],_(l,(k=ze(t,p,A[k+4>>2],0)+a|0)+c|0,t)),r=r+2|0,(0|n)!=(0|(e=e+2|0)););if(!y)break t}if(!t)break t;e=A[o>>2],_(l,(r=ze(t,p,A[v+(r<<2)>>2],0)+a|0)+e|0,t);break t}if(t=A[n>>2],e=A[n+48>>2],a=A[n+40>>2],o=A[n+44>>2],1!=(0|s)){for(n=1&s,c=-2&s;(r=!a)||_(l,(s=A[t>>2])+(m=ze(k,p,a,o)+e|0)|0,a),r||_(l,(r=A[t>>2])+(s=ze(a,o,1|k,p)+e|0)|0,a),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|c)!=(0|y)|r;);if(!n)break t}if(!a)break t;_(l,(r=A[t>>2])+(e=ze(k,p,a,o)+e|0)|0,a),r=1;break a}if(e=0,!c)for(;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(r=x(n,i+12|0,f[n+24|0],l)))break a;if((0|s)==(0|(e=e+1|0)))break a}for(;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(r=x(n,i+12|0,f[n+24|0],l)))break a;if(c&&_(o+k|0,l,c),k=k+c|0,(0|s)==(0|(e=e+1|0)))break}break a}r=1}l&&fr(l)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),r=1;break i;case 2:if(F=l=F-16|0,s=(h=b[n+24|0])<<1,c=A[e+80>>2],(0|d(s,c))==(0|t))if((i=3!=A[n+28>>2])|!(1&(r=b[n+84|0]))){h?(e=ni(s),s&&u(e,0,s)):e=0;a:{t:if(c){if(!i){if(m=A[n>>2],a=A[n+48>>2],t=A[n+40>>2],N=A[n+44>>2],h){if(!(1&r)){for(;t&&_(e,(r=A[m>>2])+(i=ze(t,N,A[A[n+68>>2]+(p<<2)>>2],0)+a|0)|0,t),i=1,s&&_((k<<1)+o|0,e,s),k=k+h|0,(0|c)!=(0|(p=p+1|0)););break a}for(;t&&_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1,s&&_((v<<1)+o|0,e,s),v=v+h|0,r=p,p=r=(k=k+1|0)?r:r+1|0,(0|k)!=(0|c)|r;);break a}if(!(1&r)){if(r=A[n+68>>2],1!=(0|c)){for(p=1&c,k=-2&c,i=0;o=r+(v<<2)|0,(y=!t)||_(e,(n=A[m>>2])+(c=ze(t,N,A[o>>2],0)+a|0)|0,t),y||(y=A[m>>2],_(e,(o=ze(t,N,A[o+4>>2],0)+a|0)+y|0,t)),v=v+2|0,(0|k)!=(0|(i=i+2|0)););if(!p)break t}if(!t)break t;i=A[m>>2],_(e,(r=ze(t,N,A[r+(v<<2)>>2],0)+a|0)+i|0,t);break t}if(1!=(0|c)){for(i=1&c,o=-2&c;(r=!t)||_(e,(n=A[m>>2])+(c=ze(k,p,t,N)+a|0)|0,t),r||_(e,(r=A[m>>2])+(n=ze(t,N,1|k,p)+a|0)|0,t),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|o)!=(0|y)|r;);if(!i)break t}if(!t)break t;_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1;break a}if(r=0,!h)for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=g(n,l+12|0,f[n+24|0],e)))break a;if((0|c)==(0|(r=r+1|0)))break a}for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=g(n,l+12|0,f[n+24|0],e)))break a;if(s&&_((k<<1)+o|0,e,s),k=k+h|0,(0|c)==(0|(r=r+1|0)))break}break a}i=1}e&&fr(e)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),i=1;break e;case 4:if(F=l=F-16|0,s=(h=b[n+24|0])<<2,c=A[e+80>>2],(0|d(s,c))==(0|t))if((i=5!=A[n+28>>2])|!(1&(r=b[n+84|0]))){h?(e=ni(s),s&&u(e,0,s)):e=0;a:{t:if(c){if(!i){if(m=A[n>>2],a=A[n+48>>2],t=A[n+40>>2],N=A[n+44>>2],h){if(!(1&r)){for(;t&&_(e,(r=A[m>>2])+(i=ze(t,N,A[A[n+68>>2]+(p<<2)>>2],0)+a|0)|0,t),s&&_((k<<2)+o|0,e,s),k=k+h|0,i=1,(0|c)!=(0|(p=p+1|0)););break a}for(;t&&_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),s&&_((v<<2)+o|0,e,s),v=v+h|0,r=p,p=r=(k=k+1|0)?r:r+1|0,(0|k)!=(0|c)|r;);break t}if(!(1&r)){if(r=A[n+68>>2],1!=(0|c)){for(p=1&c,k=-2&c,i=0;o=r+(v<<2)|0,(y=!t)||_(e,(n=A[m>>2])+(c=ze(t,N,A[o>>2],0)+a|0)|0,t),y||(y=A[m>>2],_(e,(o=ze(t,N,A[o+4>>2],0)+a|0)+y|0,t)),v=v+2|0,(0|k)!=(0|(i=i+2|0)););if(!p)break t}if(!t)break t;i=A[m>>2],_(e,(r=ze(t,N,A[r+(v<<2)>>2],0)+a|0)+i|0,t);break t}if(1!=(0|c)){for(i=1&c,o=-2&c;(r=!t)||_(e,(n=A[m>>2])+(c=ze(k,p,t,N)+a|0)|0,t),r||_(e,(r=A[m>>2])+(n=ze(t,N,1|k,p)+a|0)|0,t),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|o)!=(0|y)|r;);if(!i)break t}if(!t)break t;_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1;break a}if(r=0,!h)for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=O(n,l+12|0,f[n+24|0],e)))break a;if((0|c)==(0|(r=r+1|0)))break a}for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=O(n,l+12|0,f[n+24|0],e)))break a;if(s&&_((k<<2)+o|0,e,s),k=k+h|0,(0|c)==(0|(r=r+1|0)))break}break a}i=1}e&&fr(e)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),i=1;break e;case 1:if(r=0,F=i=F-16|0,s=A[e+80>>2],c=b[n+24|0],(0|d(s,c))==(0|t))if((e=2!=A[n+28>>2])|!(1&(r=b[n+84|0]))){c&&u(l=ni(c),0,c);a:{t:if(s){if(!e){if(c){for(e=0;r=e,r=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],t=A[n+44>>2],(a=A[n+40>>2])&&(p=A[A[n>>2]>>2],v=A[n+48>>2],_(l,(r=(r=ze(a,t,r,0))+v|0)+p|0,a)),c&&_(o+k|0,l,c),k=k+c|0,r=1,(0|s)!=(0|(e=e+1|0)););break a}if(!(1&r)){if(o=A[n>>2],a=A[n+48>>2],v=A[n+68>>2],t=A[n+40>>2],p=A[n+44>>2],r=0,1!=(0|s)){for(y=1&s,n=-2&s,e=0;k=v+(r<<2)|0,(c=!t)||_(l,(s=A[o>>2])+(m=ze(t,p,A[k>>2],0)+a|0)|0,t),c||(c=A[o>>2],_(l,(k=ze(t,p,A[k+4>>2],0)+a|0)+c|0,t)),r=r+2|0,(0|n)!=(0|(e=e+2|0)););if(!y)break t}if(!t)break t;e=A[o>>2],_(l,(r=ze(t,p,A[v+(r<<2)>>2],0)+a|0)+e|0,t);break t}if(t=A[n>>2],e=A[n+48>>2],a=A[n+40>>2],o=A[n+44>>2],1!=(0|s)){for(n=1&s,c=-2&s;(r=!a)||_(l,(s=A[t>>2])+(m=ze(k,p,a,o)+e|0)|0,a),r||_(l,(r=A[t>>2])+(s=ze(a,o,1|k,p)+e|0)|0,a),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|c)!=(0|y)|r;);if(!n)break t}if(!a)break t;_(l,(r=A[t>>2])+(e=ze(k,p,a,o)+e|0)|0,a),r=1;break a}if(e=0,!c)for(;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(r=S(n,i+12|0,f[n+24|0],l)))break a;if((0|s)==(0|(e=e+1|0)))break a}for(;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(r=S(n,i+12|0,f[n+24|0],l)))break a;if(c&&_(o+k|0,l,c),k=k+c|0,(0|s)==(0|(e=e+1|0)))break}break a}r=1}l&&fr(l)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),r=1;break i;case 3:if(F=l=F-16|0,s=(h=b[n+24|0])<<1,c=A[e+80>>2],(0|d(s,c))==(0|t))if((i=4!=A[n+28>>2])|!(1&(r=b[n+84|0]))){h?(e=ni(s),s&&u(e,0,s)):e=0;a:{t:if(c){if(!i){if(m=A[n>>2],a=A[n+48>>2],t=A[n+40>>2],N=A[n+44>>2],h){if(!(1&r)){for(;t&&_(e,(r=A[m>>2])+(i=ze(t,N,A[A[n+68>>2]+(p<<2)>>2],0)+a|0)|0,t),i=1,s&&_((k<<1)+o|0,e,s),k=k+h|0,(0|c)!=(0|(p=p+1|0)););break a}for(;t&&_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1,s&&_((v<<1)+o|0,e,s),v=v+h|0,r=p,p=r=(k=k+1|0)?r:r+1|0,(0|k)!=(0|c)|r;);break a}if(!(1&r)){if(r=A[n+68>>2],1!=(0|c)){for(p=1&c,k=-2&c,i=0;o=r+(v<<2)|0,(y=!t)||_(e,(n=A[m>>2])+(c=ze(t,N,A[o>>2],0)+a|0)|0,t),y||(y=A[m>>2],_(e,(o=ze(t,N,A[o+4>>2],0)+a|0)+y|0,t)),v=v+2|0,(0|k)!=(0|(i=i+2|0)););if(!p)break t}if(!t)break t;i=A[m>>2],_(e,(r=ze(t,N,A[r+(v<<2)>>2],0)+a|0)+i|0,t);break t}if(1!=(0|c)){for(i=1&c,o=-2&c;(r=!t)||_(e,(n=A[m>>2])+(c=ze(k,p,t,N)+a|0)|0,t),r||_(e,(r=A[m>>2])+(n=ze(t,N,1|k,p)+a|0)|0,t),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|o)!=(0|y)|r;);if(!i)break t}if(!t)break t;_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1;break a}if(r=0,!h)for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=M(n,l+12|0,f[n+24|0],e)))break a;if((0|c)==(0|(r=r+1|0)))break a}for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=M(n,l+12|0,f[n+24|0],e)))break a;if(s&&_((k<<1)+o|0,e,s),k=k+h|0,(0|c)==(0|(r=r+1|0)))break}break a}i=1}e&&fr(e)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),i=1;break e;case 5:if(F=l=F-16|0,s=(h=b[n+24|0])<<2,c=A[e+80>>2],(0|d(s,c))==(0|t))if((i=6!=A[n+28>>2])|!(1&(r=b[n+84|0]))){h?(e=ni(s),s&&u(e,0,s)):e=0;a:{t:if(c){if(!i){if(m=A[n>>2],a=A[n+48>>2],t=A[n+40>>2],N=A[n+44>>2],h){if(!(1&r)){for(;t&&_(e,(r=A[m>>2])+(i=ze(t,N,A[A[n+68>>2]+(p<<2)>>2],0)+a|0)|0,t),s&&_((k<<2)+o|0,e,s),k=k+h|0,i=1,(0|c)!=(0|(p=p+1|0)););break a}for(;t&&_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),s&&_((v<<2)+o|0,e,s),v=v+h|0,r=p,p=r=(k=k+1|0)?r:r+1|0,(0|k)!=(0|c)|r;);break t}if(!(1&r)){if(r=A[n+68>>2],1!=(0|c)){for(p=1&c,k=-2&c,i=0;o=r+(v<<2)|0,(y=!t)||_(e,(n=A[m>>2])+(c=ze(t,N,A[o>>2],0)+a|0)|0,t),y||(y=A[m>>2],_(e,(o=ze(t,N,A[o+4>>2],0)+a|0)+y|0,t)),v=v+2|0,(0|k)!=(0|(i=i+2|0)););if(!p)break t}if(!t)break t;i=A[m>>2],_(e,(r=ze(t,N,A[r+(v<<2)>>2],0)+a|0)+i|0,t);break t}if(1!=(0|c)){for(i=1&c,o=-2&c;(r=!t)||_(e,(n=A[m>>2])+(c=ze(k,p,t,N)+a|0)|0,t),r||_(e,(r=A[m>>2])+(n=ze(t,N,1|k,p)+a|0)|0,t),r=p,p=(k=k+2|0)>>>0<2?r+1|0:r,r=v,v=r=(y=y+2|0)>>>0<2?r+1|0:r,(0|o)!=(0|y)|r;);if(!i)break t}if(!t)break t;_(e,(r=A[m>>2])+(i=ze(k,p,t,N)+a|0)|0,t),i=1;break a}if(r=0,!h)for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=Q(n,l+12|0,f[n+24|0],e)))break a;if((0|c)==(0|(r=r+1|0)))break a}for(;;){if(A[l+12>>2]=b[n+84|0]?r:A[A[n+68>>2]+(r<<2)>>2],!(i=Q(n,l+12|0,f[n+24|0],e)))break a;if(s&&_((k<<2)+o|0,e,s),k=k+h|0,(0|c)==(0|(r=r+1|0)))break}break a}i=1}e&&fr(e)}else t&&_(o,A[A[n>>2]>>2]+A[n+48>>2]|0,t),i=1;break e;case 8:break f;default:break r}F=i=F-16|0,m=(R=b[n+24|0])<<2,s=A[e+80>>2];f:if((0|d(m,s))==(0|t)){if(r=A[n+28>>2],R){if(e=l=ni(m),t=1+((a=m-4|0)>>>2|0)&7)for(;A[e>>2]=-1073741824,e=e+4|0,(0|t)!=(0|(k=k+1|0)););if(!(a>>>0<28))for(a=l+m|0;A[e+24>>2]=-1073741824,A[e+28>>2]=-1073741824,A[e+16>>2]=-1073741824,A[e+20>>2]=-1073741824,A[e+8>>2]=-1073741824,A[e+12>>2]=-1073741824,A[e>>2]=-1073741824,A[e+4>>2]=-1073741824,(0|a)!=(0|(e=e+32|0)););}a:{t:if(s){if(9!=(0|r)){if(e=0,!R)for(;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(k=w(n,i+12|0,f[n+24|0],l)))break a;if((0|s)==(0|(e=e+1|0)))break a}for(r=0;;){if(A[i+12>>2]=b[n+84|0]?e:A[A[n+68>>2]+(e<<2)>>2],!(k=w(n,i+12|0,f[n+24|0],l)))break a;if(m&&_((r<<2)+o|0,l,m),r=r+R|0,(0|s)==(0|(e=e+1|0)))break}break a}if(N=A[n>>2],a=A[n+48>>2],r=b[n+84|0],t=A[n+40>>2],h=A[n+44>>2],R){for(e=0,p=1&r,k=0;r=e,r=p?r:A[A[n+68>>2]+(r<<2)>>2],t&&(v=A[N>>2],_(l,(r=ze(t,h,r,0)+a|0)+v|0,t)),m&&_((k<<2)+o|0,l,m),k=k+R|0,(0|s)!=(0|(e=e+1|0)););break t}if(!(1&r)){if(o=A[n+68>>2],e=0,1!=(0|s)){for(v=1&s,k=-2&s,r=0;p=o+(e<<2)|0,(y=!t)||_(l,(n=A[N>>2])+(c=ze(t,h,A[p>>2],0)+a|0)|0,t),y||(y=A[N>>2],_(l,(p=ze(t,h,A[p+4>>2],0)+a|0)+y|0,t)),e=e+2|0,(0|k)!=(0|(r=r+2|0)););if(!v)break t}if(!t)break t;_(l,(r=A[N>>2])+(e=ze(t,h,A[o+(e<<2)>>2],0)+a|0)|0,t);break t}if(1!=(0|s)){for(o=1&s,k=-2&s;(r=!t)||_(l,(e=A[N>>2])+(n=ze(y,p,t,h)+a|0)|0,t),r||_(l,(r=A[N>>2])+(e=ze(t,h,1|y,p)+a|0)|0,t),p=(y=y+2|0)>>>0<2?p+1|0:p,r=v,c=e=c+2|0,v=r=e>>>0<2?r+1|0:r,(0|e)!=(0|k)|r;);if(!o)break t}if(!t)break t;_(l,(r=A[N>>2])+(e=ze(y,p,t,h)+a|0)|0,t)}if(k=1,!l)break f}fr(l)}F=i+16|0,i=k;break r}F=i+16|0,i=r;break r}F=l+16|0}return 0|i},hb:function(r,e){r|=0,e|=0;var i,a=0,t=0,o=0,n=0,k=0,c=0,u=0,s=0,l=0;F=i=F-16|0,A[i+12>>2]=e,e=ni(32),A[i+4>>2]=24,A[i+8>>2]=-2147483616,A[i>>2]=e,a=b[1232]|b[1233]<<8|b[1234]<<16|b[1235]<<24,o=b[1228]|b[1229]<<8|b[1230]<<16|b[1231]<<24,f[e+16|0]=o,f[e+17|0]=o>>>8,f[e+18|0]=o>>>16,f[e+19|0]=o>>>24,f[e+20|0]=a,f[e+21|0]=a>>>8,f[e+22|0]=a>>>16,f[e+23|0]=a>>>24,a=b[1224]|b[1225]<<8|b[1226]<<16|b[1227]<<24,o=b[1220]|b[1221]<<8|b[1222]<<16|b[1223]<<24,f[e+8|0]=o,f[e+9|0]=o>>>8,f[e+10|0]=o>>>16,f[e+11|0]=o>>>24,f[e+12|0]=a,f[e+13|0]=a>>>8,f[e+14|0]=a>>>16,f[e+15|0]=a>>>24,a=b[1216]|b[1217]<<8|b[1218]<<16|b[1219]<<24,o=b[1212]|b[1213]<<8|b[1214]<<16|b[1215]<<24,f[0|e]=o,f[e+1|0]=o>>>8,f[e+2|0]=o>>>16,f[e+3|0]=o>>>24,f[e+4|0]=a,f[e+5|0]=a>>>8,f[e+6|0]=a>>>16,f[e+7|0]=a>>>24,f[e+24|0]=0,F=t=F-48|0,a=A[i+12>>2];r:{e:if(e=A[r+16>>2]){for(o=r+16|0;;){if((0|(n=A[e+16>>2]))>(0|a)){if(e=A[e>>2])continue;break e}if((0|a)>(0|n)){if(e=A[e+4>>2])continue;break e}break}if((0|e)!=(0|o))break r}A[t+32>>2]=0,A[t+36>>2]=0,A[t+28>>2]=t+32,A[t+20>>2]=0,A[t+24>>2]=0,A[t+16>>2]=t+20,A[t+12>>2]=a,n=A[(c=t+12|0)>>2],u=t+40|0;e:{i:if(e=A[(k=r+12|0)+4>>2]){for(;;){if(r=e,(0|(a=A[e+16>>2]))>(0|n)){if(o=e,e=A[e>>2])continue;break i}if((0|a)>=(0|n)){a=r,r=0;break e}if(!(e=A[r+4>>2]))break}o=r+4|0}else r=o=k+4|0;if(a=ni(32),A[a+24>>2]=0,A[a+28>>2]=0,A[a+16>>2]=n,A[a>>2]=0,n=a+24|0,A[a+20>>2]=n,A[c+12>>2]){for(e=Ae(e=a+20|0,A[c+8>>2],e),A[a+24>>2]=e,A[e+8>>2]=n;n=e,e=A[e>>2];);A[a+20>>2]=n,A[a+28>>2]=A[c+12>>2]}A[a+8>>2]=r,A[a>>2]=0,A[a+4>>2]=0,A[o>>2]=a,(r=A[A[k>>2]>>2])&&(A[k>>2]=r),lr(A[k+4>>2],a),A[k+8>>2]=A[k+8>>2]+1,r=1}f[u+4|0]=r,A[u>>2]=a,e=A[t+40>>2],r=A[t+20>>2],A[t+40>>2]=t+16,ei(u,r),r=A[t+32>>2],A[t+12>>2]=t+28,ei(c,r)}F=r=(F=a=(F=o=(F=t+48|0)-32|0)-32|0)-16|0,(0|(u=(t=c=a+32|0)-(n=a+21|0)|0))<=9&&(k=61,(0|u)<(1-(p[2660]>1)|0))||(f[0|n]=49,t=n+1|0,k=0),A[r+12>>2]=k,A[r+8>>2]=t,A[a+12>>2]=A[r+8>>2],A[a+16>>2]=A[r+12>>2],F=r+16|0,a=He(o,r=A[a+12>>2]-n|0),r&&_(a,n,r),f[r+a|0]=0,F=c,A[o+16>>2]=i,A[o+28>>2]=e+20,n=A[o+28>>2];r:{e:if(e=A[n+4>>2]){for(k=(a=(0|(r=f[i+11|0]))<0)?A[i>>2]:i,t=a?A[i+4>>2]:r;;){if(r=e,1==(0|((l=Ve(k,c=(u=(0|(a=f[e+27|0]))<0)?A[e+16>>2]:e+16|0,s=(u=(a=u?A[e+20>>2]:a)>>>0<t>>>0)?a:t))?(0|l)<0:a>>>0>t>>>0))){if(a=e,e=A[e>>2])continue;break e}if(a=0,1!=(0|((e=Ve(c,k,s))?(0|e)<0:u))){e=r;break r}if(!(e=A[r+4>>2]))break}a=r+4|0}else r=a=n+4|0;e=ni(40),A[e>>2]=0,k=e+16|0,t=A[o+16>>2],f[t+11|0]>=0?(A[k+8>>2]=A[t+8>>2],c=A[t+4>>2],A[k>>2]=A[t>>2],A[k+4>>2]=c):wi(k,A[t>>2],A[t+4>>2]),A[e+36>>2]=0,A[e+28>>2]=0,A[e+32>>2]=0,A[e+8>>2]=r,A[e>>2]=0,A[e+4>>2]=0,A[a>>2]=e,(r=A[A[n>>2]>>2])&&(A[n>>2]=r),lr(A[n+4>>2],e),a=1,A[n+8>>2]=A[n+8>>2]+1}f[o+24|0]=a,A[o+20>>2]=e,r=A[o+20>>2],f[r+39|0]<0&&fr(A[r+28>>2]),A[r+36>>2]=A[o+8>>2],e=A[o+4>>2],A[r+28>>2]=A[o>>2],A[r+32>>2]=e,F=o+32|0,f[i+11|0]<0&&fr(A[i>>2]),F=i+16|0},ib:function(r,e){r|=0;var i,a=0,t=0,o=0;t=(i=F-32|0)+12|0,F=r=(F=i)-80|0,a=A[(e|=0)+36>>2],A[r+72>>2]=A[e+32>>2],A[r+76>>2]=a,a=A[e+28>>2],A[r+64>>2]=A[e+24>>2],A[r+68>>2]=a,a=A[e+20>>2],A[r+56>>2]=A[e+16>>2],A[r+60>>2]=a,a=A[e+12>>2],A[r+48>>2]=A[e+8>>2],A[r+52>>2]=a,a=A[e+4>>2],A[r+40>>2]=A[e>>2],A[r+44>>2]=a,K(r+12|0,r+40|0,r+28|0);r:if(e=A[r+12>>2]){if(A[t>>2]=e,e=t+4|0,f[r+27|0]>=0){A[e+8>>2]=A[r+24>>2],t=A[r+20>>2],A[e>>2]=A[r+16>>2],A[e+4>>2]=t;break r}if(wi(e,A[r+16>>2],A[r+20>>2]),f[r+27|0]>=0)break r;fr(A[r+16>>2])}else if(f[r+27|0]<0&&fr(A[r+16>>2]),(e=b[r+35|0])>>>0>=2){if(e=ni(32),f[e+26|0]=0,a=b[1526]|b[1527]<<8,f[e+24|0]=a,f[e+25|0]=a>>>8,a=b[1522]|b[1523]<<8|b[1524]<<16|b[1525]<<24,o=b[1518]|b[1519]<<8|b[1520]<<16|b[1521]<<24,f[e+16|0]=o,f[e+17|0]=o>>>8,f[e+18|0]=o>>>16,f[e+19|0]=o>>>24,f[e+20|0]=a,f[e+21|0]=a>>>8,f[e+22|0]=a>>>16,f[e+23|0]=a>>>24,a=b[1514]|b[1515]<<8|b[1516]<<16|b[1517]<<24,o=b[1510]|b[1511]<<8|b[1512]<<16|b[1513]<<24,f[e+8|0]=o,f[e+9|0]=o>>>8,f[e+10|0]=o>>>16,f[e+11|0]=o>>>24,f[e+12|0]=a,f[e+13|0]=a>>>8,f[e+14|0]=a>>>16,f[e+15|0]=a>>>24,a=b[1506]|b[1507]<<8|b[1508]<<16|b[1509]<<24,o=b[1502]|b[1503]<<8|b[1504]<<16|b[1505]<<24,f[0|e]=o,f[e+1|0]=o>>>8,f[e+2|0]=o>>>16,f[e+3|0]=o>>>24,f[e+4|0]=a,f[e+5|0]=a>>>8,f[e+6|0]=a>>>16,f[e+7|0]=a>>>24,A[r+12>>2]=-1,wi(r+16|0,e,26),a=f[r+27|0],A[t>>2]=A[r+12>>2],t=t+4|0,(0|a)>=0){A[t+8>>2]=A[r+24>>2],a=A[r+20>>2],A[t>>2]=A[r+16>>2],A[t+4>>2]=a,fr(e);break r}wi(t,A[r+16>>2],A[r+20>>2]),f[r+27|0]<0&&fr(A[r+16>>2]),fr(e)}else A[t+8>>2]=0,A[t+12>>2]=0,A[t>>2]=0,A[t+4>>2]=0,A[t+16>>2]=e;return F=r+80|0,r=A[i+28>>2],f[i+27|0]<0&&fr(A[i+16>>2]),F=i+32|0,0|r},jb:function(r,e,i){var a,t,b;r|=0,e|=0,i|=0,F=e=F-16|0,jr(e),A[r+24>>2]=A[e>>2],i=r+28|0,b=r+24|0,a=e+4|0,t=f[e+15|0];r:{e:{if(f[r+39|0]<0)qe(i,(r=(0|t)<0)?A[e+4>>2]:a,r?A[e+8>>2]:t);else{if((0|t)>=0)break e;_i(i,A[e+4>>2],A[e+8>>2])}if(f[e+15|0]>=0)break r;fr(A[e+4>>2]);break r}A[i+8>>2]=A[a+8>>2],r=A[a+4>>2],A[i>>2]=A[a>>2],A[i+4>>2]=r}return F=e+16|0,0|b},kb:function(r,e,i){var a,t,b;F=a=F-16|0,Y(a,r|=0,e|=0,i|=0),A[r+24>>2]=A[a>>2],e=r+28|0,b=r+24|0,i=a+4|0,t=f[a+15|0];r:{e:{if(f[r+39|0]<0)qe(e,(r=(0|t)<0)?A[a+4>>2]:i,r?A[a+8>>2]:t);else{if((0|t)>=0)break e;_i(e,A[a+4>>2],A[a+8>>2])}if(f[a+15|0]>=0)break r;fr(A[a+4>>2]);break r}A[e+8>>2]=A[i+8>>2],r=A[i+4>>2],A[e>>2]=A[i>>2],A[e+4>>2]=r}return F=a+16|0,0|b},lb:function(r){var e,i=0;F=e=F-16|0,(r|=0)&&(f[r+39|0]<0&&fr(A[r+28>>2]),i=A[r+16>>2],A[e+8>>2]=r+12,ki(e+8|0,i),i=A[r+4>>2],A[e+12>>2]=r,ei(e+12|0,i),fr(r)),F=e+16|0},mb:lf,nb:df,ob:yf,pb:Nf,qb:lf,rb:df,sb:yf,tb:Nf,ub:mf,vb:hf,wb:lf,xb:df,yb:yf,zb:df,Ab:yf,Bb:Nf,Cb:mf,Db:hf,Eb:function(){return 5},Fb:function(){return 6},Gb:function(){return 7},Hb:function(){return 8},Ib:function(){return 9},Jb:function(){return 10},Kb:function(){return 11},Lb:function(){return 12},Mb:df,Nb:lf,Ob:function(){return-2},Pb:function(){return-3},Qb:function(){return-4},Rb:function(){return-5}}}(r)}(e)},instantiate:function(r,e){return{then:function(i){var f=new c.Module(r);i({instance:new c.Instance(f,e)})}}},RuntimeError:Error,isWasm2js:!0};c.isWasm2js&&(n=[]);var u=!1;function _(r,e){r||v(e)}var s=r=>r.startsWith("file://");var p,l,y=!1;function d(){if(!l?.buffer?.resizable){var r=_i.buffer;i.HEAP8=l=new Int8Array(r),i.HEAP16=new Int16Array(r),i.HEAPU8=G=new Uint8Array(r),i.HEAPU16=new Uint16Array(r),i.HEAP32=new Int32Array(r),i.HEAPU32=N=new Uint32Array(r),i.HEAPF32=new Float32Array(r),i.HEAPF64=new Float64Array(r)}}function v(r){throw i.onAbort?.(r),k(r=`Aborted(${r})`),u=!0,r+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(r)}async function m(r,e,i){if(!r&&!s(e)&&!t)try{var f=fetch(e,{credentials:"same-origin"});return await c.instantiateStreaming(f,i)}catch(r){k(`wasm streaming compile failed: ${r}`),k("falling back to ArrayBuffer instantiation")}return async function(r,e){try{var i=await void 0;return await c.instantiate(i,e)}catch(r){k(`failed to asynchronously prepare wasm: ${r}`),v(r)}}(0,i)}var N,h=r=>{for(;r.length>0;)r.shift()(i)},R=[],W=[];class U{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){N[this.ptr+4>>2]=r}get_type(){return N[this.ptr+4>>2]}set_destructor(r){N[this.ptr+8>>2]=r}get_destructor(){return N[this.ptr+8>>2]}set_caught(r){r=r?1:0,l[this.ptr+12]=r}get_caught(){return 0!=l[this.ptr+12]}set_rethrown(r){r=r?1:0,l[this.ptr+13]=r}get_rethrown(){return 0!=l[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){N[this.ptr+16>>2]=r}get_adjusted_ptr(){return N[this.ptr+16>>2]}}var G,Z=(r,e)=>Math.ceil(r/e)*e,V=r=>{var e=(r-_i.buffer.byteLength+65535)/65536|0;try{return _i.grow(e),d(),1}catch(r){}},T=globalThis.TextDecoder&&new TextDecoder,F=(r,e,i)=>r?((r,e=0,i,f)=>{var a=((r,e,i,f)=>{var a=e+i;if(f)return a;for(;r[e]&&!(e>=a);)++e;return e})(r,e,i,f);if(a-e>16&&r.buffer&&T)return T.decode(r.subarray(e,a));for(var t="";e<a;){var A=r[e++];if(128&A){var b=63&r[e++];if(192!=(224&A)){var o=63&r[e++];if((A=224==(240&A)?(15&A)<<12|b<<6|o:(7&A)<<18|b<<12|o<<6|63&r[e++])<65536)t+=String.fromCharCode(A);else{var n=A-65536;t+=String.fromCharCode(55296|n>>10,56320|1023&n)}}else t+=String.fromCharCode((31&A)<<6|b)}else t+=String.fromCharCode(A)}return t})(G,r,e,i):"",j=[];i.print&&i.print,i.printErr&&(k=i.printErr),i.wasmBinary&&(n=i.wasmBinary);var E,Y,D,J,w,B,I,M,Q,g,O,X,C,z,H,P,S,x,L,K,q,$,rr,er,ir,fr,ar,tr,Ar,br,or,nr,kr,cr,ur,_r,sr,pr,lr,yr,dr,vr,mr,Nr,hr,Rr,Wr,Ur,Gr,Zr,Vr,Tr,Fr,jr,Er,Yr,Dr,Jr,wr,Br,Ir,Mr,Qr,gr,Or,Xr,Cr,zr,Hr,Pr,Sr,xr,Lr,Kr,qr,$r,re,ee,ie,fe,ae,te,Ae,be,oe,ne,ke,ce,ue,_e,se,pe,le,ye,de,ve,me,Ne,he,Re,We,Ue,Ge,Ze,Ve,Te,Fe,je,Ee,Ye,De,Je,we,Be,Ie,Me,Qe,ge,Oe,Xe,Ce,ze,He,Pe,Se,xe,Le,Ke,qe,$e,ri,ei,ii,fi,ai,ti,Ai,bi,oi,ni,ki,ci,ui,_i,si=i.preInit;if(si)for("function"==typeof si&&(i.preInit=si=[si]);si.length>0;)si.shift()();var pi,li={a:(r,e,i)=>{new U(r).init(e,i),v()},c:()=>v(""),b:r=>{var e=G.length,i=2147483648;if((r>>>=0)>i)return!1;for(var f=1;f<=4;f*=2){var a=e*(1+.2/f);a=Math.min(a,r+100663296);var t=Math.min(i,Z(Math.max(r,a),65536));if(V(t))return!0}return!1}};function yi(){}function di(r){return(r||yi).__cache__}function vi(r,e){var i=di(e),f=i[r];return f||((f=Object.create((e||yi).prototype)).ptr=r,i[r]=f)}pi=await async function(){function r(r){return function(r){i._webidl_free=r.f,i._free=r.g,i._webidl_malloc=r.h,i._malloc=r.i,E=i._emscripten_bind_VoidPtr___destroy___0=r.j,Y=i._emscripten_bind_DecoderBuffer_DecoderBuffer_0=r.k,D=i._emscripten_bind_DecoderBuffer_Init_2=r.l,J=i._emscripten_bind_DecoderBuffer___destroy___0=r.m,w=i._emscripten_bind_AttributeTransformData_AttributeTransformData_0=r.n,B=i._emscripten_bind_AttributeTransformData_transform_type_0=r.o,I=i._emscripten_bind_AttributeTransformData___destroy___0=r.p,M=i._emscripten_bind_GeometryAttribute_GeometryAttribute_0=r.q,Q=i._emscripten_bind_GeometryAttribute___destroy___0=r.r,g=i._emscripten_bind_PointAttribute_PointAttribute_0=r.s,O=i._emscripten_bind_PointAttribute_size_0=r.t,X=i._emscripten_bind_PointAttribute_GetAttributeTransformData_0=r.u,C=i._emscripten_bind_PointAttribute_attribute_type_0=r.v,z=i._emscripten_bind_PointAttribute_data_type_0=r.w,H=i._emscripten_bind_PointAttribute_num_components_0=r.x,P=i._emscripten_bind_PointAttribute_normalized_0=r.y,S=i._emscripten_bind_PointAttribute_byte_stride_0=r.z,x=i._emscripten_bind_PointAttribute_byte_offset_0=r.A,L=i._emscripten_bind_PointAttribute_unique_id_0=r.B,K=i._emscripten_bind_PointAttribute___destroy___0=r.C,q=i._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=r.D,$=i._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=r.E,rr=i._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=r.F,er=i._emscripten_bind_AttributeQuantizationTransform_min_value_1=r.G,ir=i._emscripten_bind_AttributeQuantizationTransform_range_0=r.H,fr=i._emscripten_bind_AttributeQuantizationTransform___destroy___0=r.I,ar=i._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=r.J,tr=i._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=r.K,Ar=i._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=r.L,br=i._emscripten_bind_AttributeOctahedronTransform___destroy___0=r.M,or=i._emscripten_bind_PointCloud_PointCloud_0=r.N,nr=i._emscripten_bind_PointCloud_num_attributes_0=r.O,kr=i._emscripten_bind_PointCloud_num_points_0=r.P,cr=i._emscripten_bind_PointCloud___destroy___0=r.Q,ur=i._emscripten_bind_Mesh_Mesh_0=r.R,_r=i._emscripten_bind_Mesh_num_faces_0=r.S,sr=i._emscripten_bind_Mesh_num_attributes_0=r.T,pr=i._emscripten_bind_Mesh_num_points_0=r.U,lr=i._emscripten_bind_Mesh___destroy___0=r.V,yr=i._emscripten_bind_Metadata_Metadata_0=r.W,dr=i._emscripten_bind_Metadata___destroy___0=r.X,vr=i._emscripten_bind_Status_code_0=r.Y,mr=i._emscripten_bind_Status_ok_0=r.Z,Nr=i._emscripten_bind_Status_error_msg_0=r._,hr=i._emscripten_bind_Status___destroy___0=r.$,Rr=i._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=r.aa,Wr=i._emscripten_bind_DracoFloat32Array_GetValue_1=r.ba,Ur=i._emscripten_bind_DracoFloat32Array_size_0=r.ca,Gr=i._emscripten_bind_DracoFloat32Array___destroy___0=r.da,Zr=i._emscripten_bind_DracoInt8Array_DracoInt8Array_0=r.ea,Vr=i._emscripten_bind_DracoInt8Array_GetValue_1=r.fa,Tr=i._emscripten_bind_DracoInt8Array_size_0=r.ga,Fr=i._emscripten_bind_DracoInt8Array___destroy___0=r.ha,jr=i._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=r.ia,Er=i._emscripten_bind_DracoUInt8Array_GetValue_1=r.ja,Yr=i._emscripten_bind_DracoUInt8Array_size_0=r.ka,Dr=i._emscripten_bind_DracoUInt8Array___destroy___0=r.la,Jr=i._emscripten_bind_DracoInt16Array_DracoInt16Array_0=r.ma,wr=i._emscripten_bind_DracoInt16Array_GetValue_1=r.na,Br=i._emscripten_bind_DracoInt16Array_size_0=r.oa,Ir=i._emscripten_bind_DracoInt16Array___destroy___0=r.pa,Mr=i._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=r.qa,Qr=i._emscripten_bind_DracoUInt16Array_GetValue_1=r.ra,gr=i._emscripten_bind_DracoUInt16Array_size_0=r.sa,Or=i._emscripten_bind_DracoUInt16Array___destroy___0=r.ta,Xr=i._emscripten_bind_DracoInt32Array_DracoInt32Array_0=r.ua,Cr=i._emscripten_bind_DracoInt32Array_GetValue_1=r.va,zr=i._emscripten_bind_DracoInt32Array_size_0=r.wa,Hr=i._emscripten_bind_DracoInt32Array___destroy___0=r.xa,Pr=i._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=r.ya,Sr=i._emscripten_bind_DracoUInt32Array_GetValue_1=r.za,xr=i._emscripten_bind_DracoUInt32Array_size_0=r.Aa,Lr=i._emscripten_bind_DracoUInt32Array___destroy___0=r.Ba,Kr=i._emscripten_bind_MetadataQuerier_MetadataQuerier_0=r.Ca,qr=i._emscripten_bind_MetadataQuerier_HasEntry_2=r.Da,$r=i._emscripten_bind_MetadataQuerier_GetIntEntry_2=r.Ea,re=i._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=r.Fa,ee=i._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=r.Ga,ie=i._emscripten_bind_MetadataQuerier_GetStringEntry_2=r.Ha,fe=i._emscripten_bind_MetadataQuerier_NumEntries_1=r.Ia,ae=i._emscripten_bind_MetadataQuerier_GetEntryName_2=r.Ja,te=i._emscripten_bind_MetadataQuerier___destroy___0=r.Ka,Ae=i._emscripten_bind_Decoder_Decoder_0=r.La,be=i._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=r.Ma,oe=i._emscripten_bind_Decoder_DecodeArrayToMesh_3=r.Na,ne=i._emscripten_bind_Decoder_GetAttributeId_2=r.Oa,ke=i._emscripten_bind_Decoder_GetAttributeIdByName_2=r.Pa,ce=i._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=r.Qa,ue=i._emscripten_bind_Decoder_GetAttribute_2=r.Ra,_e=i._emscripten_bind_Decoder_GetAttributeByUniqueId_2=r.Sa,se=i._emscripten_bind_Decoder_GetMetadata_1=r.Ta,pe=i._emscripten_bind_Decoder_GetAttributeMetadata_2=r.Ua,le=i._emscripten_bind_Decoder_GetFaceFromMesh_3=r.Va,ye=i._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=r.Wa,de=i._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=r.Xa,ve=i._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=r.Ya,me=i._emscripten_bind_Decoder_GetAttributeFloat_3=r.Za,Ne=i._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=r._a,he=i._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=r.$a,Re=i._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=r.ab,We=i._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=r.bb,Ue=i._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=r.cb,Ge=i._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=r.db,Ze=i._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=r.eb,Ve=i._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=r.fb,Te=i._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=r.gb,Fe=i._emscripten_bind_Decoder_SkipAttributeTransform_1=r.hb,je=i._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=r.ib,Ee=i._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=r.jb,Ye=i._emscripten_bind_Decoder_DecodeBufferToMesh_2=r.kb,De=i._emscripten_bind_Decoder___destroy___0=r.lb,Je=i._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=r.mb,we=i._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=r.nb,Be=i._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=r.ob,Ie=i._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=r.pb,Me=i._emscripten_enum_draco_GeometryAttribute_Type_INVALID=r.qb,Qe=i._emscripten_enum_draco_GeometryAttribute_Type_POSITION=r.rb,ge=i._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=r.sb,Oe=i._emscripten_enum_draco_GeometryAttribute_Type_COLOR=r.tb,Xe=i._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=r.ub,Ce=i._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=r.vb,ze=i._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=r.wb,He=i._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=r.xb,Pe=i._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=r.yb,Se=i._emscripten_enum_draco_DataType_DT_INVALID=r.zb,xe=i._emscripten_enum_draco_DataType_DT_INT8=r.Ab,Le=i._emscripten_enum_draco_DataType_DT_UINT8=r.Bb,Ke=i._emscripten_enum_draco_DataType_DT_INT16=r.Cb,qe=i._emscripten_enum_draco_DataType_DT_UINT16=r.Db,$e=i._emscripten_enum_draco_DataType_DT_INT32=r.Eb,ri=i._emscripten_enum_draco_DataType_DT_UINT32=r.Fb,ei=i._emscripten_enum_draco_DataType_DT_INT64=r.Gb,ii=i._emscripten_enum_draco_DataType_DT_UINT64=r.Hb,fi=i._emscripten_enum_draco_DataType_DT_FLOAT32=r.Ib,ai=i._emscripten_enum_draco_DataType_DT_FLOAT64=r.Jb,ti=i._emscripten_enum_draco_DataType_DT_BOOL=r.Kb,Ai=i._emscripten_enum_draco_DataType_DT_TYPES_COUNT=r.Lb,bi=i._emscripten_enum_draco_StatusCode_OK=r.Mb,oi=i._emscripten_enum_draco_StatusCode_DRACO_ERROR=r.Nb,ni=i._emscripten_enum_draco_StatusCode_IO_ERROR=r.Ob,ki=i._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=r.Pb,ci=i._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=r.Qb,ui=i._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=r.Rb,_i=r.d,r.__indirect_function_table}(pi=r.exports),d(),pi}var e={a:li},f=i.instantiateWasm;return f?new Promise(i=>{f(e,e=>i(r(e)))}):(p??=void 0,function(e){return r(e.instance)}(await m(n,p,e)))}(),await async function(){!function(){var r=i.preRun;r&&("function"==typeof r&&(r=[r]),W.push(...r)),h(W)}();var r=i.setStatus;r&&(r("Running..."),await new Promise(r=>setTimeout(r,1)),setTimeout(r,1,"")),u||(y=!0,h(j),pi.e(),i.onRuntimeInitialized?.(),function(){var r=i.postRun;r&&("function"==typeof r&&(r=[r]),R.push(...r)),h(R)}())}(),yi.prototype=Object.create(yi.prototype),yi.prototype.constructor=yi,yi.prototype.__class__=yi,yi.__cache__={},i.WrapperObject=yi,i.getCache=di,i.wrapPointer=vi,i.castObject=function(r,e){return vi(r.ptr,e)},i.NULL=vi(0),i.destroy=function(r){if(!r.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";r.__destroy__(),delete di(r.__class__)[r.ptr]},i.compare=function(r,e){return r.ptr===e.ptr},i.getPointer=function(r){return r.ptr},i.getClass=function(r){return r.__class__};var mi={buffer:0,size:0,pos:0,temps:[],needed:0,prepare(){if(mi.needed){for(var r=0;r<mi.temps.length;r++)i._webidl_free(mi.temps[r]);mi.temps.length=0,i._webidl_free(mi.buffer),mi.buffer=0,mi.size+=mi.needed,mi.needed=0}mi.buffer||(mi.size+=128,mi.buffer=i._webidl_malloc(mi.size),_(mi.buffer)),mi.pos=0},alloc(r,e){_(mi.buffer);var f,a=e.BYTES_PER_ELEMENT,t=r.length*a;return t=Z(t,8),mi.pos+t>=mi.size?(_(t>0),mi.needed+=t,f=i._webidl_malloc(t),mi.temps.push(f)):(f=mi.buffer+mi.pos,mi.pos+=t),f}};function Ni(r){if("string"==typeof r){for(var e=(a=r,b=A>0?A:(r=>{for(var e=0,i=0;i<r.length;++i){var f=r.charCodeAt(i);f<=127?e++:f<=2047?e+=2:f>=55296&&f<=57343?(e+=4,++i):e+=3}return e})(a)+1,o=new Array(b),n=((r,e,i,f)=>{if(!(f>0))return 0;for(var a=i,t=i+f-1,A=0;A<r.length;++A){var b=r.codePointAt(A);if(b<=127){if(i>=t)break;e[i++]=b}else if(b<=2047){if(i+1>=t)break;e[i++]=192|b>>6,e[i++]=128|63&b}else if(b<=65535){if(i+2>=t)break;e[i++]=224|b>>12,e[i++]=128|b>>6&63,e[i++]=128|63&b}else{if(i+3>=t)break;e[i++]=240|b>>18,e[i++]=128|b>>12&63,e[i++]=128|b>>6&63,e[i++]=128|63&b,A++}}return e[i]=0,i-a})(a,o,0,o.length),t&&(o.length=n),o),i=mi.alloc(e,l),f=0;f<e.length;f++)l[i+f]=e[f];return i}var a,t,A,b,o,n;return r}function hi(r){if("object"==typeof r){for(var e=mi.alloc(r,l),i=0;i<r.length;i++)l[e+i]=r[i];return e}return r}function Ri(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Wi(){this.ptr=Y(),di(Wi)[this.ptr]=this}function Ui(){this.ptr=w(),di(Ui)[this.ptr]=this}function Gi(){this.ptr=M(),di(Gi)[this.ptr]=this}function Zi(){this.ptr=g(),di(Zi)[this.ptr]=this}function Vi(){this.ptr=q(),di(Vi)[this.ptr]=this}function Ti(){this.ptr=ar(),di(Ti)[this.ptr]=this}function Fi(){this.ptr=or(),di(Fi)[this.ptr]=this}function ji(){this.ptr=ur(),di(ji)[this.ptr]=this}function Ei(){this.ptr=yr(),di(Ei)[this.ptr]=this}function Yi(){throw"cannot construct a Status, no constructor in IDL"}function Di(){this.ptr=Rr(),di(Di)[this.ptr]=this}function Ji(){this.ptr=Zr(),di(Ji)[this.ptr]=this}function wi(){this.ptr=jr(),di(wi)[this.ptr]=this}function Bi(){this.ptr=Jr(),di(Bi)[this.ptr]=this}function Ii(){this.ptr=Mr(),di(Ii)[this.ptr]=this}function Mi(){this.ptr=Xr(),di(Mi)[this.ptr]=this}function Qi(){this.ptr=Pr(),di(Qi)[this.ptr]=this}function gi(){this.ptr=Kr(),di(gi)[this.ptr]=this}function Oi(){this.ptr=Ae(),di(Oi)[this.ptr]=this}return Ri.prototype=Object.create(yi.prototype),Ri.prototype.constructor=Ri,Ri.prototype.__class__=Ri,Ri.__cache__={},i.VoidPtr=Ri,Ri.prototype.__destroy__=Ri.prototype.__destroy__=function(){var r=this.ptr;E(r)},Wi.prototype=Object.create(yi.prototype),Wi.prototype.constructor=Wi,Wi.prototype.__class__=Wi,Wi.__cache__={},i.DecoderBuffer=Wi,Wi.prototype.Init=Wi.prototype.Init=function(r,e){var i=this.ptr;mi.prepare(),"object"==typeof r&&(r=hi(r)),e&&"object"==typeof e&&(e=e.ptr),D(i,r,e)},Wi.prototype.__destroy__=Wi.prototype.__destroy__=function(){var r=this.ptr;J(r)},Ui.prototype=Object.create(yi.prototype),Ui.prototype.constructor=Ui,Ui.prototype.__class__=Ui,Ui.__cache__={},i.AttributeTransformData=Ui,Ui.prototype.transform_type=Ui.prototype.transform_type=function(){var r=this.ptr;return B(r)},Ui.prototype.__destroy__=Ui.prototype.__destroy__=function(){var r=this.ptr;I(r)},Gi.prototype=Object.create(yi.prototype),Gi.prototype.constructor=Gi,Gi.prototype.__class__=Gi,Gi.__cache__={},i.GeometryAttribute=Gi,Gi.prototype.__destroy__=Gi.prototype.__destroy__=function(){var r=this.ptr;Q(r)},Zi.prototype=Object.create(yi.prototype),Zi.prototype.constructor=Zi,Zi.prototype.__class__=Zi,Zi.__cache__={},i.PointAttribute=Zi,Zi.prototype.size=Zi.prototype.size=function(){var r=this.ptr;return O(r)},Zi.prototype.GetAttributeTransformData=Zi.prototype.GetAttributeTransformData=function(){var r=this.ptr;return vi(X(r),Ui)},Zi.prototype.attribute_type=Zi.prototype.attribute_type=function(){var r=this.ptr;return C(r)},Zi.prototype.data_type=Zi.prototype.data_type=function(){var r=this.ptr;return z(r)},Zi.prototype.num_components=Zi.prototype.num_components=function(){var r=this.ptr;return H(r)},Zi.prototype.normalized=Zi.prototype.normalized=function(){var r=this.ptr;return!!P(r)},Zi.prototype.byte_stride=Zi.prototype.byte_stride=function(){var r=this.ptr;return S(r)},Zi.prototype.byte_offset=Zi.prototype.byte_offset=function(){var r=this.ptr;return x(r)},Zi.prototype.unique_id=Zi.prototype.unique_id=function(){var r=this.ptr;return L(r)},Zi.prototype.__destroy__=Zi.prototype.__destroy__=function(){var r=this.ptr;K(r)},Vi.prototype=Object.create(yi.prototype),Vi.prototype.constructor=Vi,Vi.prototype.__class__=Vi,Vi.__cache__={},i.AttributeQuantizationTransform=Vi,Vi.prototype.InitFromAttribute=Vi.prototype.InitFromAttribute=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),!!$(e,r)},Vi.prototype.quantization_bits=Vi.prototype.quantization_bits=function(){var r=this.ptr;return rr(r)},Vi.prototype.min_value=Vi.prototype.min_value=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),er(e,r)},Vi.prototype.range=Vi.prototype.range=function(){var r=this.ptr;return ir(r)},Vi.prototype.__destroy__=Vi.prototype.__destroy__=function(){var r=this.ptr;fr(r)},Ti.prototype=Object.create(yi.prototype),Ti.prototype.constructor=Ti,Ti.prototype.__class__=Ti,Ti.__cache__={},i.AttributeOctahedronTransform=Ti,Ti.prototype.InitFromAttribute=Ti.prototype.InitFromAttribute=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),!!tr(e,r)},Ti.prototype.quantization_bits=Ti.prototype.quantization_bits=function(){var r=this.ptr;return Ar(r)},Ti.prototype.__destroy__=Ti.prototype.__destroy__=function(){var r=this.ptr;br(r)},Fi.prototype=Object.create(yi.prototype),Fi.prototype.constructor=Fi,Fi.prototype.__class__=Fi,Fi.__cache__={},i.PointCloud=Fi,Fi.prototype.num_attributes=Fi.prototype.num_attributes=function(){var r=this.ptr;return nr(r)},Fi.prototype.num_points=Fi.prototype.num_points=function(){var r=this.ptr;return kr(r)},Fi.prototype.__destroy__=Fi.prototype.__destroy__=function(){var r=this.ptr;cr(r)},ji.prototype=Object.create(yi.prototype),ji.prototype.constructor=ji,ji.prototype.__class__=ji,ji.__cache__={},i.Mesh=ji,ji.prototype.num_faces=ji.prototype.num_faces=function(){var r=this.ptr;return _r(r)},ji.prototype.num_attributes=ji.prototype.num_attributes=function(){var r=this.ptr;return sr(r)},ji.prototype.num_points=ji.prototype.num_points=function(){var r=this.ptr;return pr(r)},ji.prototype.__destroy__=ji.prototype.__destroy__=function(){var r=this.ptr;lr(r)},Ei.prototype=Object.create(yi.prototype),Ei.prototype.constructor=Ei,Ei.prototype.__class__=Ei,Ei.__cache__={},i.Metadata=Ei,Ei.prototype.__destroy__=Ei.prototype.__destroy__=function(){var r=this.ptr;dr(r)},Yi.prototype=Object.create(yi.prototype),Yi.prototype.constructor=Yi,Yi.prototype.__class__=Yi,Yi.__cache__={},i.Status=Yi,Yi.prototype.code=Yi.prototype.code=function(){var r=this.ptr;return vr(r)},Yi.prototype.ok=Yi.prototype.ok=function(){var r=this.ptr;return!!mr(r)},Yi.prototype.error_msg=Yi.prototype.error_msg=function(){var r=this.ptr;return F(Nr(r))},Yi.prototype.__destroy__=Yi.prototype.__destroy__=function(){var r=this.ptr;hr(r)},Di.prototype=Object.create(yi.prototype),Di.prototype.constructor=Di,Di.prototype.__class__=Di,Di.__cache__={},i.DracoFloat32Array=Di,Di.prototype.GetValue=Di.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Wr(e,r)},Di.prototype.size=Di.prototype.size=function(){var r=this.ptr;return Ur(r)},Di.prototype.__destroy__=Di.prototype.__destroy__=function(){var r=this.ptr;Gr(r)},Ji.prototype=Object.create(yi.prototype),Ji.prototype.constructor=Ji,Ji.prototype.__class__=Ji,Ji.__cache__={},i.DracoInt8Array=Ji,Ji.prototype.GetValue=Ji.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Vr(e,r)},Ji.prototype.size=Ji.prototype.size=function(){var r=this.ptr;return Tr(r)},Ji.prototype.__destroy__=Ji.prototype.__destroy__=function(){var r=this.ptr;Fr(r)},wi.prototype=Object.create(yi.prototype),wi.prototype.constructor=wi,wi.prototype.__class__=wi,wi.__cache__={},i.DracoUInt8Array=wi,wi.prototype.GetValue=wi.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Er(e,r)},wi.prototype.size=wi.prototype.size=function(){var r=this.ptr;return Yr(r)},wi.prototype.__destroy__=wi.prototype.__destroy__=function(){var r=this.ptr;Dr(r)},Bi.prototype=Object.create(yi.prototype),Bi.prototype.constructor=Bi,Bi.prototype.__class__=Bi,Bi.__cache__={},i.DracoInt16Array=Bi,Bi.prototype.GetValue=Bi.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),wr(e,r)},Bi.prototype.size=Bi.prototype.size=function(){var r=this.ptr;return Br(r)},Bi.prototype.__destroy__=Bi.prototype.__destroy__=function(){var r=this.ptr;Ir(r)},Ii.prototype=Object.create(yi.prototype),Ii.prototype.constructor=Ii,Ii.prototype.__class__=Ii,Ii.__cache__={},i.DracoUInt16Array=Ii,Ii.prototype.GetValue=Ii.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Qr(e,r)},Ii.prototype.size=Ii.prototype.size=function(){var r=this.ptr;return gr(r)},Ii.prototype.__destroy__=Ii.prototype.__destroy__=function(){var r=this.ptr;Or(r)},Mi.prototype=Object.create(yi.prototype),Mi.prototype.constructor=Mi,Mi.prototype.__class__=Mi,Mi.__cache__={},i.DracoInt32Array=Mi,Mi.prototype.GetValue=Mi.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Cr(e,r)},Mi.prototype.size=Mi.prototype.size=function(){var r=this.ptr;return zr(r)},Mi.prototype.__destroy__=Mi.prototype.__destroy__=function(){var r=this.ptr;Hr(r)},Qi.prototype=Object.create(yi.prototype),Qi.prototype.constructor=Qi,Qi.prototype.__class__=Qi,Qi.__cache__={},i.DracoUInt32Array=Qi,Qi.prototype.GetValue=Qi.prototype.GetValue=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),Sr(e,r)},Qi.prototype.size=Qi.prototype.size=function(){var r=this.ptr;return xr(r)},Qi.prototype.__destroy__=Qi.prototype.__destroy__=function(){var r=this.ptr;Lr(r)},gi.prototype=Object.create(yi.prototype),gi.prototype.constructor=gi,gi.prototype.__class__=gi,gi.__cache__={},i.MetadataQuerier=gi,gi.prototype.HasEntry=gi.prototype.HasEntry=function(r,e){var i=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),!!qr(i,r,e)},gi.prototype.GetIntEntry=gi.prototype.GetIntEntry=function(r,e){var i=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),$r(i,r,e)},gi.prototype.GetIntEntryArray=gi.prototype.GetIntEntryArray=function(r,e,i){var f=this.ptr;mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),i&&"object"==typeof i&&(i=i.ptr),re(f,r,e,i)},gi.prototype.GetDoubleEntry=gi.prototype.GetDoubleEntry=function(r,e){var i=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),ee(i,r,e)},gi.prototype.GetStringEntry=gi.prototype.GetStringEntry=function(r,e){var i=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),F(ie(i,r,e))},gi.prototype.NumEntries=gi.prototype.NumEntries=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),fe(e,r)},gi.prototype.GetEntryName=gi.prototype.GetEntryName=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),F(ae(i,r,e))},gi.prototype.__destroy__=gi.prototype.__destroy__=function(){var r=this.ptr;te(r)},Oi.prototype=Object.create(yi.prototype),Oi.prototype.constructor=Oi,Oi.prototype.__class__=Oi,Oi.__cache__={},i.Decoder=Oi,Oi.prototype.DecodeArrayToPointCloud=Oi.prototype.DecodeArrayToPointCloud=function(r,e,i){var f=this.ptr;return mi.prepare(),"object"==typeof r&&(r=hi(r)),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),vi(be(f,r,e,i),Yi)},Oi.prototype.DecodeArrayToMesh=Oi.prototype.DecodeArrayToMesh=function(r,e,i){var f=this.ptr;return mi.prepare(),"object"==typeof r&&(r=hi(r)),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),vi(oe(f,r,e,i),Yi)},Oi.prototype.GetAttributeId=Oi.prototype.GetAttributeId=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),ne(i,r,e)},Oi.prototype.GetAttributeIdByName=Oi.prototype.GetAttributeIdByName=function(r,e){var i=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),ke(i,r,e)},Oi.prototype.GetAttributeIdByMetadataEntry=Oi.prototype.GetAttributeIdByMetadataEntry=function(r,e,i){var f=this.ptr;return mi.prepare(),r&&"object"==typeof r&&(r=r.ptr),e=e&&"object"==typeof e?e.ptr:Ni(e),i=i&&"object"==typeof i?i.ptr:Ni(i),ce(f,r,e,i)},Oi.prototype.GetAttribute=Oi.prototype.GetAttribute=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),vi(ue(i,r,e),Zi)},Oi.prototype.GetAttributeByUniqueId=Oi.prototype.GetAttributeByUniqueId=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),vi(_e(i,r,e),Zi)},Oi.prototype.GetMetadata=Oi.prototype.GetMetadata=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),vi(se(e,r),Ei)},Oi.prototype.GetAttributeMetadata=Oi.prototype.GetAttributeMetadata=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),vi(pe(i,r,e),Ei)},Oi.prototype.GetFaceFromMesh=Oi.prototype.GetFaceFromMesh=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!le(f,r,e,i)},Oi.prototype.GetTriangleStripsFromMesh=Oi.prototype.GetTriangleStripsFromMesh=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),ye(i,r,e)},Oi.prototype.GetTrianglesUInt16Array=Oi.prototype.GetTrianglesUInt16Array=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!de(f,r,e,i)},Oi.prototype.GetTrianglesUInt32Array=Oi.prototype.GetTrianglesUInt32Array=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!ve(f,r,e,i)},Oi.prototype.GetAttributeFloat=Oi.prototype.GetAttributeFloat=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!me(f,r,e,i)},Oi.prototype.GetAttributeFloatForAllPoints=Oi.prototype.GetAttributeFloatForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ne(f,r,e,i)},Oi.prototype.GetAttributeIntForAllPoints=Oi.prototype.GetAttributeIntForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!he(f,r,e,i)},Oi.prototype.GetAttributeInt8ForAllPoints=Oi.prototype.GetAttributeInt8ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Re(f,r,e,i)},Oi.prototype.GetAttributeUInt8ForAllPoints=Oi.prototype.GetAttributeUInt8ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!We(f,r,e,i)},Oi.prototype.GetAttributeInt16ForAllPoints=Oi.prototype.GetAttributeInt16ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ue(f,r,e,i)},Oi.prototype.GetAttributeUInt16ForAllPoints=Oi.prototype.GetAttributeUInt16ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ge(f,r,e,i)},Oi.prototype.GetAttributeInt32ForAllPoints=Oi.prototype.GetAttributeInt32ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ze(f,r,e,i)},Oi.prototype.GetAttributeUInt32ForAllPoints=Oi.prototype.GetAttributeUInt32ForAllPoints=function(r,e,i){var f=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ve(f,r,e,i)},Oi.prototype.GetAttributeDataArrayForAllPoints=Oi.prototype.GetAttributeDataArrayForAllPoints=function(r,e,i,f,a){var t=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),f&&"object"==typeof f&&(f=f.ptr),a&&"object"==typeof a&&(a=a.ptr),!!Te(t,r,e,i,f,a)},Oi.prototype.SkipAttributeTransform=Oi.prototype.SkipAttributeTransform=function(r){var e=this.ptr;r&&"object"==typeof r&&(r=r.ptr),Fe(e,r)},Oi.prototype.GetEncodedGeometryType_Deprecated=Oi.prototype.GetEncodedGeometryType_Deprecated=function(r){var e=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),je(e,r)},Oi.prototype.DecodeBufferToPointCloud=Oi.prototype.DecodeBufferToPointCloud=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),vi(Ee(i,r,e),Yi)},Oi.prototype.DecodeBufferToMesh=Oi.prototype.DecodeBufferToMesh=function(r,e){var i=this.ptr;return r&&"object"==typeof r&&(r=r.ptr),e&&"object"==typeof e&&(e=e.ptr),vi(Ye(i,r,e),Yi)},Oi.prototype.__destroy__=Oi.prototype.__destroy__=function(){var r=this.ptr;De(r)},function(){function r(){i.ATTRIBUTE_INVALID_TRANSFORM=Je(),i.ATTRIBUTE_NO_TRANSFORM=we(),i.ATTRIBUTE_QUANTIZATION_TRANSFORM=Be(),i.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Ie(),i.INVALID=Me(),i.POSITION=Qe(),i.NORMAL=ge(),i.COLOR=Oe(),i.TEX_COORD=Xe(),i.GENERIC=Ce(),i.INVALID_GEOMETRY_TYPE=ze(),i.POINT_CLOUD=He(),i.TRIANGULAR_MESH=Pe(),i.DT_INVALID=Se(),i.DT_INT8=xe(),i.DT_UINT8=Le(),i.DT_INT16=Ke(),i.DT_UINT16=qe(),i.DT_INT32=$e(),i.DT_UINT32=ri(),i.DT_INT64=ei(),i.DT_UINT64=ii(),i.DT_FLOAT32=fi(),i.DT_FLOAT64=ai(),i.DT_BOOL=ti(),i.DT_TYPES_COUNT=Ai(),i.OK=bi(),i.DRACO_ERROR=oi(),i.IO_ERROR=ni(),i.INVALID_PARAMETER=ki(),i.UNSUPPORTED_VERSION=ci(),i.UNKNOWN_VERSION=ui()}var e;y?r():(e=r,j.push(e))}(),i.Decoder.prototype.GetEncodedGeometryType=function(r){if(r.__class__&&r.__class__===i.DecoderBuffer)return i.Decoder.prototype.GetEncodedGeometryType_Deprecated(r);if(r.byteLength<8)return i.INVALID_GEOMETRY_TYPE;switch(r[7]){case 0:return i.POINT_CLOUD;case 1:return i.TRIANGULAR_MESH;default:return i.INVALID_GEOMETRY_TYPE}},"function"==typeof i.onModuleParsed&&i.onModuleParsed(),i}})();return"object"==typeof exports&&"object"==typeof module?(module.exports=DracoDecoderModule,module.exports.default=DracoDecoderModule):"function"==typeof define&&define.amd&&define([],()=>DracoDecoderModule),DracoDecoderModule();